Page 1 of 212

It’s not every day that we wright a post about SEO (or any post for that matter) but dealing with SEO-conscious clients has made us realize the amount of misconceptions floating around out there. That being said, this is our attempt to set the record straight.

Meta Tags and Keywords

It’s not uncommon at all that we have clients request that we bombard their header section with a ton of meta keywords. Not long ago, the meta keywords attribute played a huge role in SEO, but these days, that’s far from the truth. Google is on the record saying that they no longer pay attention to meta keywords tag, thus making the keyword stuffing official outdated.  This method was phased out mainly because of the abuse it underwent by people including irreverent or misleading keywords to lure unsuspected web surfers to their pages.

This also applies to general keyword stuffing around pages. Years ago if you loaded up a page with tons of keywords that would hep you in the area of SEO greatly. People used to often (And actually still do) hide text by changing the color so it blends into the background color of the site, and then just load it up with keywords. It used to be a great way to trick the search engines, but today not only is it annoying, it doesn’t work. Since the era of keyword stuffing search engine’s algorithms have become much more complex.

Let’s be honest, if you care about SEO and you care about your visitors, stop loading up pages with keywords and focus more on accurate content.

Spamming

Got Spam? We bet you do. It’s far from rare that we see robots and malicious web users aggressively placing their links in comment forms around the web. If you’re a blog owner chances are you know exactly what we’re talking about. Not only does this tactic not work, it’s very annoying… So please just STOP. Any way, Google has addressed this issue by assigning the “nofollow” link tag to blog comment links. That greatly devalues the links within blog comment areas.

Submitting Your Site

Search engine submission is not necessary. Google will find you. In fact, Google’s ability to search out new sites is so advanced there’s really nothing needed on your part to get found. Getting inbound links will help the process and is much more effective than submitting your site. Try it out; toss a link on Facebook or Twitter.

20 Fresh High Quality Free Fonts

Kilogram
A very bold, striking and unique font which may perfectly serve for headlines. The font can be downloaded and used free of charge for both non-commercial and commercial work.

Fonts-135 in 20 Fresh High Quality Free Fonts

Kg in 20 Fresh High Quality Free Fonts

Luxi Sans
A very clean and legible sans-serif font that can be used for headings and body copy.

Fonts-11 in 20 Fresh High Quality Free Fonts

Otari Bold Limited (Registration is required)
Otari is vibrant and contemporary, but serious and built to last. Its character shines in display type, but doesn’t interfere at text sizes. Otari Bold Limited is available for free download.

Fonts-132 in 20 Fresh High Quality Free Fonts

Museo Slab 500 and 500 Italic (Registration is required, PDF Specimen)
Museo Slab is robust slab serif which comes in 12 styles. The font family supports a very wide range in languages and is a complete OpenType typeface. Each weight counts 455 glyphs.

Fonts-10 in 20 Fresh High Quality Free Fonts

Adelle Bold and Adelle Bold Italic (Registration is required, discount code is provided)
The OpenType Basic version, full commercial licence, of Adelle Bold and Bold Italic can be downloaded free of charge. Adelle is a slab serif typeface conceived specifically for intensive editorial use, mainly in newspapers and magazines. The typeface can be used for subheadings and headlines.

Fonts-04 in 20 Fresh High Quality Free Fonts

Read more over at Smashing Magazine

I just came across this icon set and thought it was really nice. Here are some details:

42 high quality icons for your web application, software or GUI design.

Sizes: 64х64, 48×48, 32х32 & 16х16.
Formats: Windows, Mac OS and Png. Read more

WordPress is quickly becoming the leader in blogging and CMS technology. Over the past few years there have been more and more blogs and websites sprouting up using WordPress as their CMS system. These blogs range from small, personal sites to large corporate sites such as Yahoo, Playstation and The New York Times. That being said, it’s only natural that we seek little tweaks and tricks to get our WordPress sites to preform exactly as we’d like. Below are 5 quick and very useful little tweaks that can make a big impact on your WordPress site.

Custom “Read More” Links

This is a question I come across a lot. People want to break out of the ordinary “Read More” link, which leads to their post, and come up with something a little more creative. Well, it’s really simple if you follow these steps. The first step is to edit your posts and use a new custom field called “readmore” – the value being what you want to display instead of the standard “Read More”. Next, open up your index.php, category.php, archive.php and search.php and look for a line similar to this:

the_content("Read more");

And replace that line with this:

<?php $readmore = get_post_meta($post->ID, 'readmore', true); ?>
<?php if (!$readmore) { $readmore = 'Read More &raquo;'; } ?>
<?php the_content($readmore); ?>

Allow Only Your IP Address To Access The Admin Area

Security within WordPress is always a concern. This is a wonderful technique for anyone who is the sole administrator of their site, and doesn’t have anyone accessing the administrative area from any location other than their own. All you have to do is add your IP on line 8. You can add multiple IP Addresses if needed.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>

Source

Add an Author Bio to Each Post

If you have multiple contributors to your site, this is an excellent method to distinguish who’s who. This will help your readers understand a little more about the author and in many cases help them relate as well. Some themes come equipped with this feature, but if yours doesn’t, simply add the following to your functions.php file:

function get_author_bio ($content=''){
    global $post;

    $post_author_name=get_the_author_meta("display_name");
    $post_author_description=get_the_author_meta("description");
    $html="<div class='clearfix' id='about_author'>\n";
    $html.="<img width='80' height='80' class='avatar' src='http://www.gravatar.com/avatar.php?gravatar_id=".md5(get_the_author_email()). "&default=".urlencode($GLOBALS['defaultgravatar'])."&size=80&r=PG' alt='PG'/>\n";
    $html.="<div class='author_text'>\n";
    $html.="<h4>Author: ".$post_author_name."</h4>\n";
    $html.= $post_author_description."\n";
    $html.="</div>\n";
    $html.="<div class='clear'></div>\n";
    $content .= $html;
    }

    return $content;
}

add_filter('the_content', 'get_author_bio');

Source

Customize Your Login Page

As nice as the WordPress logo is, it doesn’t hurt to put your own into the login page instead. This will give your site a more customized appearance and make your users / contributors who log in feel that they are at a more specific, rather than generic, site. Just place the following in your functions.php file and replace the image url:

function my_custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }
    </style>';
}

add_action('login_head', 'my_custom_login_logo');

Source

Monitor your server in WordPress dashboard

Everyone is concerned about their site’s performance. What better solution than to monitor your server right from your dashboard? This nifty tweak will create a dashboard widget that will do just that. Add this to your functions.php file:

function slt_PHPErrorsWidget() {
$logfile = ‘/home/path/logs/php-errors.log’; // Enter the server path to your logs file here
$displayErrorsLimit = 100; // The maximum number of errors to display in the widget
$errorLengthLimit = 300; // The maximum number of characters to display for each error
$fileCleared = false;
$userCanClearLog = current_user_can( ‘manage_options’ );
// Clear file?
if ( $userCanClearLog && isset( $_GET["slt-php-errors"] ) && $_GET["slt-php-errors"]==”clear” ) {
$handle = fopen( $logfile, “w” );
fclose( $handle );
$fileCleared = true;
}
// Read file
if ( file_exists( $logfile ) ) {
$errors = file( $logfile );
$errors = array_reverse( $errors );
if ( $fileCleared ) echo ‘<p><em>File cleared.</em></p>’;
if ( $errors ) {
echo ‘<p>’.count( $errors ).’ error’;
if ( $errors != 1 ) echo ‘s’;
echo ‘.’;
if ( $userCanClearLog ) echo ‘ [ <b><a href="'.get_bloginfo("url").'/wp-admin/?slt-php-errors=clear" onclick="return confirm(\'Are you sure?\');">CLEAR LOG FILE</a></b> ]‘;
echo ‘</p>’;
echo ‘<div id=”slt-php-errors” style=”height:250px;overflow:scroll;padding:2px;background-color:#faf9f7;border:1px solid #ccc;”>’;
echo ‘<ol style=”padding:0;margin:0;”>’;
$i = 0;
foreach ( $errors as $error ) {
echo ‘<li style=”padding:2px 4px 6px;border-bottom:1px solid #ececec;”>’;
$errorOutput = preg_replace( ‘/\[([^\]]+)\]/’, ‘<b>[$1]</b>’, $error, 1 );
if ( strlen( $errorOutput ) > $errorLengthLimit ) {
echo substr( $errorOutput, 0, $errorLengthLimit ).’ [...]‘;
} else {
echo $errorOutput;
}
echo ‘</li>’;
$i++;
if ( $i > $displayErrorsLimit ) {
echo ‘<li style=”padding:2px;border-bottom:2px solid #ccc;”><em>More than ‘.$displayErrorsLimit.’ errors in log…</em></li>’;
break;
}
}
echo ‘</ol></div>’;
} else {
echo ‘<p>No errors currently logged.</p>’;
}
} else {
echo ‘<p><em>There was a problem reading the error log file.</em></p>’;
}
}

// Add widgets
function slt_dashboardWidgets() {
wp_add_dashboard_widget( ‘slt-php-errors’, ‘PHP errors’, ‘slt_PHPErrorsWidget’ );
}
add_action( ‘wp_dashboard_setup’, ‘slt_dashboardWidgets’ );

Source

Page 1 of 212