How to Prevent Duplicate Content on Joomla and WordPress Using .htaccess

URL management is critical for maintaining a consistent and SEO-friendly website. For Joomla and WordPress users, small inconsistencies—like trailing slashes or mixing www and non-www—can lead to duplicate content issues and harm your site's performance.

This guide explains how to optimise your URLs using .htaccess for both platforms, ensuring a seamless experience for visitors and search engines alike.

Why URL Consistency is Key

For Joomla and WordPress sites, URLs can have subtle variations:

  • With or without www
  • With or without trailing slashes
  • .html extensions vs extensionless URLs

These differences may confuse search engines, splitting link equity and creating duplicate content. Using .htaccess rules, you can enforce consistency across all URLs, making your site more user-friendly and SEO-optimised.

Updated .htaccess Rules for Joomla and WordPress

Here’s how you can use .htaccess for essential URL management tasks.

1. Force WWW or Non-WWW and HTTPS

Enforcing a standard domain format improves consistency. Choose either www or non-www, then redirect all traffic accordingly.

  • Force WWW and HTTPS
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
  • Force Non-WWW and HTTPS
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Explanation:

  • Redirects all requests to the chosen domain format.
  • Enforces HTTPS for a secure browsing experience.

Best Practice: Pick one (either www or non-www) and redirect all variations to the chosen format. This avoids duplicate content and standardises your URLs.

2. Enforce or Remove Trailing Slashes

Decide whether to use trailing slashes consistently across your site.

  • Remove Trailing Slashes
RewriteCond %{REQUEST_URI} /[^/.]+/$
RewriteRule ^(.*)/$ /$1 [R=301,L]
  • Enforce Trailing Slashes
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1/ [R=301,L]

Why This Matters:
Whether using Joomla or WordPress, both trailing and non-trailing slash versions can exist, confusing search engines. Choosing one version prevents duplication and ensures all links point to the same page.

3. Remove .html Extensions

If you want cleaner URLs without .html extensions, use this rule:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

Benefit: Users can type example.com/page instead of example.com/page.html, improving readability and user experience.

4. Redirect .html Extensions to Extensionless URLs

To completely standardise URLs, redirect .html pages to their extensionless counterparts:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

Why Use This: Ensures your .html and extensionless URLs don’t compete, consolidating SEO benefits.

Specific Considerations for Joomla and WordPress

  1. Joomla:

    • Joomla sites often allow both trailing and non-trailing slashes. Decide which format you want and redirect accordingly.
    • Use the Joomla SEF (Search Engine Friendly) settings in combination with .htaccess for full control.
  2. WordPress:

    • WordPress automatically handles some of these issues, but .htaccess allows more precise control over redirects and URL structure.
    • Use plugins like Yoast SEO/RankMath for additional management but rely on .htaccess for server-level redirects.

Test and Verify Your Changes

After applying these rules, verify that your site behaves as expected:

  • Test multiple URL variations (e.g., www, non-www, with and without trailing slashes).
  • Use tools like Redirect Checker or Google Search Console to monitor changes.
  • Always back up your .htaccess file before making updates.

Further Notes...

URL consistency is a cornerstone of good SEO and a smoother user experience. Implement these .htaccess rules to ensure your Joomla or WordPress site avoids duplicate content issues, consolidates link equity, and maintains a clean, professional URL structure.

Ready to Optimise Your Site?

Take control of your URL management today! If you need help implementing .htaccess rules for your Joomla or WordPress site, reach out to our experts.