After I wrote the article How to Create a Search Engine Friendly Website, a few visitors to thesitewizard.com, obviously blog owners, have asked me how they can make their WordPress blog more search engine friendly.
The good news is that the default installation of WordPress is already generally search engine friendly. If you wish, there are a few additional steps that you can take to improve that search engine readiness, while at the same time protecting your site's search engine visibility for the future.
The default installation of WordPress uses URLs like www.example.com/?p=1234 to point to your individual blog articles. While this works fine for modern search engines, changing the default so that your links look like www.example.com/category/title-of-post has a few additional benefits.
When your post title and category names are represented in your URLs or permalinks, the words that you use for your categories and titles automatically become keywords that the search engines can index every time someone links to you.
Before you dismiss this as being of minimal benefit, look at it this from both the blog owner's perspective as well as the average visitor's perspective. As the blog or website owner, you will undoubtedly prefer that your visitors link to you using your post title as the anchor text - for example, you may want people to link to you using HTML code like <a href="http://www.thesitewizard.com/gettingstarted/search-engine-friendly-wordpress-blog.shtml">How to Make Your WordPress Blog Search-Engine-Friendly</a> since such code gives your full title and yet links properly to your article. However, the reality is that when people talk about your article in other blogs, many of them simply link to it using the URL - for example, they may refer to this article simply as http://www.thesitewizard.com/gettingstarted/search-engine-friendly-wordpress-blog.shtml
When you put configure WordPress to place your category name and post title as part of your URL, even such links contain your title and keywords embedded in the URLs. As mentioned in one of my Google articles, Google takes into account the words given in the anchor text to determine if your page is relevant for any given search engine query. Admittedly, the help given in the anchor text is probably not enormous, but having it is better than the cryptic www.example.com/?p=1234 URL which neither gives keyword help to search engines nor describe your article adequately for human beings.
The lengthy text-based names for individual blog pages also help in making your blog future-proof. At this time, since you're reading this article, you are probably using WordPress as your blog software. But who can say what will happen in the future? You may find another blogging tool that you prefer. If you leave your URLs in the form of www.example.com/?p=1234, how will you maintain such a script-specific URL? The new software may assign another number to your blog entries when you import your existing blog database. This results in the URLs of your pages changing.
Changing URLs has enormous search engine ramifications. All the links from external sites that currently point to those pages will be instantly broken, and along with it, the "reputation" of that page in the eyes of the search engine. Sure, you can work around it with some mod_rewrite voodoo, but I personally prefer to pre-empt the problem by configuring WordPress to use page titles as the permalinks.
When you make your article page URLs appear as straightforward category-and-page-title URLs, if you ever change blog software, and find that you cannot configure the new software to create identical URLs, you can simply save all your old posts as ordinary static web pages using those exact filenames. The links to your old pages will then work without modification.
WordPress makes it easy for you to change your URLs, a.k.a. permalinks.
Log into your WordPress blog.
Click "Options". It's near the top of the screen.
Click "Permalinks". It's just below the line that says "Dashboard Write Manage..." (etc).
Before you change anything, make sure that you don't have a category that conflicts with one of WordPress' scripts or directory names. For example, check to see that you don't have a category by the name of wp-admin. If you do, you should change your category names first before proceeding.
Scroll down to the "Common options" section and select "Custom, specify below". In the box below, type "/%category%/%postname%/" without the opening and closing inverted commas (quotes). Click "Update Permalink Structure".
You should see a message that says, "Permalink structure updated". If you get a message that says something like "If this file were writable you could edit it" together with a box showing you the contents of a .htaccess file, it means that your web host configured PHP so that it could not write to your web directories.
One way to solve this is to copy the suggested .htaccess contents into an ASCII text editor like Notepad (on Windows), and save it as ".htaccess" (including the quotes if you are using Notepad on Windows). Then upload the file into your blog directory.
You can now view your blog and check the individual post pages to see your new site structure.
One of the recommendations in the article on How to Create a Search Engine Friendly Website is to make sure that your HTML title tags contain meaningful and relevant text. The HTML title tags in WordPress is created automatically from your post titles. In the default template, the blogging software appends your post title to the name of your blog and the words "Blog Archive", so that if your blog is called "XYZ Blog" and your post is called "How to Improve WordPress Search Engine Readiness", you get a title tag with the words "XYZ Blog » Blog Archive » How to Improve WordPress Search Engine Readiness".
While this is better than not having your post titles in the TITLE tag, the ideal is to have a title like "How to Improve WordPress Search Engine Readiness". That is, having your post title at the start of your TITLE tag is preferable, since this is the description that will be displayed in search engine results listing your site. You want your post title to be first in the description in this case because you want the user to immediately realize the relevance of your post to their query. Having the name of your blog as well as the word "Blog Archive" first in the post title is an unnecessary distraction.
Log into your WordPress account and click "Presentation".
Click the "Theme Editor" link.
Look at the right hand side of your browser window to locate the "Header" link, and click on it.
The browser should now display "Editing header.php". Somewhere in the box below this, locate the line that says
Change it to the following:
If you want to have the name of your blog at the end in the title, change it to the following instead:
Click the "Update File" button when you are through. You should receive the message "File edited successfully".
If you receive a message "If this file were writable you could edit it", it means that your web host has configured PHP so that it cannot write to your web directory. Copy and paste the contents of the file to an ASCII text editor as before, save it as "header.php" (including the quotes if you are using Notepad on Windows) and upload it to your themes directory. If you are using the default theme, this should be in the "wp-content/themes/default" folder. Overwrite the existing header.php file.
With these two trivial steps, you have drastically improved the search engine friendliness of your blog. Be sure to read the rest of the How to Create a Search Engine Friendly Website article to get more general tips for your blog.
Do you find this article useful? You can learn of new articles and scripts that are published on thesitewizard.com by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at http://www.thesitewizard.com/thesitewizard.xml. You can read more about how to subscribe to RSS site feeds from my RSS FAQ.
This article is copyrighted. Please do not reproduce this article in whole or part, in any form, without obtaining my written permission.
It will appear on your page as: