Home›Checklists›International SEO / Hreflang Checklist

Free SEO checklist · 9 sections · 11 checks

International SEO / Hreflang Checklist

An international SEO and hreflang checklist helps multi language and multi region websites choose a URL structure, implement valid reciprocal hreflang with x-default, align canonicals, localize content, and avoid forced geo redirects.

11 Checks7 High priority9 SectionsPDF · Word · Excel Formats
Download checklist

SiteAuditLint checklist library

What this checklist covers

An international SEO and hreflang checklist helps multi language and multi region websites choose a URL structure, implement valid reciprocal hreflang with x-default, align canonicals, localize content, and avoid forced geo redirects.

It is organized into 9 sections: Strategy, URL Structure, Hreflang, Canonicals, Content, Internal Links, Sitemaps, Redirects and Validation. Each check lists exactly what to verify and a priority, so you can work through the highest impact items first.

For background on the concepts behind these checks, see URLs lesson, Booking.com SEO audit, Agoda SEO audit.

Who it is for:

International SEOsdevelopers

Download the international seo / hreflang checklist

Use the interactive version below, or download it to share with your team, attach to tickets, or work through offline.

International SEO / Hreflang Checklist

Work through each check

0 of 11 checks complete

Strategy

URL Structure

Hreflang

Canonicals

Content

Sitemaps

Redirects

Validation

Progress is saved in this browser only.

Detailed explanations

Each section below explains what to check, why it matters, the problems you will usually find, how to fix them, and how to confirm the fix.

Strategy

What to check:

  • Define markets. Countries and languages documented.

Why it matters: Hreflang tells search engines which language or regional version of a page to show each user. Errors cause the wrong locale to rank or tags to be ignored entirely.

Common problems:

  • Missing return tags between language pairs
  • Invalid language or region codes
  • Hreflang pointing to redirected or non canonical URLs
  • No x-default fallback

How to fix it: Generate hreflang sets from one source of truth, ensure every pair is reciprocal, use valid ISO codes, and point only at canonical 200 URLs.

How to verify: Crawl all locales and run an hreflang validation report. Every tag should have a return tag and resolve to an indexable URL.

Learn more: URLs lesson, Missing lang attribute issue.

How SiteAuditLint helps: it checks strategy across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

URL Structure

What to check:

  • Choose URL structure. ccTLD, subdomain or subfolder chosen.

Why it matters: Headings outline the page for users, search engines, and AI systems extracting passages. A clear H1 states the topic, and logical H2s make sections easy to cite.

Common problems:

  • Missing H1 on templates
  • Multiple H1s from shared components
  • Headings used for styling rather than structure
  • Skipped levels that break the outline

How to fix it: Use one H1 that states the topic, then H2 and H3 in a logical order. Fix shared components that output extra H1s.

How to verify: Crawl and filter for missing, duplicate, and multiple H1s, then review the heading outline on key templates.

Learn more: Headings lesson, H1s lesson, Multiple H1 tags, Why articles need H2 to H6.

How SiteAuditLint helps: it checks url structure across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Hreflang

What to check:

  • Implement hreflang. Valid ISO language and region codes.
  • Check return tags. All hreflang pairs are reciprocal.
  • Add x-default. x-default set for fallback.

Why it matters: Hreflang tells search engines which language or regional version of a page to show each user. See the earlier section on this topic for common problems.

How to verify: Crawl all locales and run an hreflang validation report. Every tag should have a return tag and resolve to an indexable URL.

How SiteAuditLint helps: it checks hreflang across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Canonicals

What to check:

  • Align canonicals. Each locale self-canonicals.

Why it matters: The canonical tag tells search engines which version of a page is the preferred one when duplicates or variants exist. It consolidates ranking signals onto one URL. A broken canonical can quietly deindex the page you care about most.

Common problems:

  • Canonicals pointing to staging or development domains
  • Relative canonical URLs that resolve incorrectly
  • Canonicals pointing to redirected, 404, or noindexed URLs
  • Every paginated or variant page canonicalized to page one

How to fix it: Use absolute canonical URLs on the production domain, make indexable pages self canonical, and point duplicates at a live, indexable 200 URL.

How to verify: Crawl the site and compare the canonical URL with the page URL. Flag any canonical that is non self referencing, redirects, returns an error, or is noindexed.

Learn more: Canonicals lesson, Canonical tag issues and fixes, Missing canonical issue, Canonicalised URL issue.

How SiteAuditLint helps: it checks canonicals across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Content

What to check:

  • Localize content. Translated, not machine duplicated.

Why it matters: Search engines reward content that fully satisfies intent and adds information not already available. Thin, duplicated, or generic content is filtered out or outranked.

Common problems:

  • Thin pages with little unique value
  • Manufacturer or templated copy repeated across pages
  • Missing coverage of related subtopics and questions
  • No original data, examples, or experience

How to fix it: Consolidate thin pages, rewrite duplicated copy, cover the entities and questions users expect, and add original information.

How to verify: Review word count and duplicate content reports, then compare coverage against top ranking pages for the target query.

Learn more: Thin content, Optimize content for answer engines, Keyword vs entity optimization, Thin content issue.

How SiteAuditLint helps: it checks content across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

What to check:

  • Link locales. Language switcher uses crawlable links.

Why it matters: Internal links distribute authority, define site architecture, and help crawlers discover content. Broken links waste crawl budget and frustrate users, while orphan pages are almost invisible to search engines.

Common problems:

  • Links to deleted pages returning 404
  • Links pointing to redirected URLs instead of final destinations
  • Orphan pages with no internal links
  • Generic anchor text like click here on important links

How to fix it: Fix or remove broken links, update links to point at final URLs, link to orphan pages from relevant hubs, and use descriptive anchor text.

How to verify: Crawl the site and review the broken links, redirecting links, and inlinks reports. Compare sitemap URLs against crawled URLs to find orphans.

Learn more: Internal links lesson, Fix broken internal links, Orphan pages, Internal link analysis.

How SiteAuditLint helps: it checks internal links across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Sitemaps

What to check:

  • Add hreflang to sitemaps. Sitemap hreflang matches on-page tags.

Why it matters: An XML sitemap is a list of URLs you want search engines to find and index. It helps discovery of new and deep content and acts as a canonical signal. A sitemap full of redirects, errors, or noindexed URLs weakens trust in that signal.

Common problems:

  • Sitemaps containing redirected, 404, or noindexed URLs
  • Non canonical URL variants listed instead of the canonical version
  • Sitemap not referenced in robots.txt or submitted in Search Console
  • Stale sitemaps that are not regenerated on publish

How to fix it: Generate the sitemap automatically from indexable canonical URLs only, keep lastmod accurate, reference it in robots.txt, and submit it in Search Console.

How to verify: Crawl the sitemap URL list on its own. Every entry should return 200, be indexable, and be self canonical.

Learn more: XML sitemaps lesson, XML sitemap errors and fixes, Sitemap non-200 issue, Noindex URL in sitemap issue.

How SiteAuditLint helps: it checks sitemaps across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Redirects

What to check:

  • Avoid forced geo-redirects. Users and crawlers can reach every locale.

Why it matters: Redirects pass users and ranking signals from an old URL to a new one. Each extra hop adds latency and increases the chance that signals are lost or crawlers give up. Temporary redirects used for permanent moves can keep the old URL indexed.

Common problems:

  • Redirect chains of three or more hops left behind by repeated migrations
  • Redirect loops that make a URL unreachable
  • 302 redirects used for permanent URL changes
  • Internal links still pointing at redirecting URLs

How to fix it: Point every redirect directly at its final destination with a 301 or 308, break any loops, and update internal links so they reference the final URL rather than relying on the redirect.

How to verify: Crawl with redirect following enabled and export the redirect chains report. Each redirecting URL should resolve in one hop to a URL returning 200.

Learn more: Redirects lesson, Testing redirects, How to find and fix redirect problems, Redirect chain issue.

How SiteAuditLint helps: it checks redirects across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Validation

What to check:

  • Validate hreflang. No errors in crawl or Search Console.

Why it matters: Hreflang tells search engines which language or regional version of a page to show each user. See the earlier section on this topic for common problems.

How to verify: Crawl all locales and run an hreflang validation report. Every tag should have a return tag and resolve to an indexable URL.

How SiteAuditLint helps: it checks validation across every crawled URL instead of one page at a time and lists exactly which URLs are affected.

Common mistakes

Missing return tags

Invalid language or region codes

Canonicals pointing across locales

Forced IP based redirects that block crawlers

Machine translated duplicate content

When to run the checklist

  • When expanding to new countries or languages
  • After adding locales
  • When the wrong country version ranks
  • During hreflang audits

How to verify fixes

  1. Save a baselineCrawl the site before making changes so you have a record of every status code, canonical, directive and title.
  2. Fix by priorityStart with High priority checks and issues that affect templates, since one fix there resolves many URLs. See how to prioritize audit findings.
  3. Re-crawl the same scopeUse the same start URL, crawl limit and settings so the results are comparable.
  4. Compare the crawlsConfirm the issue count dropped and that no new problems appeared elsewhere. Audit comparison does this field by field.
  5. Confirm in Search ConsoleUse URL Inspection and the indexing reports to check that Google sees the change. Our indexing tests lesson covers the process.

SiteAuditLint workflow

From manual checklist to automated checks

01CrawlCrawl the whole site, not a sample
02FindSee every affected URL per check
03FixPrioritize by severity and reach
04Re-crawlRun the same scope again
05CompareDiff results against the baseline
06MonitorCatch regressions after each release

Most checks in this list run automatically in a SiteAuditLint crawl. Use audit comparison to diff crawls and scheduled audits to monitor for regressions.