So, you have a beautiful WordPress site, but for some reason search engines like Google, Yahoo!, MSN and others don’t like it. Wonder why?
You’r site looks “cool” but is not optimized for search engines.
You have tried every way to optimize and have not succeeded?
Here I am!
I wrote this tutorial to show you how to improve the SEO of your WordPress site.
I made a list of steps that must follow for a proper optimization
How to SEO optimize WordPress:
WordPress gives you the freedom to set your links the way you want them to look like. In the administrative area of WordPress go to Settings -> Permalinks. On this page you can choose from several predefined options or use a custom structure for your links.

You can choose the Custom Structure option and enter /%postname%/ for example. This will make your links look like http://yourdomain.com/the-name-of-your-post/ . Or you can enter /%category%/%postname%/ if you want to include the name of your category in the URL. You can also add custom text or other WordPress variables. The full list of available variables that you can use in your permalinks can be found at the WordPress official website .
One favorable method for helping search engines find content that is relevant to a given web page is adding a “related posts” section that links to other posts that have a connected subject.
By doing so, you also have the primary benefit of showing your readers other posts that they may want to read as well.
Many WordPress plugins will automatically generate a list of related posts for each of your posts. There are way to many too mention here, but you can find a list in the WordPress plugins section at WordPress.org just by searching ” related posts “.
Yet Another Related Posts Plugin is my favorite because it gives you a templating system that allows control over how the related posts are displayed.
By default, WordPress usually puts the title of your blog before the actual post title. Since most search engines only display the first 50-64 characters of your <title> tag, you want the actual blog post title to come first.
Always be sure that the title of your post comes before anything else. Two main reasons are:
- Search engines will like you more if the title of the post comes first. This helps them put more importance to the keywords in the title.
- A descriptive and optimized title is one of the most important aspects of your page SEO. The title lets the search engine and users know exactly what this page is about before they visit it.

Use the All In One SEO plugin to keep the proper title formats over an entire blog without having to edit any template files.
You should enter the meta description for each one of your pages. Use simple but informative sentences. The search engines will check how relevant your description is to the actual content of your page so make sure that you describe only the current page and avoid adding irrelevant information in this description.
It is a good practice to categorize your posts in articles. Once you go to the Posts -> Categories page in your admin area, note the description field available for each category. WordPress will take what you enter in this field and insert it as meta description for the category.

Your best chance of getting a high ranking on a per-post basis is by manually typing in a good description for every article you write. Again, I would suggest using the All In One SEO plugin as it allows you to do this very easily. By combining a keyword-rich title with a matching description, you are bound to see an increase in search traffic.

As you can see in the two screenshots above, by optimizing meta descriptions, one of our pages is able ranked highly (withing the first 5-10 results in Google) for a particular search term. Now that you know the importance of a detailed and keyword-rich description.
Search engines give more weight to keyword items depending on what type of heading that is being used. To get the most juice out of your titles, make sure the post title is an <h1> .
The name of your blog should only be an <h1> on your front page. On single, post, and category pages, it should be no more than an <h3> , some even choose to use other HTML elements such as a <p> element to keep the markup semantic. The title of your site does not need to carry as much weight as the topic you are writing about.
To make sure your site name is only an <h1> on the home page, you can use the code below and modify it to work with your theme in the header.php file. This checks to see if you are on the home page or other pages and decides what heading tag to use. Most people use this link for the logo of the site linking back to the index.
<div id="logo"><?php if(is_home()) : ?> <h1><a href="<?php echo get_option('home'); ?>"><?php bloginfo('name'); ?></a></h1><?php else : ?><a href="<?php echo get_option('home'); ?>"><?php bloginfo('name'); ?></a><?php endif; ?></div>
When fixing your headings on posts or pages find the code that looks like this:
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
Headings are super easy to edit and are found in the single.php and page.php and various archive pages of your WordPress theme. If your current theme does not use headings in this manner, I suggest you take a few minutes to make this easy change.
It is essential to have the “title” and “alt” tags specified for each one of the images you use in your posts. The search engines will then know what this image is supposed to represent. Typing the title and alt tags for each image you use, however, can be a time-consuming task. Instead, you can use the handy SEO Friendly Images plugin.
Once you install the plugin, go to Settings -> SEO Friendly Images in your WordPress admin area. On this page you can specify the ALT and TITLE tags for your images. The plugin gives you the option to use internal variables such as %title , %name and %category . With them you can set the ALT and TITLE tags of your images to the title of your post for example. The plugin does the rest. This saves you a lot of time and keeps your images SEO-friendly.

Another often-neglected item in WordPress SEO is using proper and keyword-accurate alt and title attributes with images in a post or page. Adding a short description of your image using proper keywords can boost your search engine hits through image searches like the one from Google Images . Since you are using WordPress, adding alt and title attribute values to images is easy.
While saving your image, be sure to give a short and simple name with a dash between each keyword. For example, if you have a picture of a American muscle car, name it appropriately, such as american-muscle-car.jpg or american_muscle_car.jpg instead of something vague and non-descriptive like postimage03.jpg or screenshot20.jpg .
Once you place your image in a WordPress post or page, it will automatically use the title given as the proper alt description.

If it does not fill it in automatically, you can type a description in the title input field. By implementing these image attributes, it will also make it easier for people who use a screen reader to browse your site.
In summary: don’t neglect your images, name them properly, and assign meaningful title and alt attributes to them.
You should make sure that you use the <h1> tag only for the titles of your posts.
You should use a few <h2> tags and as many <h3> tags as you need for the other headings in your posts. Doing this will allow the search engines to index the important information from your website better. A good document has headings and subheadings, because headings make it easier to determine the subject of the page.
For blog websites the best SEO practice is to set the title of your post in a heading1 tag. Most of the good WordPress templates do that. If not, you should modify the theme in order to achieve a correct output of your pages.
Using breadcrumbs on a WordPress site is often overlooked but can be a huge benefit for your readers and for SEO. Links with good key words that relate to the post topic and links to internal web pages is one of the ways search engines determine the relevance of a web page to search terms.
By using breadcrumbs, you make it easier for the readers to navigate and help the search engines to discover the structure of your website. I use the Breadcrumbs Plugin written by Joost De Valk . It only takes about five minutes to set up.
An XML Sitemap is a listing of all the pages and posts on your website. This helps the search engine crawlers get a machine-readable structure of your websites. Having a properly structured sitemap has great benefits in the search engines.
Thanks to the massive amount of plugins, generating a sitemap with WordPress is super easy. I suggest using the XML Sitemaps .

This plugin will generate a special XML sitemap that will assist search engines like Google, Bing, Yahoo and Ask.com in more extensively and accurately indexing your posts and pages. The plugin supports various WordPress generated pages as well as custom URLs. Additionally, it notifies all major search engines every time you create a post about the new content by pinging them.
With WordPress showing the same posts on multiple pages like the index, tag pages, archives, author pages, and category pages, it is very easy to have duplicate content. Duplicate content, in the eyes of search engines, is frowned upon. By creating a robots.txt file, you can completely avoid this issue.
If you want to create your own robots.txt file, you can use the following:
User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: /feed Disallow: /comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*? Allow: /wp-content/uploads # Google Image User-agent: Googlebot-Image Disallow: Allow: /* # Google AdSense User-agent: Mediapartners-Google* Disallow: Allow: /* # Internet Archiver Wayback Machine User-agent: ia_archiver Disallow: / # digg mirror User-agent: duggmirror Disallow: / # SeoBugz User-agent: SeoBugzBot Disallow: / Sitemap: http://www.template-tuners.com/sitemap.xml.gz
A much easier way if you are not code-savvy is to use the Robots Meta plugin. This modifies the default one made by WordPress from your original install.
All that javascript and CSS you might have in your template files, move that to external javascripts and css files, and keep your templates clean, as they’re not doing your WordPress SEO any good. This makes sure your users can cache those files on first load, and search engines don’t have to download them most of the time.
Why use pages? Well for several reasons.
Pages are static and are not listed by date.
Pages do not use tags or categories.
The URL for a page looks like this: http://www.template-tuners.com/page-title/ and a post can be like this: http://www.template-tuners.com/2010/03/11/post-title/.
Then you probably want to rank on a term and posts have comments and that’s wrong. Comments destroy your carefully constructed keyword density.
That’s why you should to make pages, your important articles. That way, you can easily update them and do a new post about what you’ve changed.
Twitter is a cool form of micro-blogging / chatting / whatever you want to call it. Almost all the “cool” people are on there, and they read their tweets more often than they read their e-mail, if you even knew how to reach them through e-mail.
To boot, if you use WordTwit or Twitter Tools , all of your posts can be announced on Twitter, which will usually get you quite a few early readers! People will feel even more happy to comment on Twitter, which might get you into an extra conversation or two.
If you want to rank for certain keywords, go into Google Blogsearch , and see which blogs rank in the top 10 for those keywords. Read those blogs, start posting insightful comments, follow up on their posts by doing a post on your own blog and link back to them: communicate! The only way to get the links you’ll need to rank is to be a part of the community.
Need help? Got questions?
If you still need some help or simply don’t have the time to make these changes you can contact me and I will see what I can do to help you.
Want more money from your WordPress website/blog? Below is a list with best WordPress Plugins for Google Adsense:
Adsense Deluxe – offers advanced options for managing the automatic insertion of Google AdSense or Yahoo Publisher Network (YPN) ads to your WordPress posts. Easily switch all AdSense ads to a new color scheme across the entire site.
Adsense Injection – inserts Adsense code randomly into a pre-existing blog. Takes a random paragraph (or br tag) break in your article and inserts adsense code. It does one per story on multi-post pages (home, archive, category) and let’s you pick how many to show on single post pages.
Adsense Inline – inserts Google adsense in blog posts.
Shylock Adsense WordPress plugin – allows you to insert Adsense ads on your blog without modifying the template. Set it up to show different Adsense ads for articles older then ‘n’ days. E.g. insert a 468×60 ad at the bottom of a new article for regular readers, and replace with higher paying 336×280 ad after 7 days for the search engine visitors.
Adsense Beautifier – makes your Adsense look beautiful by placing images beside them to increase your clicks (CTR) and subsequent Adsense earnings. (May not be compliant with Adsense TOS now)
AdSense Widget for WordPress Sidebar – Google AdSense widget designed for the new WordPress Sidebar Widgets plug-in.
AdRotator Wordpress Plugin – rotates your adsense ads with other affiliate programs like Chitika Eminimalls wherever you want. Helps to reduce ad blindness and test different ad formats and affiliate programs.
Adsense Earnings Wordpress Plugin – displays your adsense earning details within wordpress admin panel.
AdSense Manager – is a Wordpress plugin for managing AdSense ads on your blog. It generates code automatically and allows positioning with Widgets.
AdSense Sharing Revenue and Earnings System – allows you to view your adsense earnings and share your adsense impressions with your friends and co-authors.
Author Adsense Wordpress Plugin – allows blog authors to enter their Google Adsense Publisher ID and have ads displayed on their own posts generating revenue. Admin can set the ratio of author’s ads to admin ads.
Author Adsense MU Plugin – Webmasters of Wordpress MU sites can generate adsense revenue from hosted blogs as this script allows you to set an admin ID and the ratio of admin ad’s to blogger’s ads.
Google Ad Wrap – wraps posts and comments inside Section Targeting tags for better targeted ads.
Below you will find the PHP code for generating a proffesional XML sitemap, compatible with Google Webmaster Tools. The PHP script connects to the Wordpress database, from where it gets all the Posts and post them in the XML.
The entire script is fully automatized, you only have to upload it in public_html. Easy ha!? ![]()
< ?php require('wp-blog-header.php');
header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true); ?>
< ?php echo ''; ?>
< ?php bloginfo('url') ?>
< ?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?>
always
1.0
< ?php $sitemap = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'publish' ORDER by post_modified DESC"); ?>
< ?php foreach ($sitemap as $sitemap) { ?>
< ?php echo get_permalink($sitemap->ID); ?>
< ?php echo mysql2date('Y-m-d\TH:i:s\Z', $sitemap->post_modified, false); ?>
daily
0.8
< ?php } ?>
Do you want to protect your flash with a copyright text or to include a link to your website in Adobe Right Click Menu?
In this tutorial I’ll show you the steps to create a Custom Right Click Menu.
Code for AS2:
function rightclickMenu(){}
function clickMenu2(){
getURL("http://www.template-tuners.com", _blank);
}
function clickMenu3(){
getURL("http://www.template-tuners.com/iblog/", _blank);
}
MENU = new ContextMenu();
MENU.hideBuiltInItems();
Functioned = new ContextMenuItem("© Template Tuners 2010", clickMenu);
Functioned2 = new ContextMenuItem("Tutorial By Template Tuners", clickMenu2);
Functioned3 = new ContextMenuItem("Template Tuners Blog", clickMenu3);
MENU.customItems.push(Functioned);
MENU.customItems.push(Functioned2);
MENU.customItems.push(Functioned3);
_root.menu = MENU;
Code for AS3:
AS3: – org > addons > CustomMenu.as
package org.addons{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
dynamic public class CustomMenu extends Sprite{;
public static var menuItem2:ContextMenuItem=new ContextMenuItem("Go Fullscreen");
public static var menuItem3:ContextMenuItem=new ContextMenuItem("Exit Fullscreen");
public static var cm:ContextMenu=new ContextMenu;
public static var year:Date=new Date;
public static var menuItem1:ContextMenuItem=new ContextMenuItem(year.getFullYear() + "Template Tuners");
public function CustomMenu() {
// la la la
}
public static function goToMainSite(param1:ContextMenuEvent):void {
var _loc_2:URLRequest;
_loc_2=new URLRequest("http://www.template-tuners.com");
navigateToURL(_loc_2,"_blank");
}
public static function buildMenu(stage:Object):CustomMenu {
var _loc_2:CustomMenu;
_loc_2=new CustomMenu ;
Global.data._game.addChild(_loc_2);
trace("RIGHT CLICK MENU ENABLED");
menuItem3.separatorBefore=true;
menuItem3.enabled=false;
menuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,goToMainSite);
menuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,goFullScreen);
menuItem3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,exitFullScreen);
cm.hideBuiltInItems();
cm.customItems.push(menuItem1,menuItem2,menuItem3);
Global.data._game.contextMenu=cm;
return _loc_2;
}
public static function goFullScreen(param1:ContextMenuEvent):void {
Global.data._game.displayState=StageDisplayState.FULL_SCREEN;
menuItem2.enabled=false;
menuItem3.enabled=true;
return;
}
public static function exitFullScreen(param1:ContextMenuEvent):void {
Global.data._game.displayState=StageDisplayState.NORMAL;
menuItem2.enabled=true;
menuItem3.enabled=false;
return;
}
}
}
WordPress Plugin: All in One SEO Pack
Optimizes your Wordpress blog for Search Engines. Download the latest plugin version here ».
WordPress Plugin: HeadSpace2 SEO
HeadSpace2 is an all-in-one meta-data manager that allows you to fine-tune the SEO potential of your site. Download the latest plugin version here ».
WordPress Plugin: Google XML Sitemaps
This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog. It supports all of the WordPress generated pages as well as custom ones. Everytime you edit or create a post, your sitemap is updated. Download the latest plugin version here ».
WordPress Plugin: Seo Watcher
Briefly said, Seo Watcher checks your daily Google rankings directly inside of Wordpress. Download the latest plugin version here ».
WordPress Plugin: SEO Smart Links
SEO Smart Links can automatically link keywords and phrases in your posts and comments with corresponding posts, pages, categories and tags on your blog. Download the latest plugin version here ».
WordPress Plugin: SEO No Duplicate
This simple plugin helps you easily tell the search engine bots the preferred version of a page by specifying the canonical properly within your head tag. Download the latest plugin version here ».
WordPress Plugin: SEO Friendly Images
SEO Friendly Images is a Wordpress optimization plugin which automatically updates all images with proper ALT and TITLE attributes if your images do not have ALT and TITLE already set. Download the latest plugin version here ».
WordPress Plugin: SEO Title Tag
SEO Title Tag makes is dead-easy to optimize the title tags across your WordPress-powered blog or website. Not just your posts, not just your home page, but any and every title tag on your site. Download the latest plugin version here ».
WordPress Plugin: Permalinks Moved Permanently
If you just migrated your Wordpress blog from one permalink structure to another, and you don’t want to lose Pagerank or traffic that accesses your blog through the old permalinks, this is for you. Download the latest plugin version here ».
WordPress Plugin: WP Chiclets
This sidebar widget provides a set of RSS chiclets for users to add your blog to their RSS reader. Download the latest plugin version here ».
WordPress Plugin: KB Robots.txt
This plugin should work with most versions of Wordpress, but it is particularly intended for WP-MU installations, since it allows each WPMU blog to have a unique robots.txt file. Download the latest plugin version here ».
WordPress Plugin: Ultimate Google Analytics
Plugin to add Google Analytics JavaScript to each page on your weblog without making any changes to your template. The plugin can also add tracking to outbound links, downloads from your own site and mailto: links. Download the latest plugin version here ».
Welcome to Template Tuners. My name is Axinte Adrian and this is my first post on Template Tuners Blog.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius tempor incididunt ut labore.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris Nullam pulvinar ultri malasuada quisque.
Lorem ipsum dolor sit amet | Learn more about all we can offer
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius tempor incididunt ut labore.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris Nullam pulvinar ultri malasuada quisque.
Lorem ipsum dolor sit amet | Learn more about all we can offer