Joomla SEO Checklist: From SEF URLs to sh404SEF
Visit enough Joomla sites and you'll spot the tell: URLs like /index.php?option=com_content&view=article&id=42&Itemid=15 on a site that's been live for years. It's the most common complaint on the Joomla forums from people inheriting a site — and the most fixable, because Joomla ships perfectly good clean-URL support that's simply switched off by default. That's Joomla SEO in miniature: the core is more capable than its reputation suggests, but almost nothing is enabled out of the box, and a few behaviors (menu-driven URLs especially) work unlike any other CMS.
Global Configuration: the three switches that matter
Go to System → Global Configuration → Site and find the SEO Settings block:
- Search Engine Friendly URLs: Yes. This converts query strings into readable paths.
- Use URL Rewriting: Yes. This removes
/index.php/from URLs — but on Apache it only works after you rename thehtaccess.txtfile in your site root to.htaccess. Forgetting that rename is the classic Joomla gotcha; the setting silently breaks every URL until you do it. - Adds Suffix to URL: No, unless you have a legacy reason to serve
.htmlendings. Extensionless URLs are the modern convention.
Two more in the same screen: set a Site Name and decide whether it's appended to page titles (there's a dropdown for before/after/no), and fill the site Metadata Settings block — the fallback description plus a site-wide Robots dropdown that should read index, follow in production. That dropdown is worth a glance on any inherited site: it's an easy thing for a previous developer to have flipped to noindex during a rebuild and forgotten. Per-article, the real fields live in each article's Publishing tab — Meta Description sits there, and the Browser Page Title override hides in the menu item settings rather than the article, which brings us to Joomla's defining quirk.
URLs come from menus, not content
In WordPress, a post's URL comes from the post. In Joomla, URL structure flows from the menu system: an article's path is built from the menu item it's reachable through, using that menu item's alias. Content not linked from any menu gets routed through whatever menu item Joomla considers closest — which is how you end up with articles living under illogical paths, or reachable at multiple URLs depending on the route the visitor took.
The practical discipline: give every major content section its own menu item (hidden menus work — create a menu you never display, just to anchor URL structure), keep aliases short and keyworded, and never leave important articles orphaned from the menu tree. Multiple routes to one article is also Joomla's main source of duplicate content; recent Joomla versions handle canonical tags better than the 3.x days, but a routing cleanup beats leaning on canonicals.
The sitemap Joomla doesn't have
Here's a gap that surprises people arriving from other platforms: Joomla core generates no XML sitemap at all. You'll need an extension — OSMap is the free standard, JSitemap the commercial alternative with more bells. Install one early, point it at your menus (naturally, since that's where Joomla's structure lives), and submit the result in Search Console. While you're in file-checking mode, look at your robots.txt: older Joomla versions shipped with Disallow: /images/ as a default rule, which blocked every product photo and screenshot from image search. Current releases fixed the default, but upgraded sites carry the old file forward — it's a thirty-second check that occasionally explains years of invisible images.
Where sh404SEF and 4SEF earn their install
For a modest site with sane menus, core SEF URLs are enough. Extensions like sh404SEF (the long-standing commercial option) or 4SEF (its spiritual successor for Joomla 4/5) become worth it when you need: full URL rewriting control per component, a proper 301 redirect manager with logging, automatic handling of the duplicate-URL routing problem, and 404 monitoring that shows you what's breaking. If you're migrating an old Joomla site or restructuring, the redirect manager alone justifies the license — core Joomla's built-in Redirect component (Components → Redirect) works but is bare-bones, and you must enable its system plugin first (System → Plugins → System - Redirect).
Speed, caching, and the extension weight problem
Joomla's caching stack is decent once you turn it on — again, nothing is on by default. Enable Conservative caching in Global Configuration → System, then activate the System - Page Cache plugin (find it under System → Plugins, search "cache") for full-page caching of guest visits. Add Gzip compression from the Server tab of the same Global Configuration screen. Template choice matters as much as it does anywhere: heavyweight template frameworks bundle their own jQuery, icon fonts, and builder layers. Joomla 4 and 5 core got dramatically leaner than 3.x; don't let a 2015-era template throw that away, because it shows up straight in your Core Web Vitals.
Is Joomla worth choosing for SEO in 2026?
Joomla occupies an odd middle: more structured than WordPress (ACLs, multilingual support in core — no plugin needed for either), less demanding than Drupal. That core multilingual support deserves emphasis: language associations and per-language menus ship in the box, generating correct hreflang without an extension — something WordPress can't claim. If you've inherited a Joomla site, there's no SEO reason to migrate off it; properly configured, it ranks fine. For new builds it's a harder sell only because the extension and developer pool keeps shrinking, not because the platform can't compete technically.
Inherited sites are exactly where audits pay off: years of accumulated menu changes mean old routes, orphaned articles, and redirect chains nobody remembers creating. Crawl the whole site before and after you flip the SEF settings — the diff will hand you your redirect map and surface every duplicate route in one pass.
Frequently Asked Questions
How do I enable SEF URLs in Joomla?
Go to System → Global Configuration → Site and set 'Search Engine Friendly URLs' to Yes, then 'Use URL Rewriting' to Yes. On Apache, URL rewriting only works after you rename the htaccess.txt file in your site root to .htaccess — skipping that rename breaks every URL on the site.
Why does my Joomla article have multiple URLs?
Because Joomla builds URLs from menu items, not from content. If an article is reachable through more than one menu route, each route can produce a distinct URL for the same page. Anchor each content section to a single menu item (hidden menus count) and keep articles inside the menu tree.
Do I still need sh404SEF on modern Joomla?
Not always. Core SEF URLs plus disciplined menus cover small and mid-sized sites. sh404SEF or 4SEF earns its cost when you need per-component URL control, a logged 301 redirect manager, 404 monitoring, or automatic cleanup of duplicate routing — typically on larger or migrated sites.
Try WebsiteChecker.Tech Free
Run a free technical SEO audit on any website. Get a client-ready report in minutes.
Start Free Scan