← Tutorials

How to Enable SEO-Friendly (SEF) URLs in Joomla

SEO · Joomla 4, 5, 6 · Updated June 1, 2026

✅ Verified on Joomla 5.4.6: the settings and labels below match the live admin (Global Configuration → Site → SEO Settings). Test on a staging copy first.

By default Joomla URLs contain index.php (e.g. /index.php/component/...). Search-engine-friendly (SEF) URLs make them clean and readable (/getting-started), which is better for users and SEO.

Step 1 — Enable SEF URLs

In the admin, go to System → Global Configuration → Site tab → SEO Settings:

  • Search Engine Friendly URLsYes. This alone gives you readable URLs that still contain index.php.
  • Add Suffix to URL → usually No (leave off unless you specifically want .html suffixes).

This step is safe on virtually any server.

Step 2 — (Optional) Remove index.php with URL Rewriting

To drop the index.php part, set Use URL RewritingYes. This needs two things on Apache:

  1. Rename htaccess.txt to .htaccess in your site root (Joomla ships the rules as htaccess.txt).
  2. Your server must have mod_rewrite enabled and allow .htaccess overrides (AllowOverride All).

⚠️ If you turn on URL Rewriting without a working .htaccess/mod_rewrite, every inner page can start returning 404. If that happens, see SEF URL 404 / “Article not found” — the quick fix is to set Use URL Rewriting back to No.

You can build a starter rules file with our .htaccess generator, and a matching robots.txt.

Step 3 — Clear the cache

After changing SEF settings, clear the Joomla cache (and any third-party SEF extension’s cache) so old links don’t linger.