WordPress Permalinks

WordPress Permalinks

The Best WordPress Permalink Structure

If you’ve doing a search for the best WordPress Permalink Structure you will find that the vast majority of SEO experts recommend either of following permalink structures for the best search engine results. (If you don’t have a clue what a permalink is click here)

%postname% – This is the most common permalink structure
%category%/%postname%

And these are excellent permalink structures for usability and SEO, however, they come at a cost. They aren’t scalable. Currently WordPress holds all the rewrite_rules in a single database field in the wp_options table. If you have a few dozen pages and post, you may have a few hundred rewrite_rules in it. And this is just fine. But if you have a few hundred pages and attachments, the amount of rewrite_rules goes up exponentially. And this will slow down your site and lead to crashes.

Furthermore, starting your permalink structure with the category, tag, author, or postname fields requires more time for WordPress to distinguish your Post URLs from Page URLs (which use the text “page slug” as the URL) so again WordPress is forced to store a lot more information in it’s database.

For performance reasons, it is not a good idea to start your permalink structure with the category, tag, author, or postname fields. The reason is that these are text fields, and using them at the beginning of your permalink structure takes more time for WordPress to distinguish your Post URLs from Page URLs (which always use the text “page slug” as the URL), and to compensate, WordPress stores a lot of extra information in its database (so much that sites with lots of Pages have experienced difficulties). So, it is best to start your permalink structure with a numeric field, such as the year or post ID.

By now your probably thinking forget permalinks, I’ll just leave it alone. And this is a perfectly reasonable thing to do if you want WordPress to manage the site as efficiently as possible. But then you won’t get the nice intuitive link in the address bar and you won’t get to put those all important keywords in it either. So what to do?

In example, without permalinks this page’s address would be http://armandgilbert.com/?p=1001

Well if you’ve got a small site and don’t plan of ever having hundreds of pages.

Good Enough

%postname%
%category%/%postname% - Are both just fine.

If on the other hand you are planning a much larger site with hundreds of post then you may want to consider one of these two formats:
Better
/%post_id%/%postname%/
/%year%/%category%/%postname%/


If you are new to the WordPress, you may be wondering…

What are Permalinks?

A permalink is what a visitor to your WordPress site will see in the the address bar of their browser when they go to an article and is link you would send to someone directing them to a page on your site. The term is a portmanteau of Permanent and Link hence- permalink.

Permalinks are configured in the permalinks option under the Settings Menu in the WordPress Admin Panel. Permalinks are the permanent URLs to individual WordPress posts, as well as categories and other lists of blog postings. Properly configured permalinks can have a profound effect on your site’s stability, speed, aesthetics, SEO, and usability.

Permalinks Options

%year%
The year of the post, four digits, for example 2004

%monthnum%
Month of the year, for example 05

%day%
Day of the month, for example 28

%hour%
Hour of the day, for example 15

%minute%
Minute of the hour, for example 43

%second%

Second of the minute, for example 33

%post_id%
The unique ID # of the post, for example 423

%postname%
A sanitized version of the title of the post (post slug field on Edit Post/Page panel). So “This Is A Great Post!” becomes this-is-a-great-post in the URI.

%category%
A sanitized version of the category name (category slug field on New/Edit Category panel). Nested sub-categories appear as nested directories in the URI.

%author%
A sanitized version of the author name.

Leave a Comment

Your email address will not be published. Required fields are marked *