In April 2010 I asked the question ‘What is the Best WordPress Permalink Structure‘. Before launching WP Mods I looked a lot into what the best permalink structure for WordPress was and, more specifically, if certain structures caused performance to reduce.
Chris Coyier raised this issue again a few weeks ago in his article ‘So really, don’t use just /%postname%/ as your permalink structure‘.
He noted that:
I used /%postname%/ as my permalink structure on CSS-Tricks for a long time. I have lots of Pages. My site went down. I changed my permalink structure to begin with a number. Now it’s fine.
He went on to say that when he changed the permalink structure from /%postname%/ to one od the default structures like /%year%/%monthnum%/%postname%/ he reduced the number of database caching queries from around 2,500 to 40. As someone who have researched this topic before and has an interest in optimising WordPress wherever I can, I took great interest in this fact. 2,500 queries being reduced to 40 is an incredible load to take off your server.
I therefore changed the URL structure of WP Mods briefly, cleared my cache and tested the speed the page loaded. I personally didn’t see any reduction of queries and Chris himself noted that WordPress developer Andrew Nacin encouraged him to tell people that is isn’t that bad to use /%postname%/.
Chris suggested that WordPress should include a message advising people not to use /%postname%/ as a permalink structure due to performance issues however I have still never had any issues with using it. And as I pointed out last year, there are popular blogs with thousands of pages using this structure so it doesn’t seem to be a problem for most people.
For the time being, I am going to continue to use the /%postname%/ structure here. If it can be shown that this structure can seriously damage the performance of your website then I will have no hesitation is changing it though I agree with Joost de Valk who recently stated that ‘If you’re not willing to invest in WordPress hosting a bit, you might as well not optimize for search‘.
It’s worth noting that if you change your permalink structure from /%postname%/ to a structure such as /%year%/%monthnum%/%postname%/, WordPress will automatically redirect all of your articles to the new URL using 301 redirects. Be warned that this doesn’t happen in reverse. When I changed http://blog.wphub.com/what-is-the-best-wordpress-permalink-structure/ to http://blog.wphub.com/2010/04/what-is-the-best-wordpress-permalink-structure/ the page was automatically redirected to the new URL, however when I changed the permalink structure back to /%postname%/ the URL http://blog.wphub.com/2010/04/what-is-the-best-wordpress-permalink-structure/ produced a 404 page error. Bear this in mind when changing your permalink structure as if WordPress doesn’t handle the 301 redirect for you, you would have to install a plugin to ensure it was done.
Andrew Nacin also commented on Chris Coyiers article that ‘the chances are great that we’ll be removing all performance penalties for %postname% in the release of WordPress 3.3, due later this year’. This suggests that WordPress plan on changing the way they handle URLs, therefore if there are any slight performance issues with certain structures, they should be fixed by the end of the year. This is great news. After all, surely all permalink structures should be treated equally by WordPress from a performance point of view.