In this article HOST-ED.NET team has collected the best practices and advices from internet for configuring in the right way Permalinks. Because if you follow advices of some “SEO experts” your permalinks should be with simple and “good-looking” pattern. But this could be very bad and dangerous practice!
Let us start by giving a nice big thanks to experts in the SEO community. It’s likely because of them that there are literally thousands, possibly millions, of Wordpress installations that setup with less than optimal settings. Many unsuspecting and uneducated users look to this group of experts for ideas and techniques to improve their search engine rankings and to gather more website traffic. Little do these users know that even some of the most popular people in this group of experts are handing out bad advice regarding how to setup Wordpress systems.
Bad Wordpress Permalinks Advice
Most of the SEO experts on the net recommend that users setup their Wordpress permalinks in a very specific way. Every article on the net I have seen written by an SEO expert regarding Wordpress permalinks suggests that users either use “/%postname%” or “/%category%/%postname%” for their permalink structure. This is a bad idea for many reasons, which I will cover below, yet the SEO experts continue to promote it.
Why Are Those Permalinks Structures Bad?
Well to sum it up very simply it comes down to two things. Speed and Reliability. Thinking from the blog readers points of view these have to be the two of the three most important items that your blog can give them. The third of course being content, but that’s not what we are here to talk about today.
Let’s start off with reliability and how these permalink structures affect that. Both of these permalink structures have the first variable in the structure as a text based keyword. The variables I am talking about of course are %category% and %postname%. Unfortunately by using a text based variable you can cause Wordpress to get confused when the system goes to process the request from your users.
Let us start by giving a nice big thanks to experts in the SEO community. It’s likely because of them that there are literally thousands, possibly millions, of Wordpress installations that setup with less than optimal settings. Many unsuspecting and uneducated users look to this group of experts for ideas and techniques to improve their search engine rankings and to gather more website traffic. Little do these users know that even some of the most popular people in this group of experts are handing out bad advice regarding how to setup Wordpress systems.
Bad Wordpress Permalinks Advice
Most of the SEO experts on the net recommend that users setup their Wordpress permalinks in a very specific way. Every article on the net I have seen written by an SEO expert regarding Wordpress permalinks suggests that users either use “/%postname%” or “/%category%/%postname%” for their permalink structure. This is a bad idea for many reasons.
In fact I was at SearchFest, a Portland SEO & search marketing conference, in March and I watched an SEO expert use this as his suggested permalinks structure to an entire room of people during a Wordpress SEO session. Now I just feel bad for anyone who actually wrote down or took that advice. There are much better ways of setting up your permalink structures.
Why Are Those Permalinks Structures Bad?
Well to sum it up very simply it comes down to two things. Speed and Reliability. Thinking from the blog readers points of view these have to be the two of the three most important items that your blog can give them. The third of course being content, but that’s not what we are here to talk about today.
1.SPEED
Let’s start off with reliability and how these permalink structures affect that. Both of these permalink structures have the first variable in the structure as a text based keyword. The variables I am talking about of course are %category% and %postname%. Unfortunately by using a text based variable you can cause Wordpress to get confused when the system goes to process the request from your users. The reason for this is that there are just too many possible items it can match.
When we look at a example URL of “/blah-blah-blah/”, Wordpress can run into problems when trying to match items to the request. Does it match a category, a page name or a post name? All of these text based variables use the same pattern matching so the system would have to run multiple database queries to figure out what the user is looking for. That’s not to mention the fact that the system also has to parse that request for attachments, tags, author pages and feeds which all use text based keywords as well.
Even then the system could get confused if you have a page/sub page combination that matches the slug of a category/post combination. Which one should the system load? These combinations of random keywords could easily cause Wordpress to load the wrong page or post for a user which in turn makes your site less reliable in the user’s eyes.
So now compound all of the above with the speed issues. The most obvious of speed issues is that Wordpress has to run all of those database queries that I mentioned above. Those are not lightweight and fast queries. They take time and delay the loading of the page that the user is requesting. How many times have you left a site because it loaded too slowly?
Another speed issue is for the Wordpress author themselves. When using a permalinks structure with a text keyword as the first variable you end up causing Wordpress to generate internal redirects to try and fix the issues mentioned above. These redirects are stored in the wp_options table in the database and are generated when authors add and edit posts or pages in the system.
The system is semi smart and generates internal redirects for all the pages that are loaded into the system. A simple page with a couple of attachments, whether they are displayed or not, can easily generate 11 internal redirects in the database. This is because the system needs the redirects for the page, it’s attachments, the trackback URLs and feeds that go with it. To make matters worse the system has to have a line for the redirect as it would show up in the request, the permalink for the item, and a line for how Wordpress is to understand that request. So now we can double the number of lines in the database for that one post to 22 lines.
So by using the permalinks structure with the first variable being a text based keyword the system now generates these redirects upon saving a post/page and causes delays for the author. In fact there have been reports where users with 200 or so pages, with random attachments, in their Wordpress installations actually causing server time outs during the generation of these redirects. This causes them not to be able to post to their Wordpress installations at all.
Continuing with the speed problems, lets not give up on those internal redirects. Those internal redirects also affect the users of the website and their page loading speeds. With every page request the system has to load all of those extra redirects and process them. That’s 22 extra lines of code per request that has to be processed before the page will load for the end user. Imagine if you had a simple site with 10 pages, that’s an extra 220 lines of code. That is of course is on top of the other 125 lines of code for internal redirects that Wordpress needs by default with no pages.
I took a look at one of my customers blogs who has 24 pages and compared that to his internal redirect list. His redirect list had a total of 773 lines of code that needed to be processed for every request to his blog. As you can see that 22 lines of code is a lower end figure when compared to his total number of pages. On our blog we have 22 pages and do not use one of the permalink structures above.
Be advised that none of this touches on what kind of damage your doing to your server. Since Wordpress is written in PHP and MySQL, all of the requests and code are processed on the server side rather then the user’s end of the connection. By adding excess lines of code for redirects and increasing your number of database queries, you are also increasing the amount of work your web hosting server is having to do. That also isn’t a good thing.
To be continued….







