One of the strengths of WordPress is that it does very well in the search engines right out of the box. And then there are a ton of things you can do to give and extra boost to that natural SEO strength that WordPress has by default.

Weak LinkOne of the easiest things to do is change the default WordPress permalink structure, which is one of the first things that most folks do when setting up a new WordPress website. (From your WordPress dashboard just go to Settings –> Permalinks and make your change there.)

What Are Permalinks?

For the uninitiated, Permalinks are what WordPress calls the URL structure that the software generates when creating posts and pages, etc. It’s everything that shows up after the “.com” (or .org, etc.) when navigating around your website.

Because WordPress uses the PHP programming language the default way WordPress sets up permalinks with with a /?p=123 kind of query. For example the default permalink format for this post would be:


Besides being a little ugly, having permalinks like that does nothing for you in the search engines.

Improving SEO

When it comes to ranking well in the search engines it is important to have your most important keywords in the actual URL (i.e. web address or permalink) of your web page. The search engines certainly factor that in, though it is debatable how much so.

Since SEO experts are in the business of squeezing every bit of optimization out of each page you’ll often see them recommend either just using your post title or using your category (to get some extra keywords) along with the post title as your permalink structure. If we did that here, this post would look like one of these examples:


That’s definitely more readable. And it will also help out some with SEO for sure because it puts more of your permalinks.

But there’s a catch. It’s a big one, especially for small business websites.

WordPress Performance

Unfortunately, because of the way WordPress works, having a text variable such as the post name, category, tag or author can cause huge performance problems if you have more than a handful of pages beyond your blog posts. (You can find the technical explanation why here.)

While there is some discrepancy about how many pages it takes before it becomes a problem – I’ve seen anywhere from 10 – 50 pages – there is no denying that your site can easily get into a situation where it bogs down completely with those completely SEO-centric permalink structures.

While it’s true that folks who just blog on their WordPress websites can get away with these, this can become a big problem for most small businesses which tend to have more pages on their websites than most bloggers have. (For example, has 30 pages right now and I’m about to add a few more.)

As businesses grow the need to add pages on their website grows too. For example you’ll likely want to add pages as your product or service offering grows or when you add staff.

Better Choices

Because of the performance issue that results from the above approach when you have numerous pages you are much better off putting a numeric variable such as the year or post ID, or choosing a fixed plain text prefix such as “blog” or “article” before the text variable in your permalink settings.

Some examples in how that might look for this post:


In your Permalink Settings these four examples would be entered like this:

  • /%year%/%postname%/
  • /%post_id%/%postname%/
  • /blog/%postname%/
  • /article/%postname%/

EDIT: Per Otto’s comment below (and he’s pretty much the authority on this particular issue, by the way) “fixed text” doesn’t solve the problem either.

Any of these eliminates the WordPress performance problem. Each of them has their strengths and weaknesses, and this is where we delve into the realm of opinion.

My Recommendation

Personally I prefer using /%post_id%/%postname%/ for permalinks. The downside of using this structure is that it uses an arbitrary and outwardly meaningless number in your URL which doesn’t make a whole lot of sense to most website visitors. It is next to impossible to guess should anyone want to directly type your URL into their address bar.

However, on the plus side the post ID is a unique designator for each blog post. That means that you can share just the post ID and direct people to a specific blog post when you are short on space. Twitter is one such place where it could come in handy, as an example.

So will still get folks to this post and I have a built in URL shortener. I’ve found that to be pretty handy on several of my websites.

Trying a shorter version of the other options will just produce a list of all your blog posts. Well, OK. When you use the year you’ll just get a list of the posts in that year. But either way it’s not as useful, at least to my way of thinking.

That said, I can see the arguments in favor of some of the other options. So I ask you, which of the options makes more sense to you?


SuccessCREEations is now Kingdom House Productions