How to Enable SEO Friendly URLs in XenForo

The easiest and quickest way to start optimizing SEO for your XenForo forum board is to enable SEO-friendly URLs. It’s not rocket science and can be done in minutes.

If you want Google or any search engines to recognize your content and attribute it to certain search keywords, you’ll want to ensure that the threads on your XenForo forum have a proper permalink structure.

Here is an example of a non-SEO friendly URL:

www.domain.com/thread-231296-post-1363093.html

Luckily, the default permalink structure in XenForo isn’t that bad. It looks something like this:

www.domain.com/index.php?threads/a-topic-about-cats.3553/

However, we can improve it a bit further by using full friendly URLs.

How to Make your XenForo URLs SEO Friendly

Step 1: Login to your XenForo Admin CP.

Step 2: Click on Setup > Options.

Step 3: Scroll down and find “Search engine optimization (SEO)” and select it.

Step 4: Enable the following options: Use full friendly URLs and Include content title in URLs.

Step 5: Click Save.

Some Clarifications

What does the Use full friendly URLs setting do?

If you enable this option, the links generated by the system will not include “index.php?”. However, to enable this, mod_rewrite must be available and an appropriate .htaccess file (or the equivalent for your web server) must be in place.

What does the Include content title in URLs setting do?

With this disabled, a URL such as /threads/my-thread.128/ would exclude the title and be output as /threads/128/

Friendly URLs Not Working

If you received a 404 Not Found error after turning on SEO Friendly URLs, chances are you have not enable mod_write for XenForo or AllowOverride in your hosting server is set to none.

Locate your apache configuration file, usually available in /etc/apache2/apache2.conf

Change from:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

To:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Leave a Comment