Quest for the Best Permalink Structure

Choosing the best permalink structure for your blog is important step when setting up a new blog. This in-depth article analyzes different permalink types and presents the best permalink structures for you to choose from.

Good permalink combines the elements from being effective for search engine optimization and being shareable and readable by humans at the same time. I struggled to find a reliable and consistent information about what kind of permalink structure to use when I first started blogging, so I took the time and did the research on the subject.

I studied the established and the most popular blogs, what kind of URLs they use and researched the most respected SEO blogs and their expertise on my quest to find the the best possible format for the page URLs or post slugs as they are sometimes referred as.

First I took the top 100 blogs from Technorati and studied the permalink structures they are using. I inserted all the data to a spreadsheet and calculated detailed statistics about the permalinks these top blogs are using.

Complete Permalink Guide

This will help you to find the perfect permalink for your web site, blog or forum.

  • What is a permalink
  • Common permalink types
  • What the Top 100 blogs tell us about permalinks
  • Search engine ranking factor of the permalink structure
  • The best permalink structure for SEO
  • Choosing the best permalink structure for your blog

What is a Permalink?

Permalink is a constant an URL address to a web page. The perma is short for permanent.

Permalink, or permanent link, is an URL that points to a individual web page on a dynamic website, like blog or forum, which have updating content on a front page or an archive page for example. Other types of web sites use permanent links, but the term permalink is most common within the blogosphere.

Permalink enables linking and referencing to an individual page, a blog post for example, either internally or from external sources. Permalinks are also a way to make the URL human-readable, which coincidentally are great for search engines as well.

Permalinks can be indicated within the HTML of a page so as to allow automated browsing tools to detect the permalink and use it for linking instead of the stated URL. The link element should include the following attributes:

<link href="[Permalink URL]" />

Source: Permalink – Wikipedia

Common Permalink Types

The default permalink structures of different blogging and forum platforms dictate the most common permalinks.

Here are some examples of the default permalink structures:

  • Typepad: http://<username>.typepad.com/<username>/<4 digit year>/<2 digit month>/<15 character name>.html
  • Blogger / Blogspot: http://<username>.blogspot.com/<4 digit year>/<2 digit month>/<article name>.html
  • WordPress.com: http://<selectedsubdomainname>.wordpress.com/<4 digit year>/<2 digit month>/<2 digit day>/<article name>/
  • WordPress: http://<site-specific prefix>/?p=<post id>
  • WordPress (one configurable default option): http://<site-specific prefix>/<4 digit year>/<2 digit month>/<2 digit day>/<article name>/
  • Tumblr: http://<selectedsubdomainname>.tumblr.com/post/<post id>/<article name>/
  • Posterous: http://<selectedsubdomainname>.posterous.com/<article name>/
  • Drupal: http://<site-specific prefix>/index.php?q=node/<unique integer page identifier> for pages (without URL-rewriting)
  • Drupal: http://<site-specific prefix>/node/<unique integer page identifier> for pages (with URL-rewriting)

With some of the blogging or forum platforms, you can’t modify the permalink at all, or it requires technical knowledge and web programming skills.

On the rest of the tools, it is possible to modify the permalink structure directly from the settings, or by using a third party tool (like a plugin or an addon) to configure the permalink settings as you want.

If it is possible to configure the permalink structure, it is best to set it when setting up a new blog, but it can be changed later.

What the Top 100 Blogs Tell Us About Permalinks?

As I mentioned at the beginning, I took the time and analyzed the permalink structures of the top 100 blogs from Technorati. I added the data to a spreadsheet and pulled some statistics out of it and here’s what I learned…

First lesson from top 100 blogs is that the different permalinks don’t make or break a blog. There are couple of horrendous permalinks structures in use, that go against every recommendation out there, but still these blogs pull tons of traffic.

Second, most blogs do have article/post names on their permalink. This is commonly recommended best practise. It’s not only makes the URLs more readable for humans, but using post name in the URL does have SEO benefits as well.

Thirdly, there’s quite a lot of versatility on the permalinks. The top 100 blogs use 43 different permalinks, but when we take a closer look, large percentage of the permalinks have certain characteristics.

From the permalinks of the top 100 blogs:

  • 89 have the article name (postname) in the permalink
  • 78 display the year in the URL
  • 77 include the month in the permalink
  • 72 have both year and month in the permalink
  • 68 have year, month and postname on their permalink
  • 50 end their URL with trailing slash (“/”)
  • 45 have year, month and date included
  • 43 have year, month, day and postname on the URL
  • 34 use the specific permalink: /<2 or 4 digit year>/<2 digit month>/<2 digit day>/<article name>/
  • 23 include post-id
  • 23 end with .html
  • 16 has the word archive or archives and/or blog or blogs
  • 14 includes the category
  • 7 end with .php
  • 5 include the author name
  • 2 have hours and minutes included
  • 0 blogs have seconds in their permalink
  • 0 blogs use just the post id (e.g. WordPress default /?p=n)

Conclusions from the permalinks of the top 100 blogs:

  • many top blogs use the default permalink structures or one of the default choices as their permalink
  • nearly all top 100 blogs are updates many times a day, which makes year/month/day great inclusion for their permalinks
  • only a handful of the top 100 blogs use “SEO slugs”, meaning optimizing the page name URL by shortening it and leave only spesific keywords or phrase to the slug.
  • postname is a must for good permalink
  • if you’re running a WordPress blog with the /?p=xxx default, you should change the permalink structure right away.

The problem with this kind of study on top 100 blogs, is that they are established blogs. Their chosen permalinks have very little effect on the blog’s popularity or traffic. Some draw traffic via other means as a part of larger network or root website for example. So we can’t draw definitive conclusions from the permalink structures of the top blogs alone.

Especially for beginning blogger, even the smallest search engine benefits of choosing certain permalinks is a great perk, and that should not be overlooked. For that, we need to take a look at what are the pros and cons of different permalink structures, before we go and decide what’s the best permalink structure for our blog.

SEO Factors of the Permalink Structure

Based on the search engine ranking factors data from SEOmoz, rated by the panel of 72 SEO experts, the keywords in the page name URL or the folder name URL are the top 10 and top 11 ranking factor in on-page search engine optimization.

The keywords in the page name part of the URL have low importance on SEO. The same can be said about folder name in the URL. A category word or words act as a “folder name” in this sense.

Factors like Alt-texts in images and lesser headline tags (<h2>-<h6>) are below the “permalink effects” in the search engine ranking factors. So the permalink structure seems to have significant enough effect on SEO that this quest of mine is worth it.

Also, excessively long URL has been rated in the negative search engine factors with minimal importance. If you had post name in the permalink structure as you should, and would to use excessively long post titles, you should shorten the URL by manually editing the post slug (or shortening the post name).

The Best Permalink Options for SEO

In short, the best permalink for search engine optimization is any permalink with words in it (versus permalink consisting only numbers). Preferably this is the post name (%postname% in WordPress).

As we saw from the analysis of the top 100 blogs and their permalinks, 89 use %postname% in the permalink. And those that don’t use post name, are heavy on category or author names in the URL.

To make the most of using the postname as a permalink structure, you need to top it off with SEO post slugs. SEO slugs mean that the page URLs would be optimized for certain terms. This way, the URL becomes shorter and increases the weight of the keywords in the permalink. For example, on the permalink of this page, the post name would normally be “quest-for-the-best-permalink-structure”, but I’ve shortened it as “best-permalink-structure”.

For getting the relevant keywords into the post slug, just having the post name in the permalink structure is enough for most bloggers (and it doesn’t require any effort when publishing posts). Only a couple blogs from the top 100 seem to use SEO slugs, rest go with the normal post name.

Category in the Permalink Structure?

Permalink structure with both category name and post name can be used for maximized SEO effect when optimizing for the category keywords. This is generally good for niche blogs, which can be built around category keywords. In these cases, there wouldn’t be many individual pages in each category, and those individual pages would be optimized for the category keywords and closely related terms.

For more longer-term blog, where tens of even hundreds of posts can go into one category over time, using category as a part of the permalink structure is not worth it. Also, re-organizing categories becomes very hard and time consuming if you do have the category in the permalink.

(at this point you might notice that I am using categories in the permalinks of this blog at the time this post is published. but I was making this study because I didn’t like them that much and wanted to find out if there’d be a better option. Also, while I was on this quest, I found out that using categories in permalinks can affect the performance on WordPress blog, which makes me want to change permalink structure even more.)

When optimizing for category keywords, choose category + post name as the permalink structure. Otherwise, for the best permalink structure for SEO is using the post name as part of the permalink structure. Either as a standalone, or in conjunction with time based structure (combination of year, month and date) or use the post id to add unique element to the permalink.

Choosing the Best Permalink Structure for Your Blog

As you can see by now, there are a lot of factors to consider when choosing the permalink. But to end this article, I’ll help you make the educated choice for your blog or blogs.

The bad news is that based on this study of mine, there is no one permalink setting that would be the absolutely best choice for any blog out there.

But the good news is that we do have some settings that are way better than the others, so let me limit the selection into handful of choices and give my recommendation for you.

Here are the best permalink settings for you to choose from, using the WordPress notation:

Let’s start with the most “blog-like” permalink structure. Also the most popular among the top 100 blogs:

  • /%year%/%month%/%day%/%postname%/
  • e.g. /2009/12/14/quest-for-the-best-permalink-structure/

You can’t go wrong by choosing this one. Especially good for blogs that publish at least one post a day

But, for some blogs, it’s better not to show the date. Perhaps the content is timeless, and it wouldn’t be good to show that the article in question is 5 years old. So the next choice for a permalink would be:

  • /%postname%/
  • e.g. /best-permalink-structure/

Using just the post name as the permalink is the most recommended option for search engine optimization, so that is an excellent option. The downside with that is that after sometime you might run into possibility of duplicate URLs that you have to manage by hand.

Because of the possibility for duplicate URLs over time, including the post id in the URL is a great option:

  • /%post_id%/%postname%/
  • e.g. /1150/best-permalink-structure/

Using this permalink, with unique post id, all the permalinks are 100% unique. Using post id also brings options for nice short URLs, using just the post id. As an example, lifehacker is using this kind of permalink and they use the post id’s as short URLs in their social media shares.

Personally, I would choose this permalink, because /%post_id%/%postname%/ -permalink is

  • unique
  • timeless
  • SEO-friendly
  • great for using http://domain/post_id as custom short URL

And you can re-organize the tags, categories and such without worrying about breaking your permalinks and loosing incoming links (post id will always point to the same post, unless Db is edited).

As the last option for permalink setting, here is one for the blogs optimized for the category keywords (focused niche blogs).

  • /%category%/%postname%/
  • e.g. /movies/blade-runner/

Using category in the permalink requires more pre-planning for the blog structure, as re-organizing the categories will effect all the permalinks as well.

WordPress users must also notice that WP documentation warns about possible performance issues using category in the permalink. You can read all about this and other WordPress specific issues from the definite guide to WordPress permalinks.

Final Words and My Choice of Permalink Structure

On this blog, I used the /%category%/%postname%/ permalink structure, but I changed it to /%post_id%/%postname%/. As I wanted to re-organize the categories, it was a good change the permalink while at it for something shorter and more useful for me.

I like /%post_id%/%postname%/ permalink structure. It’s SEO-friendly enough and I really like the simple possibility to use the domain + post id as short URL. As the post id is in the permalink too, the short URL would naturally redirect to the actual post without causing any confusion. Big blogs like Lifehacker and Gizmodo run with this kind of URL, and they also use short URLs like http://example.com/post_id.

I’d stay away from /%category%/%postname%/ and go with /%postname%/. This way you don’t have to use good amount of time to find the best category keywords before starting to fill the categories, but start right away. Also, if you’re on WordPress, note the performance issues with this kind of WordPress permalink, which makes /%category%/%postname%/ even worse, unless the blog stays very small.

If it would be beneficial to show the time of the posts, I’d go with the blogging “standard” /%year%/%month%/%day%/%postname%/ or just leave the %day% out of it and go with year, month and post name.

Have you chosen certain permalink for some specific reason? Or did you just go with one that felt right? Share your experiences and leave a comment.

Share and Enjoy:
  • del.icio.us
  • MySpace
  • Digg
  • Reddit
  • StumbleUpon
  • Sphinn
  • FriendFeed
  • Technorati
  • Identi.ca
  • LinkedIn
  • Propeller
  • Mixx
  • HackerNews
  • Tumblr
  • Google Bookmarks
  • Ping.fm
  • Posterous
  • email
  • RSS
Related posts
  1. Definite guide to WordPress permalinks
  2. WordPress Settings for Every Blog
  3. How to Make Your Blog SEO Friendly
Topic: Blogging
Tags: Article, Permalink, Search Engine Optimization, SEO
| Antti Kokkonen | View Comments

Comment policy: We're gonna be like little Fonzies here. And what's Fonzie like? Cool. Correctamundo, and that's how we roll here -- cool. Critical is OK, but if you're rude, spam or otherwise misuse the blog comments, I will delete your comment. Do not put your URL in the comment text. Use your PERSONAL name (yourname@example is cool, example.com without your name is not). Have fun, be excellent to each other and thanks for adding to the conversation!

  • Using just the post name as the permalink is the most recommended option for search engine optimization, so that is an excellent option. The downside with that is that after sometime you might run into possibility of duplicate URLs that you have to manage by hand.

    There is another reason to use post-id in the starting of the permalink, WordPress documentation (http://codex.wordpress.org/Permalinks) strongly recommends not to use text fields (like %postname% or %category%) in the starting of permalink structure for performance reasons regarding database, instead it suggests to use a numeric field in the beginning (like %post_id%).

    Including year/date in the permalink discourages the user to read the article giving the impression of being outdated.

    One more possible reason to include post_id (and use it instead of year/month/date etc) is that if one is planning to submit his site to Google news in the future, it requires to have a 3 or more digits identifier in the URL (and that should not be year/month/date), post_id serves that purpose well.

    Now about including Category,

    Also, for example WordPress warns about possible performance issues using category in the permalink.

    WordPress do not warn to include category in the permalink, it only recommends not to put it at the beginning of permalink.

    But still, including category in the permalink has some drawbacks:

    1. Modifying categories later breaks permalinks, as you mentioned.
    2. Adding categories increases length of permalinks.
    3. If the category being used in permalink is nested, the URL becomes too long. e.g. example.com/12345/internet/blogging/wordpress/best-permalink-structure/
    4. If the article is having more than one category, the category is chosen randomly based on lower category-id. So, you may not include category of your choice in the URL and later if you add another category to post, the permalink can change.
    5. The “/” at the end mimics a directory which a post is not.

    Most people use category just because it add some more keywords in the permalink, keeping in mind the above drawbacks, this benefit is negligible. One can easily compensate for it by adding the extra keywords to post slug. That is, the above permalink can be example.com/12345/wordpress-best-permalink-structure/

    So I agree with you, the best option is %postid%/%postname%
  • Thanks for a lengthy comment. Nice to see that we agreed on the best permalink structure :)

    But actually %postname% does not cause performance issues like other "text elements" in the permalink. Since WP 2.6 or so, it's no longer issue (= post_id and postname are the same, performance-wise). And yeah, I'm staying away from category in the permalink nowadays, mainly for it making the URL too long for my taste and I like the post_id short-URL possibility too.
  • Very informative post, I have one questions for you Antti, I am using the "/%postname%/.html" permalink format! what you think of that? should I remove the .html for it? I like the structure you are using on your blog! so thought to ask you before doing crazy stuff to my blog :)
  • I think %postname%.html is fine, several top 100 blogs use it. Personally I think it (the + .html) is "old school", but on the other hand, it's just visuals, not performance or SEO. In that sense, either way is OK, switching does take some work if you do it yourself.

    If you, or anyone else do decide to change permalink structure, just make sure to set 301 redirects right away (I use Redirection -plugin, but it didn't pick up permalink change automatically, like it does when individual posts change). In theory, WordPress is already indexing your posts with %postname%, so it might redirect automatically, but I'd still set 301's.

    And if you've manually linked to posts internally (as you should) it's better to updated those links as well, to avoid unnecessary redirects (for this editing I used Search Regex -plugin). - So in short, switching permalink structure on the fly is advanced stuff. Proceed with caution :)
  • Thank a lot for your informative reply, I will think about it and let's see what will happened latter!
  • Jon
    Nice article.

    I am using just the postname.

    I have read somewhere that wordpress automatically notice if a new post has the same title as another one. It then changes the url to example-article-2 för example. So unique URL:s should not be a problem.
  • Hi Jon and thanks for dropping by... Even if WordPress would recognize duplicate URLs it's still better to aim for unique URLs. It's probably better for SEO as well (when two pages are not competing for the keywords on the permalink)
  • As for me, when I switched to a self-hosted blog format, I chose the structure of:
    year/month/post name

    I think the one thing that has helped me is using the All in one SEO with every post. I wasn't at first but lately I have gotten to where I do it with every post and I have noticed an improvement to the traffic I am getting.
    .-= Patty Reiser's last blog ..Tuesday’s Digital Tutorial #6 =-.
  • Hi Patty. And choosing numeric (whether it's post ID or year/month(/day) and postname is great option, if not the best. And from permalink point of view, it's the post name in there that help the SEO.

    All in One SEO pack doesn't affect permalinks, but it's great help for search engine optimization e.g. by optimizing the title tag which is the most important on-page SEO factor.
  • Post ID is an unique, usually numeric, identifier for a post. For example, this post in question has the post ID 1150.

    Everything in a content management system, which WordPress and many other blogging platforms are, everything in the database has unique identifier. That's the way for the dynamic system to find what it's looking for.
  • Hi Antti,
    I have the year, date and post title in mine. Looks tidy and structured. Is it okay?
    .-= Gordie's last blog ..Are You Controlling Life Or Is Life Controlling You? =-.
  • Absolutely. As the Top 100 blogs showed, this is the most popular permalink type in use. And Problogger.net for example runs with date-based permalinks too. The key is having the post name in the permalink.

    So if I'd had /%year%/%month%/%postname%/ or /%year%/%month%/%day%/%postname%/ permalink structure in place, I wouldn't go changing it.
  • That's great to hear. Thanks, Antti!
    .-= Gordie's last blog ..Why You Should Make Your Life Remarkable. =-.
  • Whadua know?? I am using /%post_id%/%postname%/ for my blog. Personally, I love it. Shorter than all those dates and like you said, post id's never change, so my urls will always be unique.

    GREAT post, Antti! Very informative. I really appreciate the time and effort put into the research and writing of this.
    .-= Erica Mueller's last blog ..Mentions of Me =-.
  • I went through all this trouble and I didn't notice that the answer was right under my nose? ;) But in all seriousness - Gizmodo, Kotaku, Gawker and Lifehacker use Post ID + Postname permalink, so you are in a good company.

    Also, the trend within the SEO blogosphere seems to be Postname + Post ID (postname first), either as /%postname%/%post_id%/ or /%postname%-%post_id%, which isn't that much different = SEO + unique.
  • Thanks for the tips. I use /%postname%/ but I might have to add something to fix duplicate titles, such as title-2.
    .-= Nathan Hangen's last blog ..Midnight Launch =-.
  • Hey Nathan. /%postname%/ is arguably the best for SEO, but I just read from WordPress.org that starting permalink with any text is bad for performance, especially when the blog grows (not sure if it's like this for other blogging platforms).

    It's bad for performance, because WP doesn't know if the link is a folder, page, post or such, and it takes it longer to find the actual page. Plus WP has to store more data to it's database to keep track of all the pages (this is one reason why some have bloated wp_options table in the Db)).

    If the permalink starts with a number (e.g. year or post ID), WP immediately knows it's a post and can proceed faster.
  • Great post that has taught me a ton about these permalink structures. Hats off to you for all of the research and data crunching.

    Fantastic job!
    .-= Jimi Jones's last blog ..Adjusting to Stay On Target =-.
  • Thanks Jimi. I like to do research and I have slight addiction to tweaking crazy formulas into Excel. When I can channel all that into making posts like this, it's all good :)
  • Wow! Awesome post, and so good that you included Drupal in there for me as well. Thanks!
    .-= Mike CJ's last blog ..Now I understand Google Wave! =-.
  • Don't thank me too much about that Mike. I'm not that familiar on how Drupal permalinks work, I just checked what's the default is...

    And as the permalinks on Mike's Life look OK to me, so I'm thinking you already know how to set them right :)
  • Antti, I started to post this to your article: wordpress-settings-for-every-blog.

    You should link to this from the section on permalinks in that post.

    I used /%category%/%postname%/ for my first few posts, then my research made me convert to just /%postname%/. Alas I had to build a redirect to make some links work.

    Starting out it is really difficult to decide what permalink structure to use. Your article is helpful. (But it is still difficult...who knows what directions things will go?)

    I am sticking with postname and shortening the slug, maybe post id someday if I get to a large number of posts (per your recommend). I'm thinking I can do that without breaking any links. And I can work with categories without problems.

    -JEDs
    .-= Steve Warriner's last blog ..FTC Guidelines – One More Day =-.
  • I had in mind adding the links back to this post to all posts I talk about permalinks, so thanks for the reminder Steve :)

    I think using just the /%postname%/ is a good option. I see many SEO blogs use that and it'll work fine. At some point, especially if editing the slugs manually, you might run into duplicate link, but it shouldn't be too much of a trouble.

    As I'm changing my permalinks soon, I'll write a post how to handle the redirections. It's quite simple with Redirection plugin on WordPress. Editing all the internal links is more of a pain, but I'm on a lookout for plugin help on that too.
  • Wow, wow, wow.

    What a humongous article. All I can say is brilliant.

    I've always been of the firm believe that Fully qualified URLS work best for SEO. Static as apposed to dynamic parametised URL's. Ones with relavant keywords in them are even better.

    Permalinks, very similar to anchor tags, used correctly they give context to the link.
    .-= Robert Bravery's last blog ..Top 20 design flaws to avoid in your website / blog =-.
  • Thanks Robert. And kudos for the valiant effort on trying to submit this post to Digg. You can't beat fatal exception errors every time :)
blog comments powered by Disqus