SEO
Technical SEO Checklist for a New Joomla Site
Joomla has a reputation for being weak at SEO out of the box. It is mostly undeserved — what it actually needs is half an hour of configuration that nobody does. This is the technical groundwork, in the order worth doing it.
One thing to get out of the way first: you almost certainly do not need a large SEO extension. Modern Joomla covers the routing, canonicals and metadata that those extensions were built to supply, and a component that rewrites every URL on the site is a substantial risk for a benefit you may already have.
1. Get the URLs right
In Global Configuration → Site → SEO:
- Search Engine Friendly URLs — on.
- URL Rewriting — on, after renaming
htaccess.txtto.htaccess(nginx users need the equivalent rules in the server config). - Remove IDs from URLs — on. Leave it off and every article is reachable both with and without its numeric ID.
- Site Name in Page Titles — After, so the distinctive part of the title comes first. Search results truncate the end, not the beginning.
Do this before publishing. Changing URL structure on an indexed site means a redirect map and a period of lost rankings.
2. Deal with duplicates
Check what your site actually emits before assuming this is covered. Joomla does not output a canonical link by default: the core SEF plugin only adds one when its Domain field is filled in, and even then the tag it produces points at the current address, query string included. View the source of an article page and look for rel="canonical".
Whatever you do about the tag, the structural fix matters more — duplicates on Joomla sites come overwhelmingly from articles reachable through several menu paths.
Plan the menu so each article has one natural route. Where that is impossible, point the variants at one canonical URL. There is a fuller treatment of this in our piece on removing duplicate content.
3. Consolidate the hostname
Serve the site from one hostname and redirect the rest permanently. In .htaccess, after RewriteEngine On:
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
Do the same for HTTP to HTTPS if your host is not already handling it. Two hostnames serving identical content is the cheapest duplication problem to fix and one of the most common.
4. Publish a sitemap
Joomla core does not generate an XML sitemap; you need an extension for it. Whichever you choose, check two things: that it respects access levels — an unpublished or restricted page has no business in the sitemap — and that it excludes the archive and tag views if those are not pages you want ranking.
Submit the sitemap URL in Google Search Console and Yandex Webmaster once it is live.
5. Keep robots.txt short
Start from Joomla's shipped file and resist the urge to grow it. Two adjustments are usually worth making.
Remove the rule blocking /images/ unless you have a reason to keep image search out. And point crawlers at the sitemap:
Sitemap: https://example.com/sitemap.xml
Two directives you may find in older Joomla guides are obsolete: Host: is no longer used by Yandex, which now expects a 301 like the one above, and blocking /component/ wholesale can cut off views you actually want indexed. Check what those URLs serve on your site before blocking them.
Remember what robots.txt does not do: it stops crawling, not indexing. To keep a page out of results, use a noindex robots meta tag, which requires that the page stay crawlable.
6. Turn on the redirect manager before you need it
Enable the System - Redirect plugin and the Redirects component. It records the 404s your site actually serves, which is how you find broken inbound links from other sites — the ones you would otherwise never know about.
What this does not cover
All of the above is plumbing. It stops the site from working against itself; it does not make anything rank. Titles, headings, internal linking and whether the page answers the question someone typed — that is the next layer, and it is where the actual work is.