One of the great things about using WordPress is the built-in SEO advantages that this software gives you over building static pages or other blogging software. You have an advantage from the start over others not using WordPress! With that said, there are a lot of SEO techniques that need to be set up or applied by the user. The permalink structure is one of these that you can easily set up when creating your blog and then forget about it.

By default, your WordPress Dashboard gives you a 3 choices to choose from. The default permalink structure is a terrible option from an SEO standpoint and the other two aren’t bad, but they aren’t your best option. According to Matt Cutts at WordCamp 2007 (Matt is the lead guy for the Google Search team), the best permalink structure you can use is just the post title with hyphens. According to Matt:

  • Don’t put your blog at the root of your domain.
  • Name your directory “blog” instead of “WordPress”.
  • In URLs, no spaces are worst, underscore are better, dashes or hyphens are best.
  • Use alt tags on images: not only is it good accessibility, it is good SEO.
  • Include keywords naturally in your posts.
  • Make your post dates easy to find.
  • Check your blog on a cell phone and/or iPhone.
  • Use partial-text feeds if you want more page views; use full-text feeds if you want more loyal readers.
  • Blogs should do standard pings.
  • Standardize backlinks (don’t mix and match www with non-www).
  • Use a permanent redirect (301) when moving to a new host.
  • Don’t include the post date in your URL.

For WordPress users, this is easy to set up. Go into your blog’s Options panel and click on the Permalinks tab. You should see the following:

WordPress Permalink Structure

Click the custom radio button and type /%postname%/ into the field. This is the most ideal setup for your WordPress blog.

If you already have an established blog using another structure, you can easily use the Permalink Redirect WordPress plugin to redirect your posts to the new structure.

Digg This! | Stumble it! | Add to Del.icio.us | | Print This! |

There Are 25 Responses So Far. »

  1. 1 Hairie
    Thursday, April 3rd, 2008 at 5:27 am

    how come i cannot use custom structure: /%postname%/ in my site? I’m using wordpress 2.5. Any advice?

  2. 2 Josh Kieschnick
    Thursday, April 3rd, 2008 at 7:23 am

    I’m a little curious about the post dates. Can anyone explain why this is a bad idea to put them in the url?

  3. 3 Aleph Ozuas
    Thursday, April 3rd, 2008 at 7:49 am

    Yes, why not post dates? I don’t use it myself, but… its worst for SEO?

  4. 4 Trisha
    Thursday, April 3rd, 2008 at 10:55 am

    I’m currently using post dates in the permalink, however I’ve been rethinking that for some time now, but unsure of the effect of changing - will I need to do 301 redirects for all of my posts so that any that are already indexed by search engines won’t lead to 404 errors? Is there some core function in WP that will do that? Or is there some way to do automatic redirects removing the post date so I don’t have to do a 301 for every post/page?

    I’d really like to change my permalinks to just the post name but only if it won’t negatively effect the inbound links, trackbacks, and indexing I already have….

    Any advice?

  5. 5 Kyle Eslick
    Thursday, April 3rd, 2008 at 1:39 pm

    @ Hairie - You have to enter it manually like I did in the above screenshot. Is that not working?

    @ Josh & Aleph - I’m not 100% sure, but he’s never made a secret of this. If you look at his WordPress blog you can see this is how he has his setup. Do the dates/caregories in the URL change if you were to change the post date or post category? The only other thing I can think of is that it pushes your keywords further to the right needlessly and I’ve heard SEO experts debate how much of the URL Google reads (first 70 characters, etc.).

    @ Trisha - I switched my blogs last year when Matt made this announcement. It was really easy using the Permalink Redirect plugin mentioned above. Here is my full review of the plugin. In the options, you just plug in your current permalink structure and it will redirect to your new one. Couldn’t be any easier.

  6. 6 BoR|S
    Thursday, April 3rd, 2008 at 1:59 pm

    When I changed my permalinks structure, I selected the option to have the post date followed by the post name. Now I read this post where you quote Matt suggesting not to include the post date in the permalink. I also noticed that among all other guidelines you bring in Matt’s quote, you decided to highlight the one talking about the post date issue and I wonder, why is it bad to have the post date included in my permalink?

  7. 7 Ian Stewart
    Thursday, April 3rd, 2008 at 2:46 pm

    I use the same structure myself. Here’s why it’s good for SEO: All things being equal a blog about kazoos writing about the release of the new Kazoo 3000 Extreme with a URL like,

    kazooblogger.com/2008/12/01/the-new-kazoo-3000

    will probably not rank as high for “the new kazoo 3000″ as the blogger with a url like,

    kazooking.com/the-new-kazoo-3000

    The first URL is telling Google that “2008/12/01″ is more important than “the-new-kazoo-3000″ by placing it first. You’re right, it’s all about “it pushes your keywords further to the right needlessly.” As far as I know—I’m no expert.

    What’s better though is to write remarkable content that people link to. That’s why I mentioned “all things being equal” above. Links are way more important.

  8. 8 Peter
    Thursday, April 3rd, 2008 at 4:17 pm

    Hey.

    This one is interesting: In URLs, no spaces are worst, underscore are better, dashes or hyphens are best.

    My english is not so good so maybe someone could explain it to me better.

    URL of any post in wordpress is by default (post slug):

    For post : “example post” it creates
    http://wordpressexamplepage.com/example-post

    So what we can do to make this better ? Please provide some examples because this can be very interesting, on my all WordPress pages the default is ok, most of blogs use it.

    Maybe i am getting something wrong here…

  9. 9 Dan
    Friday, April 4th, 2008 at 4:50 am

    I find the first point interesting too: why should your blog live in a /blog/ subdirectory of the main site? Where’s the benefit in that?

    Surely that moves your post names further to right too, as myblog.com/my-post-name becomes myblog.com/blog/my-post-name.

    Confused…

  10. 10 Kyle Eslick
    Friday, April 4th, 2008 at 6:37 am

    @ Boris - See Ian’s comment below. He summed it up great!

    @ Ian - Thanks for the confirmation!

    @ Peter - No, that is the ideal post slug, but it isn’t the one by default. If you already have it set up like that, you’re all set!

    @ Dan - The reason that he recommends moving your blog to a directory instead of using the root of your domain is that way you’d get more links back to you, as some would link back to the site and blog separately. With the CMS craze lately, this has become a popular method anyway to improve your website.

    And yes, it does move it a little further to the right, but only 5 characters (/blog). Unless you write really long post titles, adding only 5 characters should be fine. If you do write long titles, you can customize your post slugs before publishing easily in WordPress.

  11. 11 Dan
    Friday, April 4th, 2008 at 7:41 am

    Thanks for that Kyle; it makes sense I suppose. If your blog’s got a CMS/Magazine style front page, it would be less confusing for readers if the main “blog” content was on /blog/.

    Just as an FYI, for anyone wanting to do this, it’s quite easy to achieve.

    There’s information here: http://codex.wordpress.org/Pages

    I’ve just tested it on 2.5, and blog.php and home.php seem to happily co-exist these days, contrary to that Codex entry.

    So in a few short steps a root installation of WordPress can become a root home page (home.php) and a sub-directory blog (blog.php).

  12. 12 Kyle Eslick
    Friday, April 4th, 2008 at 8:00 am

    @ Dan - No problem. You can see my post about making WordPress behave as a CMS, where I covered how home.php interacts with /blog/ like you mentioned above. This has been in place since WordPress 2.1 I believe, so they really need to update the Codex if it isn’t there.

    Great stuff!

  13. 13 Mohan
    Monday, April 7th, 2008 at 12:01 am

    I have a different issue altogether. I chose to have my permalinks of the format /%category%/%postname%/. This messes up the whole page links. My site seem to work when i have /index.php/%category%/%postname%/.

    I don’t understand why it is expecting index.php/ for all the urls. Any idea on how to get rid of index.php in permalinks structure, yet to have all functional links?

    Thanks for any help towards this.

  14. 14 LucMan
    Thursday, April 10th, 2008 at 6:49 pm

    hi!
    i’m having a problem with wordpress 2.5. I recently updated from version 2.3.2 and I have the permalink structure that you suggest (/%postname%/) the thing is that my permalink for the pages on my navbar don’t work(i’m talking about the pages you access thorugh Manage/Pages in the WP dashboard). I click on them and it just shows the whole context of my site but the body content is blank. If i change the permalink structure it works fine but i don’t want to do that since 1) it’s not SEO-friendly and 2) google already indexed me and I don’t want to lose that indexation.
    I’ve been reading and i found that it might be a problem with my .htaccess file but i can’t fix this. Can you toss a lifesaver?
    Thanks!!!

  15. 15 michael brown
    Tuesday, April 22nd, 2008 at 3:36 pm

    Great post. While I am versed and highly successful in the internet marketing realm, blogging is new for me and this post helped tremendously.

    Thank you for that..

  16. 16 Victor
    Saturday, April 26th, 2008 at 8:03 pm

    @mohan

    I had the same problem with /%category%/%postname%/.

    I edited an existing entry and added a new category to that post. I then saved/published it. The link structure started working after that.

    As a side note, the default Uncategorized category was still showing the old/incorrect path…I just deleted that category.

  17. 17 AdamM
    Tuesday, May 13th, 2008 at 12:47 pm

    While /%postname%/ create a very good url for SEO, its not the best for eveyone using wordpress. Those urls do not meet the url technical requirements to be crawled by Google News. With the lines blurring between “online publishers” and “bloggers”, this should be considered.

    From the Google News url requirements…

    Display a three-digit number. The URL for each article must contain a unique number consisting of at least three digits. For example, our news crawler can’t crawl an article with this URL: http://www.google.com/news/article23.html. It can, however, crawl an article with this URL: http://www.google.com/news/article234.html

    See more info here:
    http://www.google.com/support/news_pub/bin/answer.py?answer=68323&topic=11665

  18. 18 Nate Moller
    Sunday, June 15th, 2008 at 12:31 pm

    Great and specific advice about setting up a wordpress blog and making it SEO friendly. I plan to write a post about this at http://MollerMarketing.com and will give you all a link.

    Thanks for sharing the tips.

  19. 19 Okizoo
    Friday, June 20th, 2008 at 11:13 am

    I like using the permalink structure that shows /Category/Post0Name/Year-Month

    Category is another way to get keywords in your URL if you add posts to only one category, and use tags to link posts from other categories together.

    Including the Post Name offers the best SEO option.

    Including the Date I feel is important, because personally when searching on Search Engines, I like to find the most up-to-date or from a specific time.

  20. 20 Kyle Eslick
    Friday, June 20th, 2008 at 3:52 pm

    @ Okizoo - I would not recommend adding dates to your URL. Remember, search engines only count X number of your URL, so if you add the date, you are pushing your keywords further to the right. This increases the chance your keywords will not be recognized by search engines.

    You also need to remember that showing the date can turn away readers. Posts you wrote 5 years ago will look outdated with a date there, but without the date, people will still click over to view your post.

  21. 21 Steven
    Sunday, June 22nd, 2008 at 11:33 am

    AdamM is right - Google News requires a 3 digit number, I don’t even see that as an option on Wordpress permalinks settings. What’s the best way to customize your settings to meet that requirement? Google News says that simply adding the “year” isn’t enough.

  22. 22 Steven
    Thursday, June 26th, 2008 at 3:08 am

    Just to follow up:
    I’m currently using %postname%/%month%/%date%
    thinking that should give me the 3 digit requirement for google news. NYTimes/Wash Post uses year/month/date/title by the way for their blogs.

    The other option is:
    /%postname%/%post_id%

    although post_id won’t be 3 digits until your 100th post, that shouldn’t be a problem, and it seems to fulfill Google New’s 3 digits. I wonder though if month/date say (06/25) is considered 3 or more digits, or two numbers, two digits each?



Leave A Comment