Setting Up WordPress for SEO
WordPress out of the box comes SEO friendly, however there are many tweaks you can make to further optimize it for search engines. We recently covered 10 important tips to optimize wordpress for search engines, however this post will go more in-depth and offering further optimization tips.
Here are a number of advanced tweaks and WordPress plugins you can install to help with URL structuring, search engine crawling, handling duplicate content, optimizing title and meta tags, images and internal linking.
Setting Up the Permalink Structure
In WordPress: Settings >> Permalinks
WordPress gives you a number of ways you can structure your post urls. By default WordPress sets the urls like www.domain.com/?p=123. This is obviously not optimal because you are not gaining the benefits of having keywords in the url.
They also have options to set the urls organized by year/month/date, for example www.domain.com/2010/02/07/sample-post/. This is getting better, because you are able to add a unique post name in the url, however the post is four directories deep which can cause potential crawling issues.
The most effective way to optimize your urls is by using the custom permalink structure. Choose “Custom Structure” and enter “/%postname%/ “. By setting this custom structure your urls will look like www.domain.com/post-name/. This puts your post directly off the root level and uses keywords based on your post title.

Setting Up non-www to www Redirect
In WordPress: Settings >> General
The newer versions of WordPress make this extremely easy to do. Simply change the Blog Address (url) to http://www.domain.com. WordPress will automatically update your htaccess file to redirect the non-www version to the www version. If you have an older version of WordPress you will have to copy and paste the code provided into your htaccess file. However I would upgrade to the latest version of WordPress before I manually add it.
Search engines treat the www and non-www version of a page as two different pages. If not corrected, this can cause your blog to have hundreds or thousands of duplicate pages. By fixing this you are minimizing potential duplicate content issues.
Optimize Post Titles
In WordPress: Settings >> All in One SEO Pack
By default WordPress creates page titles like “Blog Title >> Blog Archive >> Post Name”. This is ok, but not optimal. Search engines will place more importance on the keywords at the beginning of the title tag so we will want to modify the tags so that the post name is at the beginning of the post and not the end.
To do this, make sure you install All in One SEO Pack. This plugin will automatically set up your title and meta description tags the proper way. Your page titles will now look like “Post Title | Blog Title“. You will have the option to override a specific post title within the post if you would like. Make sure you create a unique description after you have written your post. All in One SEO Pack will not create meta descriptions, so when creating a post there is a section for adding unique titles and descriptions.

Block Certain File Directories in Robots.txt
There are certain directories that you should block from search engines. Check out the Robots.txt guide I wrote that will show you exactly which directories you should block.
This will help with controlling which content you want search engines to crawl and not crawl. There are many directories and files that are unnecessary for the crawlers to spider. This will help the crawlers find the content you want spidered faster.
Install SEO Plugins
This SEO plugin is probably the best and most robust plugin for optimizing your blog for search engines. This plugin will automatically optimize your blog category and post url structure, auto generate title tags, avoid duplicate content issue by restricting search engines from accessing pages that have duplicate content on them, and canonical tag integration.

This plugin will automatically generate a XML sitemap of your wordpress blog that is formatted for Google, Yahoo, Bing, and Ask. Your sitemap will be sent to all of the search engines every time the plugin rebuilds your XML sitemap. Having this plugin, ensures that the search engines are aware of all of your posts and will help with the overall crawling of your blog.

This plugin will add your Google Analytics tracking script to every page on your blog. There are also other options and features which give you more accurate tracking.
- Disable Admin Tracking
- Enable Event Tracking
- Track Outbound Link Clicks
- Track Downloads (PDF, CSV, DOC)
- Google Adsense Integration
- Ability to Modify Tracking Script
Interior linking will help with the overall crawling of your website, along with keeping readers engaged in your content. You can also leverage your content by using keyword-rich anchor text and linking to other content within your blog. This plugin does just that. It will take keyword and phrases within your post and comments and link them to corresponding posts on your site. This can significantly cut down on having to manually search for relevant posts on your site that you can link to within a post.
SEO Friendly Images will automatically optimize all of your images by adding alt and title attributes. If you do not have an alt or title attribute for your images, it will add one for you.
Load time is becoming an important factor in search engine algorithms. Not to mention a page that loads fast makes a visitor much happier and is more likely to stay on your site longer. W3 Total Cache will help speed up the page load times by caching pages, removing white space and comments, and compressing css and js files. Here are a few reasons why this plugin boasts it’s at least a 10x increase in site performance.
- Enable Page Caching
- Enable Minify
- Enable Database Caching

More SEO Quick Tips for WordPress
- Allow commenting for user generated comment and higher engagement
- Use good categorization for usability
- Add compelling graphics and images in your posts
- Ask questions at the end of your posts to encourage comments
- Syndicate your content to your Twitter and Facebook profiles
- Social bookmark your best content
Share your tips and tricks with us via comments section.
Did you enjoy this article and found it useful?
Get even more from us:







Laurent JOUVIN
Posted 726 days ago 25Loved this article very much. I have been using ping-o-matic to ping my blog to search engines. I will download the Google XML Sitemap Generator plugin and check it out. Thanks again!
jeprie
Posted 726 days ago 24nice tips, simple and easy. i’ve done some tought.
.-= jeprie´s last blog ..25 Gambar Adhemas Batista =-.
darren
Posted 726 days ago 23you can also if you don’t want to use plug ins, add php to the meta data to pull page titles/post tiles and the like in.
you can use php to dring teh exerpt in as a page description in too
finally what about using “tags ” to generate your keywords, all via php in your meta data, no plug ins then and all coded into the theme, if your plug in doesnt work with a conflict or something in teh core wp files breaks it, its perfect.
Jadeslair
Posted 726 days ago 22I set mine up by post name and tag name and it is working out great for me
.-= Jadeslair´s last blog ..Sniper Rifles of BFBC2 =-.
Makale-S
Posted 726 days ago 21SEO search Engine Optimization provide u the best way to advertise
.-= Makale-S´s last blog ..7 Ekim’de SEO Konulu Seminer ile CeBIT’teyim =-.
Jordan Walker
Posted 727 days ago 20Now a days you literally have to know SEO and how to implement it. Thanks for the write up on implementation into WordPress.
Christine Wilson
Posted 728 days ago 19Thanks for this list of plugins to install. I already had some but this list is more thorough and saves time by automating some good SEO practices.
Bharath Reddy
Posted 728 days ago 18Thanks Mark..That was amazing…I have already installed most of the plugins that you have mentioned here…Only few missing..”W3 Total Cache” & “SEO Friendly Images”..Will get it done very soon..
Thanks,
Bharath Reddy
.-= Bharath Reddy´s last blog ..Happy Valentines Day!!! =-.
Kannan Sanjeevan
Posted 728 days ago 17Mark…Thanks for the tips …I found what i was looking for
.-= Kannan Sanjeevan´s last blog ..10 Great Sites for Blogger Themes =-.
Najoh
Posted 728 days ago 16You should look at XSAL for WordPress too on Xev.com ;)
douglas
Posted 729 days ago 15Check out the theme framework Hybrid. It does a lot of this for you with no need for additional plugins. Also remember that nothing trumps good content and frequent posting…
Noel Wiggins
Posted 729 days ago 14I have added SEO Smart Links, SEO Friendly Images and W3 Total Cache.
And can’t wait to see the effects…
–
Thanks and Regards
Noel for Nopun.com
a graphic design studio
.-= Noel Wiggins´s last blog ..how to develop a persona for your website =-.
Vicki - VictoriaAnn Design
Posted 729 days ago 13Thank you this was excellent I’m glad I saw it in my feed reader. I have now implemented almost all of your tips and plugins, let’s hope it helps!
.-= Vicki – VictoriaAnn Design´s last blog ..Fixing RSS Feed Error in WordPress (following an upgrade?) =-.
daniel
Posted 729 days ago 12Thanks for the SEO tips and tricks. The only new one for me is SEO Smart Links
.-= daniel´s last blog ..Neurona Podcast dos morras, dos micrófonos y ya =-.
Omer Greenwald
Posted 729 days ago 11Useful set of tips.
301 redirects are worth mentioning as well for good SEO.
Just by adding the following line to htaccess file after changing slugs of posts that have links directing to them :
Redirect 301 /old-post-slug /new-post-slug
.-= Omer Greenwald´s last blog ..How to Delete Specific Pages From the Cache in WP Super Cache Plugin =-.
Alex
Posted 729 days ago 10Instead of All in One SEO Pack I prefer wpSEO (http://wpseo.org).
Better code and better results!
Thx for the post.
ArtCore
Posted 729 days ago 9Very useful and easy to implement. thanks a lot mate!
/regards kjartan
Baron
Posted 730 days ago 8I was in the beta for Scribe SEO and it was awesome. I’m not blogging much these day so I didn’t buy it when it launched recently, but if you’re looking for a platform that really optomizes your seo I’d recommend it.
jared thompson
Posted 730 days ago 7amazingly easy and simple to follow, great post!
.-= jared thompson´s last blog ..What you Thought of the Design Juices Launch =-.
SEOWebHelp
Posted 730 days ago 6Mark what a great post! I think this will help many people. Great use of the images too.
.-= SEOWebHelp´s last blog ..SEO Questions and Answers Worth Stealing =-.
Blog Tips
Posted 730 days ago 5I use all of these plugins, except I prefer Platinum SEO over All in One but either will work.
.-= Blog Tips´s last blog ..Does Your Twitter Account Suffer From Erectile Dysfunction? =-.
Lucas Cobb
Posted 730 days ago 4Thanks for some great tips here. Changing the www in user settings was a great one. I just noticed the other day that I had two search results in google for my homepage and wondered what the heck was up. That solved the problem perfectly. Thanks for all the tips and for the great article.
.-= Lucas Cobb´s last blog ..Inspiration: Graffiti =-.
richard hughes
Posted 730 days ago 3some good tips here – thanks for sharing.
For permalinks i use –
post id / catergory / postname
to get a few more keywords in the url. the post id is for speed.
Stijn Vogels
Posted 730 days ago 2No new tips here so I must be doing something right. :) Over the years I’ve changed some habbits, but the tips you list above are indeed worth your time. Some SEO ‘experts’ may recommend placing a category name in your URL structure as well, but I have found it more profitable to just use domain/keyword.
One thing I do disagree with is using www URL’s. From my experience, this ads 4 extra characters to your display URL on the SERP’s — this space could otherwise be used for more keywords.
.-= Stijn Vogels´s last blog ..Links for 2010-02-12 [del.icio.us] =-.
Ted Goas
Posted 730 days ago 1You have some good (yet basic) tips in here, but there are a few I’d shy away from. Namely SEO Smart Links and using a Robots.txt to deal with dup. content rather than rel=”canonical”…
.-= Ted Goas´s last undefined ..If you register your site for free at =-.