How To Optimize Your Permalinks To Increase Website Speed


As you probably already know, there are good permalinks and there are bad ones. When you have a website with a lot of pages and posts combined with a permalink structure which is not optimized, you might bring it to a crawl.


Now with permalinks we have to be careful because an SEO friendly permalink might not necessarily be a good permalink for performance and vice versa. So where is the balance between the two?

Well from an SEO perspective a good permalink is one which includes the postname and maybe the category as well, like the examples below:

Example 1: www.mydomain.com/postname
Example 2: www.mydomain.com/category/postname


But when it comes to performance it is not a good idea to start your URL structure with a postname, tag, author or category field. The reason behind this is that these are text fields and when used at the beginning of a URL it makes it very complicated for Wordpress to distinguish between a post URL or a page URL.

Posts and pages use both the page slug within their URL and Wordpress stores a lot of extra information in its database in order to compensate for that and be able to distinguish between posts and pages. Therefore, from a performance point of view it's best to start you URL structure with a numeric field such as the the year or post ID.

What does this mean? It means that the most popular SEO permalink structure (like examples 1 and 2 above) is bad for performance.

But can't we have both, SEO & Performance? Absolutely! We just have to follow both requirements (i.e. start the URL with a numeric field and always included the postname and/or category fields in our URL - see below).

What An Optimized And SEO Friendly Permalink Looks Like


Well it basically has the following characteristics:

  • It doesn't start with text fields like tag, author, category, postname
  • It starts with a numeric field like the year number
  • It ends with postname or category/postname so that it points to an individual post



So, examples of Optimized AND SEO Friendly permalinks would include:

Example 1: www.mydomain.com/year/postname
Example 2: www.mydomain.com/year/category/postname
Example 3: www.mydomain.com/year/month/postname
Example 4: www.mydomain.com/year/month/category/postname
Example 5: www.mydomain.com/postid/postname
Example 6: www.mydomain.com/postid/category/postname


Needless to mention that if you want to follow the above recommendations you will have to do it for your next new site or a site which you have just started working on and doesn't have a back-linking legacy on it. Because in that case, if you change your permalink structure you just compromise your entire back-linking efforts.


Join the Discussion
Write something…
Recent messages
Pobman Premium
I would not suggest most people run with W3 Total Cache, unless your server is setup right you will not see all the improvements from this plugin and you can actually make things worse. If you install it and you only have options for Disk caching, i.e. no APC etc. then I would just jump ship to Super Cache which pretty much works out of the box.

Running with the CDN though is a massive improvement for most people, I now run most sites with static content on cloudfront and the difference is out of this world.

FYI Cloudfront have added Sydney Australia to their CDN... makes them a winner in my book!

Nice guide though.
Reply
Viterbi Premium
I agree: W3 Total Cache, works even better with APC. For those who don't know, APC stands for Alternative PHP Caching and it's an opcode running on the server side which offers a more efficient caching model. In other words, in some hosts you cannot enable it and you have to use the Disk Caching option in W3 Total Cache. For those cases, I fully agree, it's better to use WP Super Cache as your caching solution.

As far as the CDN and CloudFront is concerned, I also think it's one of the best CDN providers around.

Thanks for the comment Pobman!
Reply
Denisara Premium
smush it doesnt appear to work. it does nothing if I 'mass smush' and if I do them one at a time (and I have 364 pics) it times out. any suggestions? here is the error message I am getting: Automatic smushing has been disabled temporarily due to an error. Operation timed out after 20071 milliseconds with 0 bytes received

i tried a few more pics to "smush" and now they show up "BLANK" how do i get them back? this does NOT work
case in point:
http://bonestrivia.com/bones-season-eight-begins/bones-season-eight

this is one pic "smushed" out of about 12 that i tried this on. how do you reverse this ??????

i guess i have to redo that work completely if I want pictures to show UP
Reply
Pobman Premium
smush does work... some of the time.. the problem is the service is totally overloaded and Yahoo clearly dont care to improve things... it works like 1:10 times it would seem... a shame.

However other than getting the error I have never actually had an issue with it damaging a site.
Reply
Viterbi Premium
Sometime Yahoo's server gets overloaded from users doing the same thing as you do. The reason is that Smush.it sends a COPY of your image to Yahoo's server -> It optimizes this copy -> And then downloads it to your website. Next time you try it, it should be fine.

Regarding the problem with the blank picture, I also never had any issues and I also cannot find any similar incidents online. It's very safe, especially because of the way it's working (described above: copy is sent to server, optimized and then downloaded). Even if the process get's stack in the way, your original will stay intact.
Reply
Pobman Premium
There are other plugins which do similar things, though they all seem to require certain resources to be installed on your server which makes them unlikely to work for those on shared hosting.

If you need to 'fix' a whole site and the bulk change tool is not working then using the multiple upload tool at smush.it is almost as easy. Just FTP all your images down, smush and upload. The advantage here is you do get to check each image first. Thinking back to the problem of SmushIt breaking images I have now and then had issues with PNG and transparency...

A lot of people will just rely on the CDN though, because at the speed the CDN works at even large images come down lightning fast. This of course is not solving the problem, just going around it.
Reply
Denisara Premium
funny, I was told that W3 Total Cache is a mistake to use unless you get like over 10k visitors per month by either Jay, Kyle or Carson...among others. The rest of what you say to do does not make sense to a newb such as myself but thanks for the article...maybe it will help someone else
Reply
Viterbi Premium
W3 Total Cache is a really complicated plugin and you have to do your homework if you want to start playing with the advanced options it provides.

I also agree with the opinion that W3 Total Cache might perform even better in more popular sites (sites receiving more visitors). For less popular sites, WP Super Cache could be more efficient and easy to use.

Bottom line: Each site is different and you can test both options (or even other ones as well) to see what works best for you. The point here is that your website would be far more efficient and optimized if you integrated a caching solution to it (whatever that is).

P.S. I tried to make this training as "newb-friendly" as possible :-)
So please let me know where you need support and I'll do my best to help!
Reply
Viterbi Premium
Thank you Roger!
Reply
morlandroger Premium
WOW this is very comprehensive! Will come back to it and look at some of my sites again with a view to speeding up load times. Thanks for this
Reply
Top