Self-Hosted WordPress Websites: A Few SEO Do’s and Don’ts

SMS Text

You could argue that an out-of-the-box, uncustomized WordPress installation is the most search engine-friendly CMS out there– but it is also the scarcest variety, rarely seen in the wild. And as soon as you install a theme or plugins that generate HTML code, your new hybrid may not play nice with search engines. Luckily, with WordPress it’s pretty easy to do the right thing. Here are five do’s and don’ts that should help set up your website for long-term success.

1. SEO Functionality

Steam car engine

In WordPress, any theme independent functionality is best handled by a plugin

DO: Use a plugin to handle your website’s SEO

When in need of some SEO tips, would you contact someone who specializes in SEO? Or someone who claims to be expert in PHP + CSS+ WordPress + PPC + logo design + SEO? Think of a WordPress SEO plugin as a specialist. There are several great and free SEO plugins available (WordPress SEO or All in One SEO Pack, to name a few).

DON’T: Let a “everything but the kitchen sink” WordPress theme handle SEO

SEO basic staples like titles and meta tags are elements you want to maintain when it’s time to switch to a new theme. But if your SEO functionality is built into your theme, transferring those elements will likely be impossible. So don’t do it (and the same goes for your Google Analytics tracking code too).

2. Taxonomies

DO: Use taxonomy term descriptions

It is up to you to decide if you want to noindex taxonomy archives or not, but if you do make them available to search engines, do all you can to enhance them.

WordPress taxonomy descriptions

Adding meta descriptions to your taxonomy archives is easy with WordPress SEO

Adding meaningful descriptions to each term and then setting your SEO plugin to use that text as meta description tag in archives pages is all you need to do. Bonus points if theme you’re using displays term descriptions in archives as well.

DON’T: Go category and tag crazy

It’s easy to get carried away creating content and one day realize you have thousands of categories or tags, each assigned to no more than one post. Presuming you’re allowing indexing of taxonomy archives, you’ll have thousands of archives pages that are exact duplicates of posts to which you assigned those terms. A general rule I like to follow is five to seven top-level categories per site, one (sometimes two) category and up to three tags per post. That’s mostly based on common sense — too many categories means your blog tries to cover too many different topics, too many tags in each post means your posts are not focused.

3. Permalinks

DO: Set a proper permalink structure

Does this URL –  by itself give you an idea of what that page is about? Of course it doesn’t. But when you see the URL itself tells you (and the search engines) what is important about that page. Changing your permalink structure is very easy, just go to Settings > Permalinks screen in your WordPress dashboard and select the one that’s best suited for your website.

DON’T: Ignore the slugs

When setting permalink structure, post (or page) slug is the /%postname%/ part of your URL. It’s auto-generated from the post title by converting all letters lowercase, replacing spaces with dashes, and removing any special characters. If your title is too long, so will be the slug. There are many plugins that can clean up slugs for you (WordPress SEO included), but that’s like blindly relying on Google Translate. Don’t be lazy;  instead do it manually. For example, the auto-generated URL for this post would be:

The one “cleaned up” by a plugin:

But I decided to change it to:

Much cleaner.

4. Content Structure

Photo of filing cabinets

Proper structure helps you, site visitors and search engines

DO: Know the difference between posts, pages and custom post types

Post vs. page is simple — if it’s something that should appear in archives and your website’s RSS feed, it’s a post. Pages should be used for static content that doesn’t need “published on” information shown to visitors. Examples: About page, Contact Us, Location, etc.. Custom post types should be used for anything that’s neither a page nor post. Say you want to add a portfolio section to your website. You could have a top-level page called Portfolio and child pages for every project, but why keep your “Super Awesome Project” in the same drawer with your Contact page? Enter custom post types. Creating custom post types without even touching the code is very easy. Some of my clients are very happy with Custom Post Type UI plugin. Using CPTs is the same as using regular posts and pages, just keep in mind that if you’re letting a theme handle creating of custom post types neither you nor search engines will be able to access them once you switch to a new theme. 404 paradise.

DON’T: Be lazy when adding images to posts

The media uploader got a huge update in WordPress 3.4. It’s so easy to use that it’s possible to overlook adding image meta information before adding one to post. Making sure your image files have proper, meaningful names before uploading helps, too.

Adding attachment details in WordPress

Don’t leave these empty

5. SERP snippets

DO: Claim Google authorship for your content

There’s many ways to do this, but the one used here at SEJ takes advantage of the Fanciest Author Box plugin, which gives your authors all the exposure they want by displaying their bios and social profiles. Make sure authors have added your site to “Contributor to” section of their Google+ profiles, otherwise their pretty faces will not appear in search results.

WordPress SERP snippet

WordPress post SERP snippet, optimized by WordPress SEO and Fanciest Author Box

DON’T: Autopilot your posts’ meta descriptions

Descriptions do not play a major role in search rankings but they can still dramatically affect click through rates in SERPs. Don’t let the same description be used in all your pages and make sure your descriptions are good representation of what posts are about. If you do not set the meta description manually, search engines will show first 156 characters from your post. Like most other things in “WordPress + SEO” universe, this is so easy to set up using Yoast’s  WordPress SEO plugin:

WordPress meta descriptions

Write your descriptions with humans in mind

Bonus DON’T: “Just another WordPress site”

Just another WordPress site

Just another half-assed WordPress setup?

Really?? Don’t let default tagline make you look bad. Settings > General > Tagline. Got any other WordPress SEO tricks you’d like to share?

Image credits:
  • Filing cabinet –
  • Car engine –
Slobodan Manic
A web developer with a passion for all things WordPress, he is also a co-founder of ThematoSoup, a themes and plug-ins development company, and a popular tutorial author on well-known WordPress theme sites such as WP Explorer and Wptuts+.
Get the latest news from Search Engine Journal!
We value your privacy! See our policy here.
  • Igor Mateski

    Solid roundup. One question though, concerning the permalink structure. The WP speed issue with %postname% was aledgedly causing site slowdowns especially for sites with tons of posts when the fetching of content had to first drill through “is this a post” routine. A suggested solution was to use %postid%, a thing SEJ uses. BUT, and here’s the question: Since WP 3.5, is postid still needed to avoid slowdowns during the “is this a post” checkup? Aledgedly WP 3.5 fixed the problem, but I’m yet to find a solid writeup on permalinks and postid usage. One author (forgot where) mentioned that having the postid as helps avoid speed issues, but SEJ uses postname/postid. Can you give a workable advice on the site speed issue and how to use the postid?
    Also, Yoast suggests removing/adding tralingslash to non-extension URLs. What’s your take on this issue?

    • Slobodan Manic


      I think the /%postname%/ permalink issue was fixed in WordPress 3.3 (see release notes -> Under the Hood Improvements). Post ID is used here at SEJ because having a unique number in URL is one of requirements for Google News inclusion, but it’s not necessary to have it for performance alone.

      If there’s an article in which Yoast suggested this, could you please post a link to it? I know his plugin has an option to enforce trailing slash in category and tag archives URLs for sites that use permalink structure that doesn’t end with a ‘/’ but not sure if that’s what you meant.

      • Caspar Aremi

        Post ID isn’t needed for Google News for any sites which use News Sitemaps. I still see people claiming this is a requirement when it hasn’t been for some time. Anyone who uses Yoast’s SEO plugin can get an additional plugin which generates news sitemaps as part of it.

      • Slobodan Manic

        Thanks for commenting Caspar.

        I can’t tell if it’s an absolute requirement, but it still is in “Getting into Google News” guidelines:

      • Caspar Aremi

        Deeper into their FAQs, under technical requirements, they state ‘Please note that this rule is waived with News sitemaps.’

        It’s probably safest to have them on, just in case you ever switch to a different CMS or your sitemap breaks, but it’s good to know it’s not an absolute requirement, especially if you have issues with getting permalinks that work.

      • Slobodan Manic

        Thanks again, that’s a very good point.

  • piyush

    Hi Slobodan
    great list of do’s and dont’s are mentioned here .Now am gonna try all these tips on my new blog and i hope this will help to keep good seo for my blog for long time
    thanx for sharing

    • Slobodan Manic

      Thanks for commenting, piyush.

  • Deepanker

    Really a worth reading guide for all WordPress bloggers.

    • Slobodan Manic

      Glad you found it useful and thanks for commenting.

  • Sweta

    Nice tips! would appreciate if you also give some Ideas about how to use trackbacks in wordpress?

  • Movies & Celebrities

    I own a movie and celebrities website but i am confused after reading your post. If a movie has 8 star cast, 1 director, 3 producer, 2 music director etc. then i’ve to mention all names under tags and the category also comes under 3-4 categories so please let me know the exact procedure for noindex or index tag and category pages. Thank You.

    • Slobodan Manic

      Each rule has exceptions and how many tags you use is up to you. Now, the reason why I wouldn’t add a tag for each person involved is because most of those people are (likely) only mentioned once in that post, so the post isn’t really about them. You could have a custom taxonomy for People though.

      If you’re using WordPress SEO plugin, SEO -> Titles & Metas -> Taxonomies, there you’ll be able to noindex the archives.

  • Christopher J

    I prefer WordPress SEO by Yoast plugin! It’s really awesome! Slugs are equally important in SEO. The proper format of permalinks is good for SEO. 🙂 Thanks for the share!

    • Alvin Brown

      I second and third WordPress SEO by Yoast. 🙂 It is a MUST-HAVE plugin for those looking to start a website as well as those with existing websites. Of course, it’s always easier to start a website on the right SEO foot, if you will; however, I’ve seen major SEO improvements for websites I’ve had for years when implementing WordPress SEO by Yoast. Those websites have climbed the search engine rankings mountain and are on either page 1 or page 2 of search engines for highly-searched keywords. I can’t say enough good things about WordPress SEO by Yoast. 🙂

    • Andreea Leau

      I use this plugin for settings and Squirrly SEO for writing articles. I found it last week on some Google+ Community and seems to be quite cool 🙂

      • Alvin Brown

        Thanks Andreea… I’ll have to check Squirrly out.

  • Arun

    Very nice roundup of do’s and don’t’s. I believe using yoast plugin covers almost all of these points. Good work and thanks.

  • Steven

    Hi Slobodan,

    Thank you for your nice tips. Can you recommend a good WordPress caching plugin that really speeds-up the site? I have tried some, now I am using WP Super Cache but I want to hear your opinion which is better.


  • Jess

    Great article featured here, with some classic and more nuanced points offering a few less common takeaways. A couple details you brought up gave me additional questions – are the date/time stamps on posts needed to display publicly in order for the recency to count for and aid Google site indexing? In modifying a template blog, the featured image and time/author/etc stamps created much clutter and repetition on the screen. The featured image itself was not big enough to look better than post-related imagery or illustrated heading, and along with it, the theme kept the post stamps generically designed and too extensive. I see redesigning them is not a big deal, and I like how you have yours consolidated in a neat in-line block directly beneath your title. However, are they necessary top optimize indexing and rank?

  • Navneet

    Thanks for the awesome tips. I have been using small permalinks for my blog posts and i see my fellow bloggers use very big and complicated blog posts titles as their permalinks . Thanks for making my mindset clear about the wordpress SEO 🙂

  • David Anderson

    Thanks for the guide and interesting to see so many votes for SEO by Yeost. I have just started replacing All in One SEO with this great plugin and appreciate the advice it offers too.

    I came here looking for some guidance on how portfolios effect SEO as I fear I will lose template based portfolio items if I swap to a different theme? I guess I will manually convert all to posts and them swap the templates…

    • Slobodan Manic

      Hi David, and thanks for commenting.

      If portfolio projects are added to your site as custom posts and if that functionality is handled by your theme, best thing to do is get in touch with theme author and ask them what the best way to migrate is. There is a way you can do it yourself, which I’ll explain below, but I really think it’s necessary that WordPress users raise concern about this issue with theme developers, because it was them ignoring WordPress best practices that got you into trouble in the first place 🙂

      Now, if you go to portfolio section in your dashboard the URL will be something like this: /wp-admin/edit.php?post_type=some_post_type. All you need to do after switching to new theme is use Custom Post Type UI plugin ( to register custom post type with that same name. Plugin refers to this as Post Type Name, see first screenshot here – and you’ll need to use the same thing that was in that dashboard URL (some_post_type in my example here).

      That will get the posts back so you don’t lose them. But please, give theme developers some hell for doing this, they should know better anyway 🙂

  • Ganesh

    Thank you for this information I just plugged in all you suggested hopefully for my blog.

  • Aditya Nath Jha

    I have a problem when adding images. For the first time when I add an image in a post then every field is filled up by me. Then subsequently when I open that same file in the WordPress media gallery then nothing is there, i.e the title as well as the alt text that I had filled with so much pain goes away. I am hosted on GoDaddy and using latest version of WP. What is the problem?

  • Jenny

    Thanks for the great tips, I need to work on my SEO for my wordpress.