hreflang on a static site with clean URLs: the .html mistake
We maintain several small multilingual sites on static hosting. One of them — a shop in Funchal — had a quiet SEO problem that took one line per page to fix. The setup. Netlify serves /blog/article.html at the clean URL
We maintain several small multilingual sites on static hosting. One of them — a shop in Funchal — had a quiet SEO problem that took one line per page to fix.
The setup. Netlify serves /blog/article.html at the clean URL /blog/article and redirects the .html version. The canonical tag pointed to the clean URL. But the hreflang tags still pointed to …/article.html.
Why it matters. Google expects hreflang alternates to point to the canonical, indexable URL. If they point to a redirect, the language cluster is inconsistent and Search Console starts reporting pages "with redirect" and alternate-page issues.
The fix. Make every URL that describes the page agree: canonical, hreflang (including x-default), og:url, structured data url/mainEntityOfPage, internal links and the sitemap — all without .html.
A quick check you can run:
grep -rn 'hreflang' --include=*.html . | grep '\.html"'
Anything it prints is a page to fix.
Takeaway. On static sites, URL rules live in two places — hosting redirects and your HTML. When you change one, search for the other.
We build and maintain multilingual websites for small businesses: weblevo.com
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.