SEO Friendly URLs for WordPress Websites

If you’ve been reading about the ongoing benefits of blogging or content marketing, you know that these activities are good for your site’s search engine optimization. There are numerous details to setting up a blog for optimal benefit, not least of which is how to format your post URLs. Read on and I’ll explain an ideal approach.

Assuming you’re setting up your blog ideally, you’ll likely use WordPress software on your own web server. Most Internet marketers worth their salt highly recommend WordPress because it has so many innate advantages for search engine optimization, fresh out of the box. So, my configuration tips are WordPress specific, although SEO-friendly URLs are not necessarily content management system or platform dependent.

In the past, it was sometimes necessary to customize your WordPress software and webserver to generate optimized URLs. Or, one could install a plugin to do the heavy lifting. That’s no longer the case, however, as optimal URLs can now be easily configured through the administrative dashboard interfaces.

First of all, address the basics. Google prefers that URLs have words that describe the page, that they be easily legible to humans as well as machines, and that they be kept short and simple. Microsoft’s Bing recommends the same, saying “keep it clean and keyword rich when possible.” Bing also prefers that, where possible, one should keep out unnecessary elements, such as page content IDs and user session tracking IDs.

Experience further informs us that URLs with fewer directories and subdirectories tend to perform better as well. For example, this isn’t so hot:

A better URL would be shorter, with fewer directories in the structure:

Even better might be:

As more added complexity, if we wanted to incorporate a page name that is composed of a multiple-word phrase, there needs to be some method used to delimit the words since spaces do not work well in various file systems. In place of spaces, we use some other characters in URLs. Commonly, web developers design page URLs using escaped spaces, underscores, periods, and dashes. Of these options, dashes are the best option. Fortunately, WordPress already handles this detail for us, using dashes in place of spaces.

To configure the URL format for your WordPress site, go in your dashboard to Settings > Permalinks. These provide a handful of common settings.


If you read blogs often, some of these formats will look familiar. As you can see, WordPress allows you to use: (1) “Default” with merely the domain plus a querystring name/value pair using the page ID; (2) URL including year, month, day, and post name; (3) URL including the year, month, and post name; (4) URL displaying an “archives” subdirectory and page ID at the end; (4) “Post Name” with only the post name appended as a directory name on the domain; and (5) a “Custom Structure” option.

The most optimal blog URL template is the “Post Name” option, since (a) it allows custom keywords, (b) there’s minimal directory/subdirectory structure, (c) it’s shorter, and (d) it avoids having querystrings or other extraneous, meaningless elements.

However, there can be other considerations. For some blog configurations, there are increased performance issues with using only the post name to specify the article. If you use this option and your page delivery speed degrades, you could use any of the longer format options and it should work better. Or, you can install a page/post caching plugin to help speed things back up.

Playing the devil’s advocate, I know that some marketers could argue that incorporating the category name in the URL structure could help to further emphasize to search engines how the content on the site is semantically related in a hierarchical structure. Here’s an example:

This format might help if you’re wanting your pages to invoke breadcrumb links in the search results, although this isn’t certain. It might very well help in getting your category pages to rank in of themselves in the search results, too. So there can be reasons for using such a format. But I argue that the relation between the keywords in the category directory may not be sufficiently important in getting the individual post to rank well. But, if you want to add that, you can configure it with the “Custom Structure Option,” like this.


Finally, you can customize the URL and fine-tune it in the post-editing interface, just below the title text field. When you have typed the title of your post  and then clicked to begin adding the article text in the larger box below, the Permalink URL will appear directly below the title, and it will have already incorporated the title text, delimited by dashes. Example:


If you’ve chosen a good title, you may not need to customize the URL further. But, sometimes you may have extraneous “stop words” in the title for the sake of legibility, but which are nonessential for the URL. If you have such words like “a”, “the”, “to”, “and”, you could opt to remove those from the generated URL. To do so, click the “Edit” button by the Permalink and edit it, making sure to preserve the necessary dashes between words.

If you already configured your blog’s URLs some time ago, and already have numerous blog posts published, it may not make sense to change your URLs now. Such changes could damage the ranking and performance of pages that already do well. If you make the change to further optimize your URLs, ensure that you properly redirect the old URLs to the new ones.

In short, it’s easy to configure and set up optimal URLs in WordPress.