Duplicate URLs are one of the most common SEO problems on static sites. The same page can appear as /about, /about/, /about.html, or /about/index.html. Add tracking parameters and you can quickly create dozens of variants. Canonical URLs are how you tell search engines which version should receive credit.
Pick a single URL policy first
Canonicals help, but consistency helps more. Decide and document:
- HTTPS only. Avoid mixed http/https indexing.
- Host policy. Choose
wwwor non-wwwand stick to it. - Path format. Prefer one: trailing slash, no slash, or explicit
.html.
Static hosting often supports redirects. Redirecting variants to the preferred format is ideal, but even without redirects you can still consolidate signals via canonical tags.
Use self-referential canonicals on every page
Every indexable page should include a canonical tag pointing to its preferred URL. For most pages that is simply the page itself. Avoid the classic mistake of pointing every page to the homepage; that can cause deindexing.
Make internal links match the canonical format
Search engines discover duplicates via links. Update templates so navigation, footers, sitemaps and cross-links use the canonical format. If you canonicalise /blog/, do not link to /blog/index.html everywhere.
Handle tracking parameters explicitly
UTM parameters are not new pages. Ensure:
- Canonical URLs do not include tracking parameters.
- Your sitemap lists the canonical URLs only (see sitemap hygiene).
- Your analytics pipeline captures campaigns without forcing new indexable URLs.
Validate with simple automated checks
For static sites, the easiest validation is deterministic:
- Every HTML page has exactly one canonical tag.
- Canonical URLs are unique across the site.
- Sitemap entries match canonicals.
- Internal links resolve and do not drift.
When you make canonical URLs boring and consistent, crawl efficiency improves and ranking signals stop fragmenting.