Fixing WordPress Site Structure Flaw

WordPress Content Siloing and the Category Site Structural Flaw

After using WordPress for several years I have seen several different website structures configured differently. Some websites have the entire site as the blog, meaning the root level is the main blog page. Even more commonly I have seen websites that have both pages and a blog; they place the blog in a page, for example: mysite.com/blog/. Both ways are perfectly acceptable and work well with SEO. In this article I will give some examples of WordPress Permalink structures and you can use this to help you decide what structure is best for your website.

What is Content Siloing?

Content Siloing the creation directories or pages in a hierarchal manner that is logical to the pages and topics within those directories.

For example: if you have a Post title like: “Golden Retriever Puppies Get Into Mischief”, you may apply categories like: ‘Dogs’, ‘Puppies’, or ‘Golden Retriever’ to that Post. So the URL or Permalink for this Post could be: ‘mysite.com/dogs/puppies/golden-retriever-puppies-get-into-mischef/’, or ‘mysite.com/golden-retriever-puppies-get-into-mischef/’. It is up to you to decide which URL structure is best for your website.

If you wanted to setup your website to use a Permalink structure including the category names for content siloing you can simply use this as your Custom Structure: /%category%/%postname%/

When should I use Permalinks with Content Siloing directories and when not to?

You shouldn’t always place your posts in category directories. It is not only about SEO, it is about user experience. A logical folder structure may help people navigate your website. If your URL is really long and stuffed with too many or repeated keywords, then users may see it as spammy and search engines may as well.

If you have a long domain name, too many categories, long category names, or long post names, then you should just place the post under the blog directory or at the root directory like this: /%postname%/

Do you have a short domain name and short and decisive category names? Well if you can make your Post URLs look like this: ‘mysite.com/blog/dogs/golden-retriever-puppies/’. If you keep your post names short and sweet, have only a few categories, and a shorter domain name length, then by all means place your Posts into this format.

So what is wrong with WordPress’ website URL structure?

The taxonomies such as Categories and Tags have root / base directories like ‘/category/’ and ‘/tags/’. For example a Category URL would look like this: ‘mysite.com/category/dogs/’. These directories when accessed directly by a user return a 404 error. This is a dead end to the hierarchal URL chain. Oops. Oh WordPress why have you forsaken me?

Options to fix the WordPress Structural Problem:

Remove the root / base Category Directory

You may want to remove the base or root category directory, I would recommend this for website’s that are solely a blog. There are a few plugins that can remove the root / base directory for Categories and Tags. Here are some of those plugins:

Change the Root / Base Category and Tag directories

You may not want to remove the directory entirely, but instead rename it to an existing page. For example my website has a page set as the blog https://riseofweb.com/blog/, so naturally Categories and Tags should be a child of the directory /blog/. This is a Simple fix, just change the Permalink Settings to Category base: ‘blog’ and Tag base: ‘blog’. Then you will need to add some code to your theme’s functions.php file:

//Change Permalink Priority so you can see post archived pages
add_action( 'init', 'wpse16902_init' );
function wpse16902_init() {
$GLOBALS['wp_rewrite']->use_verbose_page_rules = true;
}
add_filter( 'page_rewrite_rules', 'wpse16902_collect_page_rewrite_rules' );
function wpse16902_collect_page_rewrite_rules( $page_rewrite_rules ){
$GLOBALS['wpse16902_page_rewrite_rules'] = $page_rewrite_rules;
return array();
}
add_filter( 'rewrite_rules_array', 'wspe16902_prepend_page_rewrite_rules' );
function wspe16902_prepend_page_rewrite_rules( $rewrite_rules ){
return $GLOBALS['wpse16902_page_rewrite_rules'] + $rewrite_rules;
}

Thanks to Jan Fabry / Stack Exchange for this code

 

Here is what I chose to use for my Permalink structure:

WordPress Permalink Structure

These simple fixes will help optimize your WordPress websites directory structures. This is just one of the many pieces to create a good website structure. There is also internal linking like: breadcrumbs, structured data schemas, and html sitemap(s) to consider. I would also like to point out you probably don’t want to change the structure of an existing website with first considering the 301 redirects you will have to setup. Which WordPress Permalink solution is right for you? You may have to think it over.

Further Site Structure Reading and Watching: