How To Make Your Wordpress Blog Search Engine Friendly

A successful blog post's life cycle starts with an empty draft and ends up in top rankings for popular keywords - consistently for a long period of time. No doubt your writing skills churns out a gem every time, BUT it may not rule the SERPs if you ignore some of the most essential search engine optimization tips. Wordpress is in itself a search engine friendly content management system, but it requires some tweaks and adjustments to completely leverage the power of this popular blog publishing software. Let's see, how to do it.

Wordpress Logo


We write for humans, and they look for relevant information through different means. One of such means is search engine. We cannot afford to ignore the fact that organic traffic is and will remain the primary source of visitors for almost every site despite addition of new dimensions to this ever-changing web ecosystem. If your blog is well optimized for search engines, you are bound to get more traffic and that too - highly targeted, that can bring you more sales and conversions. So let's get started and see how to turn our stagnant Wordpress blog into a powerhouse.

Optimized Title Tags

Catchy headlines attract immediate attention of the readers. Visitors from search engines are more likely to click your post, if you've crafted the perfect title tag for each and every article. By default, the structure of title tag isn't SEO-friendly.

<title><?php wp_title(); ?><?php bloginfo(‘name’); ?></title>

This way, your title tag is formatted as 'Your Blog Name » Title of the Page', which is the least you require to optimize your blog posts. On a fresh Wordpress install, this setting is applicable to every page generated by you or by the CMS itself (category and archives page).

You can easily override the default settings with the optimized version either with the help of plugins or through directly hard-coding the following code in the header file (header.php). This ensures that the effect is reflected across the entire site/blog.

<title>
<?php
if (is_home()) {
echo bloginfo('description'); echo ' | '; echo bloginfo(’name’);
} elseif (is_archive()) {
echo the_search_query(); echo ' | '; echo bloginfo(’name’);
} elseif (!(is_404()) && (is_single()) || (is_page())) {
wp_title(''); echo ' | '; echo bloginfo(’name’);
} elseif (is_category()) {
echo single_cat_title(); echo ' | '; echo bloginfo(’name’);
} elseif (is_month()) {
echo the_time(’F'); echo ' | '; echo bloginfo(’name’);
} elseif (is_tag()) {
echo single_tag_title(); echo ' | '; echo bloginfo(’name’);
} elseif (is_404()) {
echo 'Not Found | '; echo bloginfo(’name’);
}
?>
</title>


Once applied, this code ensures that you get the most optimized title for each type of page generated by Wordpress. It will also help you rank better in search results as well as getting attention of potential visitors.

Accurate Meta Description

There are several meta tags associated with a web page and one of them is 'description tag'. Although this tag doesn't directly affect your rankings, but it does play a very important role in how your post is listed in result pages.
Meta description
All major search engines display preview snippets along with page title as shown above. Sometimes this snippet is picked from the meta description tag and the deciding factor is largely dependent on the search term/query typed by the visitor. The more relevant and alluring is your description the more is the probability that visitor will click and see your post. An optimal length for description is anywhere between 140-160 characters. One thing more - not every of your page requires description tag (archives/category).

Better Permalink Structure

The default permalink structure of Wordpress helps neither a visitor nor search engines. It's cryptic and is generated dynamically associating post id as a variable to the url of the post. Something like shown below.

http://yourdomain.com/?p=123

To give a better understanding what exactly a post talks about, you must change the default permalink structure. You can change it through 'Dashboard > Settings > Permalinks'. Choose 'Custom Structure' for modify the permalink setting. Some of the popular permalink structures are shown below. It's up to you which one suits you.

/%postname%/
/%category%/%postname%/
/%year%/%monthnum%/%day%/%postname%/


Notice a trailing forward slash at the end of each permalink structure. This indicates the end of url and helps in reducing additional HTTP requests by the server thus speeding up your blog.

Short and Effective Post Slug

Every Wordpress post is accessed through an absolute url where the last part describes the post topic. By default, its generated automatically from the post title. Normally it is not optimized for search engines and includes unnecessary and sometimes redundant words/phrases. Fortunately, we can modify the post slug (as shown below) to get a optimized post url.

Post Slug

Once applied the above post's permalink will be:
http://yourdomain.com/common-writing-mistakes/
instead of:
http://yourdomain.com/10-common-mistakes-when-writing-post/

Try to keep your post slug as short as possible and make sure you've included the key phrase you're targeting. The best way is to include a phrase a general visitor may type-in to search for a particular topic.

Clever Anchor Texts

This is a powerful tactic and is often overlooked by newbies. Here I'm talking about clickable link text/label created within a blog post. Sometimes they're pointing outside your domain and sometimes they're referring your old content. Whatever is the case, an optimized anchor text helps both visitors and search engines in correctly assessing the page it is pointing.

Use a key-phrase consisting up to 2-3 words that correctly explains what it is referring to. If you look carefully, you may find some optimized anchor texts right within this post. Can you identify them?

Necessary NoFollow Links

When used properly, 'nofollow' attribute helps spread link equity evenly across your domain. It also helps in preventing flow of link juice to unwanted directions. Here are some important situations where you may use this attribute for maximum SEO benefit.
  • Less important pages - You may want to 'nofollow' some less important pages such as contact, advertise or about pages. There link is present almost on every page and normally it is a good strategy to 'nofollow' them.
  • Redundant links - It may happen that two or more links point to the same page within a single blog post. There's no need to pass link juice for every duplicate entry. Simply 'nofollow' each one of them keeping one with optimized anchor text.
  • Advertisements - Now this is quite obvious. Paid links MUST never pass link juice else you may end up getting your site banned on major search engines. If you're having a paid link on your blog, 'nofollow' it without any question.
  • Comments or user-generated content - Today you can find large number of 'dofollow' blogs. I personally don't support it as it's against the very essence of providing quality content to webizens on the basis of votes that involves links as one of the major factors in deciding the contents worth.
  • Grey links - Sometimes you may write about a site/blog that you may not want to pass the link juice. This can be a spammer, a hard-hitting rival or a shady site. In such cases, don't hesitate to use 'nofollow' to avert passing of link juice.

Optimized Robots.txt

It's a simple text file present at the root directory of any website. As the name suggests, robots.txt control how spiders and various bots crawl and index your blog. It's a very powerful tool through which you can avoid indexing of unnecessary and duplicate content. Here's a sample robots.txt file.

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-*
Disallow: /feed/
Disallow: /trackback/
Disallow: /rss/
Disallow: /tag/
Disallow: /cgi-bin/
Disallow: /*trackback
Disallow: /*.css
Disallow: /author/
Disallow: /comments/
Disallow: /*?*
Disallow: /*?
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$

User-agent: Googlebot-Image
Allow: /wp-content/uploads/

User-agent: ia_archiver
Disallow: /

User-agent: duggmirror
Disallow: /

Sitemap: http://yourdomain.com/sitemap.xml


Through this file you can block various spam bots and can fine-tune which directories or type of files should be crawled and indexed. Here's a good robots.txt tutorial for beginners.

Dealing With Canonicalization Issues

Another problem that needs your attention is multiple urls pointing to same content/web page. This can be a huge blow to on-site optimization efforts if not corrected in time. To understand it better, take a look at the following list.

yourdomain.com
yourdomain.com/
www.yourdomain.com
www.yourdomain.com/
http://yourdomain.com
https://yourdomain.com
http://www.yourdomain.com
https://www.yourdomain.com

http://www.yourdomain.com/abc.html?lang=br
http://www.yourdomain.com/abc.html?lang=en


On the surface, it may look that these urls are pointing to the same location, BUT search engines may see them as different destinations. If not configured properly, this may lead to confusion and conflict for crawlers (duplicate content) and may also result in page rank split across multiple urls for same destination. How to get get rid of this problem such that all similar urls lead to one single url of your preference avoiding any kind of confusion for spiders. Solution is simple - .htaccess file. Like robots.txt, this file is also present in the root directory of your blog. With some simple directives through this file, you can fix all Canonicalization Issues.

For example, if you want all your non-www urls to automatically redirect to www version or vice versa, i.e. redirecting www version to non-www version, you can use the following directives in your .htaccess file that issues a 301 permalink redirect for every single url across your domain.


Options +FollowSymLinks
RewriteEngine On
RewriteBase /

#Redirect non-www to www

RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

#Redirect www to non-www

RewriteCond %{HTTP_HOST} !^yourdomain\.com
RewriteRule (.*) http://yourdomain/$1 [R=301,L]


This is just one simple example dealing with Canonicalization issue. There are several other things you may want to to with available .htaccess directives. For example, you may want to block hot-linking of media files that takes away your precious bandwidth and increases server load. It can be done with a simple directive through .htaccess file.

Including Breadcrumbs

Breadcrunbs are hierarchical (theoretically) navigation links that aids in easy browsing within a website as shown below. These links helps you get an idea about where you are and what can you expect as you go down further or go backwards.
Example of breadcrumbs
Breadcrumbs can be made resembling the actual physical directory structure or it may be based on logical partitioning of different sections. In any case, it gives a clear view of the site structure and gives a better browsing experience to the visitor.
Example of breadcrumbs in Google result pages
From SEO perspective too, it is very important. These navigational links aids in better crawling of the site. In case, some of your pages are not indexed due to unknown sitemap errors, these breadcrumbs make sure your every single page in indexed properly. Google also picks up breadcrumbs and shows in result pages as shown above.

No Comment Pages

Wordpress give you an option to paginate your post comments. By default, this option is disabled and I'll strongly suggest you to keep it that way. In fact 90% of blogs (low or medium volume of comments) don't need this. The problem with comment pages is duplicate content. Each comment page (except the first one) is a duplicate entry of the original post. Unless until you get very high number of comments, keep this option disabled, otherwise you may risk of getting your blog penalized for generating duplicate content.

Up-to-Date Accessible Sitemap

And last but not the least is your blog's sitemap. Keep it updated so that bots and crawlers can easily get information about your site's structure. You can use various popular sitemap maintenance plugins that automatically updates the sitmap every time you generate new content.

Make sure you've set the correct file permissions for your sitemap. A simple directive within robots.txt (see above) indicates crawlers where to look for a sitemap.

What Else?

These are some of the most essential search engines optimization techniques necessary for every Wordpress blog. There are many more and I'd like to add to the list through your comments.

Image Credit: Huasonic

If you enjoyed this article, get email updates (it's free).

blog comments powered by Disqus

NEXT POST: Newer Post PREVIOUS POST: Older Post Home
 

About Rajeev Edmonds

MintBlogger author - Rajeev EdmondsRajeev Edmonds has been blogging since 2006 about digital marketing, social media and of course about problogging. He specializes in WordPress installation and Thesis theme customization. He is the founder and editor of MintBlogger where he blogs about new media strategies.

Since April, 2012, he's making his living entirely from his blogging efforts. He holds a post graduate degree in computer applications and loves to dig in CSS/HTML code. Read more →

Get Custom Design For Your Blog

Website showcase Nothing converts better then a unique blog design with a branded look n' feel.

Get a unique design for your blog that brings more leads and prospects for your business. Give a new skin to your existing theme to stand out in the crowd. Change theme and see the difference!

Request a Free Quote NOW!

Start Your WordPress Blog

WordPress logo Are you planning to start your own self-hosted WordPress blog? You can get one today!

This is right time to get started. Claim complete control over your WordPress blog hosted on a reliable and powerful web server. Be the owner of your WordPress blog without any restrictions.

Claim Your Free Blog Setup NOW!