SEO advice usually starts with content and backlinks. Both matter, but a template can quietly undermine them: two <h1> tags on every page, missing meta descriptions, a canonical tag that points at the wrong URL, or demo assets that ruin Core Web Vitals.
This checklist covers the template layer — the part you control before writing a single article. Work through it once per site, then re-check after major template or Joomla updates.
1. Turn on Joomla’s SEO settings first
Before touching the template, confirm the basics in System → Global Configuration → Site → SEO:
- Search Engine Friendly URLs enabled.
- Use URL Rewriting enabled, with
mod_rewrite(Apache) or the equivalent on Nginx/IIS. - Add suffix to URLs chosen and applied consistently — the suffix itself matters less than not changing it later.
- Unicode Aliases set according to your audience and kept stable.
Open a few URLs in a private window and check that they resolve without index.php, without redirect chains and with the same trailing-slash convention everywhere. If you change URL structure after launch, add 301 redirects for the old paths.
2. One page, one h1
Template overrides are the usual cause of duplicate headings. Check a sample of page types:
- An article page should have one
<h1>containing the article title. - Listing pages should use
<h1>for the page title and<h2>for each item. - Module titles should not be rendered as
<h1>. - Section headings should follow a logical order without skipping levels for styling reasons.
The quickest test is to open a page and outline its headings with a browser extension or the accessibility panel in DevTools. If the outline reads like a document, the markup is doing its job.
3. Make metadata visible to the template
Joomla stores a meta description, keywords and robots setting per article and per menu item. The template has to render them.
- Every indexable page needs a unique, useful meta description. Empty descriptions are the most common template-level SEO bug.
- The
<title>should follow one pattern, such as “Page title — Site name”, without duplicated separators. - Check that the robots setting actually reaches the page; a “No index” article that still renders
index, followmeans the template is ignoring it. - Avoid keyword lists in the keywords field; they are not a ranking signal, and auto-generated lists look spammy.
For a site with dozens of templates and categories, spot-check one page of each layout rather than every URL.
4. Audit canonical URLs and duplicates
Duplicate URLs split signals. Look for:
/pageand/page/both resolving.index.php/pagevariants still reachable.- Paginated listings, print layouts and search results indexed as separate pages.
- The same article reachable through a category, a tag and the homepage.
Joomla core does not guarantee a canonical tag on every layout, so verify whether your template or an SEO extension outputs one, and that it points at the preferred URL. Use canonical tags for genuine duplicates and noindex for pages that add no search value, such as internal search results and user profiles.
5. Check structured data against the visible page
Structured data helps search engines understand the page, but only when it matches what the visitor sees. Depending on the template and extensions, check for:
ArticleorBlogPostingon editorial pages, with headline, dates and author.OrganizationandWebSiteat site level.BreadcrumbListthat matches the visible breadcrumbs.Productonly when a valid offer and price exist — product markup without offers is rejected.
Validate a sample of page types with Google’s Rich Results Test, and fix mismatches between markup and content rather than adding markup for content that is not there.
6. Treat the template demo as a performance warning
Demo sites are built to look good in a portfolio, not to be fast. Common leftovers:
- Sliders, galleries and icon fonts that no page uses.
- Multiple CSS and JavaScript files loaded on every page.
- Large images without
srcsetor explicit dimensions. - Third-party scripts loaded before content.
Measure with Lighthouse or PageSpeed Insights on a staging copy with real content. Then:
- Compress and resize images, and serve modern formats.
- Load non-critical images lazily, but keep the main above-the-fold image eager.
- Preload the fonts the page actually uses.
- Enable caching and compression at the server level.
- Remove extensions the template demo needed but your site does not.
Focus on the three Core Web Vitals: largest contentful paint, interaction to next paint and cumulative layout shift. A stable layout — image dimensions, reserved space for embeds — fixes most layout-shift problems.
7. Test mobile navigation, not just mobile layout
Most traffic is mobile, and the menu is where templates fail first. On a real phone:
- Open and close the mobile menu with one thumb.
- Check that dropdowns are reachable and do not trap focus.
- Confirm forms are usable without zooming.
- Look for horizontal scrolling caused by tables or wide images.
- Verify tap targets are large enough and visually distinct.
A template that passes a desktop audit can still be frustrating on a phone.
8. Build internal links on purpose
Internal links spread authority and help visitors find related content. Check:
- The menu structure reflects the site’s main topics, not the demo’s.
- Breadcrumbs are visible and link to real category pages.
- Related-content modules point to relevant articles, not random recent ones.
- No important page is orphaned — reachable only from the sitemap.
- Category and tag pages link back to their articles and to sibling categories.
A simple rule: every guide should link to at least one category page and one product or service page. On this site, that means links from articles to template previews and relevant category pages.
9. Sitemap, robots and indexation
Joomla core does not ship a sitemap generator; use an extension or generate the sitemap at build time. Then:
- Reference the sitemap in
robots.txt. - Keep CSS and JavaScript crawlable — blocking them breaks rendering.
- Use
noindexfor low-value pages instead of blocking them inrobots.txt. - Submit the sitemap in Google Search Console and watch for coverage errors after template changes.
10. Review article layouts for content quality signals
The template controls how content is presented, and presentation affects perceived quality:
- Show the publication date and, when relevant, the updated date.
- Avoid duplicating the article intro in a module above the content.
- Keep line length readable and body text large enough on mobile.
- Do not hide content behind tabs or accordions if it matters for search.
- Give category and tag archives unique titles and descriptions, or keep them out of the index.
A pre-launch checklist
Before launching or re-launching a Joomla site, confirm:
- SEF URLs and URL rewriting work without redirect chains.
- One
<h1>per page, headings in order. - Unique meta descriptions on indexable pages.
- Robots settings render correctly.
- Canonical tags point at the preferred URL.
- Structured data validates and matches visible content.
- Core Web Vitals pass on mobile with real content.
- Mobile menu and forms are usable one-handed.
- Every important page is linked from navigation or content.
- Sitemap is generated, referenced and submitted.
- No duplicate URLs are indexed.
- Search Console shows no new coverage errors.
Re-run steps 2, 6 and 7 after major Joomla updates. Automatic core updates are convenient, but they can change markup that template overrides depend on — the Joomla 6 upgrade guide covers that in more detail.
SEO is mostly content and links, but the template decides whether search engines can read that content properly. Fix the template layer once and every article you publish afterwards starts from a level playing field.
For the official guidance on structured data and Core Web Vitals, see Google Search Central and web.dev.