International SEO and Hreflang Checklist
Use this international SEO and hreflang checklist to choose URL structure, validate language signals, localize markets, and protect crawlability at launch.
International SEO makes equivalent content discoverable and useful across languages or regions. This checklist gates the system behind those pages: URLs, localization, alternate signals, currency, redirects, discovery, and measurement.
Checklist: international and hreflang readiness. Timebox: 2–4 working days for one template and up to five markets; add one day for each materially different checkout, legal regime, or CMS. Owner: international SEO lead, with a web engineer and one in-market content reviewer per language. Release authority: the international SEO lead and product or market owner jointly.
This is not proofreading. It decides whether people and search engines can reach the right market URL and complete the localized journey.
Why this checklist exists, and why it runs here
International implementation consumes earlier SEO process outputs: priority markets and goals, analytics and Search Console access, the technical baseline, market-level query research, information architecture, and the inventory of pages that deserve equivalents. Without them, teams translate wholesale and create URLs for markets the business cannot support.
Run it after market and template decisions but before localized URLs are released or submitted. Earlier makes the URL model speculative; later exposes contradictory canonicals, incomplete return tags, forced redirects, and thin translations to crawlers.
Market research decides where to compete; the inventory decides what needs an equivalent; this checklist decides how each equivalent is addressed, connected, localized, and verified. A change reopens every dependent check.
Inputs and outputs
The outputs are the contract for engineering, content, analytics, and QA. “Hreflang complete” is not sufficient.
| Direction | Item | Acceptance condition |
|---|---|---|
| Input | Market decision | Names language, country or region, commercial owner, supported products, currency, fulfillment, legal constraints, and success metric. |
| Input | Demand and intent map | Separates language from country and records local queries, vocabulary, formats, competitors, and search intent for each priority page. |
| Input | URL and platform inventory | Lists current URLs, CMS boundaries, domains, subdomains, redirects, canonicals, sitemaps, analytics properties, and Search Console properties. |
| Input | Page-equivalence matrix | States which pages have true alternates, which are market-specific, and which remain global rather than assuming every page has every language. |
| Input | Local review capacity | Names an in-market reviewer and the person authorized to approve regulated, pricing, tax, delivery, and support claims. |
| Output | Approved URL model | Records ccTLD, subdomain, or subfolder choice, route pattern, ownership, migration impact, and exception rules. |
| Output | Alternate-cluster manifest | One row per indexable URL with language-region code, self-canonical, all alternates, optional x-default, status, and validation result. |
| Output | Localization acceptance record | Proves that visible copy, metadata, media, units, currency, legal terms, navigation, forms, and conversion steps were reviewed in market. |
| Output | Redirect and selector specification | Defines suggestion behavior, explicit user choice, persistence, bot behavior, and direct access for every market URL. |
| Output | Launch and monitoring handoff | Gives QA the test set, sitemap changes, Search Console properties, baseline metrics, failures, owners, and rollback conditions. |
The checklist
Every item has a reason, a rule, a method, a tool, and an observable completion condition. Record PASS, FAIL, or N/A with evidence for every item.
1. Confirm the market-page contract
Why: language and country differ. Spanish may serve Spain, Mexico, or a global audience, while one country may need several languages. A locale code is not a market strategy. What: define the audience and capability for every locale, then cluster only pages with equivalent purpose. How: map language, region, intent, offer, price, fulfillment, legal owner, and support route; mark materially different pages “no equivalent.” Tool: market brief, query research, catalog, legal requirements, and inventory. Done when: every URL has one audience and owner, every cluster has equivalent intent, and no blank cell becomes an assumed translation.
2. Choose one URL structure deliberately
Why: the route model controls authority consolidation, infrastructure, reporting, operational independence, and migration risk for years. What: choose country-code top-level domains (ccTLDs, such as example.de), subdomains (such as de.example.com), or subfolders (such as example.com/de/) using consequences rather than preference.
| Model | Advantage | Cost and consequence | Prefer when |
|---|---|---|---|
| ccTLD | Clear country identity for users and strong operational separation | Separate domains, certificates, analytics and Search Console setup; links and maintenance are divided; language-only targeting is awkward | Each country is a distinct business with local operations, budget, governance, and durable domain ownership |
| Subdomain | Allows separate hosting, CMS, security, and release cycles under one brand | More properties and cross-site controls; teams can accidentally create inconsistent navigation, canonicals, and measurement | Technical or organizational separation is mandatory and cannot be achieved on one host |
| Subfolder | Keeps one domain, link graph, navigation system, and usually the simplest analytics and deployment model | Requires shared infrastructure and strict route governance; a platform outage affects every market | Markets share a platform and brand, and no legal or hosting constraint requires separation |
How: score the three models against ownership, legal constraints, hosting, CMS, analytics, link equity, migration, release autonomy, and five-year operating cost. Do not use query parameters as the primary locale structure because they are easy to drop, duplicate, and mishandle in canonicals and links. Tool: architecture decision record, DNS and CMS inventory, analytics plan, and redirect model. Done when: one model and route grammar are approved, every exception has an owner, and sample URLs for homepage, category, article, product, and unavailable-page states resolve unambiguously.
3. Localize the experience, not only the sentences
Why: translation changes words; localization makes the experience accurate and natural for a market. Literal machine output can miss intent, terminology, units, tax language, trust cues, or calls to action. What: adapt the full journey, using machine translation only as a draft where policy allows. How: an in-market reviewer checks queries, metadata, copy, media, dates, units, prices, legal claims, forms, validation, checkout, and support. Research local keywords rather than translating them. Tool: locale guide, market research, translation memory, staging browser, and acceptance sheet. Done when: zero source-language fragments remain, claims are valid locally, the reviewer completes a conversion path, and their name, date, and result are stored.
4. Build complete hreflang clusters
Why: a one-way alternate signal is ambiguous; the destination must confirm the relationship. Hreflang
is the HTML attribute that identifies language or language-region alternatives, not a redirect instruction and not a substitute for localization. What: make every indexable member list itself and every other valid member, with a matching return tag from each destination. Use ISO 639-1 language codes where available, followed by an optional ISO 3166-1 alpha-2 region code, such as en, en-GB, or pt-BR; never use a country alone. How: generate tags from the cluster manifest rather than hand-editing templates. Compare the final absolute URLs as sets and validate status, code syntax, self-reference, and reciprocity. Tool: manifest generator, crawler, rendered HTML, HTTP client, and hreflang validator. Done when: 100% of indexable cluster members return 200, list the identical member set, include themselves, use valid codes, and have zero missing or conflicting return tags.
5. Align canonicals, indexability, and alternate signals
Why: hreflang associates alternates, while a cross-language canonical consolidates them. Together, those instructions conflict. A canonical URL
identifies the preferred duplicate; indexability
means a page is eligible for a search index. What: give each localized page a self-canonical and cluster only indexable 200 URLs. How: compare declared and Google-selected canonical, robots directives, status, final target, and alternate destination. Remove noindex, redirected, blocked, soft-404, and noncanonical URLs until fixed. Tool: crawler, headers, source, robots tester, and URL inspection. Done when: every member is crawlable and indexable with one self-canonical, and no alternate redirects, errors, or canonicalizes elsewhere.
6. Use x-default only for a real fallback
Why: unmatched users need a stable destination, but inventing a default can send search engines to an arbitrary commercial market. x-default is an hreflang value for a language selector, global page, or fallback that is not targeted to one listed locale. What: add exactly one x-default per cluster only when such a fallback page genuinely exists. How: choose the global selector or neutral fallback deliberately, include it reciprocally in the cluster, and verify it does not force visitors onward before they can choose. Tool: cluster manifest, rendered HTML, browser with clean cookies, and crawler. Done when: each applicable cluster has one reciprocal x-default with a documented purpose; clusters without a valid fallback have none.
7. Make locale discovery consistent
Why: alternate tags do not replace crawl paths. A page that exists only in a tag or a form control can remain hard for people and crawlers to discover. An XML sitemap is a machine-readable list of URLs, while crawlability means crawlers can reach and read those URLs. What: expose locale alternatives through crawlable links and submit complete canonical URLs in sitemaps. Use one implementation method for hreflang—HTML, HTTP headers for non-HTML files, or XML sitemaps—unless the team can prove multiple methods stay identical. How: crawl from each market homepage, inspect selectors as ordinary links, compare sitemaps with the manifest, and verify that navigation never drops the current equivalent page unnecessarily. Tool: crawler, sitemap parser, browser without JavaScript, and link graph. Done when: every priority localized URL has at least one crawlable internal path, every sitemap entry is canonical and returns 200, and all implemented hreflang sources declare identical clusters.
8. Keep currency separate from locale targeting
Why: language, destination, and currency are related but not interchangeable. What: show correct currency and terms without using currency alone to create or switch a locale URL. How: define tax inclusion, price list or exchange rate, rounding, update time, and unavailable-product behavior. Keep one stable crawlable price state per market; treat user-selected currency as presentation unless it represents a distinct market. Tool: catalog, pricing service, tax rules, structured data, and purchase test. Done when: currency is explicit, page and checkout agree, tax and delivery qualifiers appear, structured data matches, and currency switching does not change canonical or hreflang identity.
9. Replace forced geolocation redirects with a choice
Why: Internet Protocol (IP) location and browser language are imperfect hints. Forced redirects can trap crawlers on one market, prevent travelers and multilingual users from choosing, create redirect loops, and make a directly shared URL inaccessible. What: keep every locale URL directly reachable and offer a dismissible market suggestion instead of redirecting solely from IP or Accept-Language. How: test clean sessions from several locations, logged-in and logged-out states, crawler user agents, disabled cookies, and an explicit stored preference. Preserve the current page’s equivalent route when a user switches market; if no equivalent exists, explain the fallback. Tool: browser location testing, HTTP client, edge/CDN rules, server logs, and automated redirect tests. Done when: a first request to every localized URL returns its intended 200 page, bots are not redirected by geography, explicit choices persist, users can reverse them, and zero loops or multi-hop chains occur.
10. Validate templates and representative URLs before scale
Why: one correct homepage proves only one template. International defects often hide in pagination, product variants, missing translations, faceted routes, and pages unavailable in one market. What: test every distinct template and edge state before bulk release. How: select at least 10 URLs per market, including the homepage, highest-demand pages, each template, one unavailable product or service, one paginated or filtered route where applicable, and one URL with no alternate. Compare source, render, response, canonical, hreflang, navigation, content language, and conversion path. Tool: staging crawl, browser, manifest diff, HTTP client, and test-case sheet. Done when: every distinct template and required edge state is represented, all sampled URLs pass every applicable rule, and any template-level failure blocks all URLs generated by that template.
11. Establish market-level measurement
Why: aggregate traffic can rise while a target market loses visibility, and a new folder can look healthy only because the default language dominates it. What: create reporting dimensions for market, language route, directory, country, device, conversion, and revenue before launch. How: verify analytics page views and events on staging, connect every required Search Console property or domain property, annotate launch time, and save a baseline for the same period and query set. Tool: analytics debugger, Search Console, AmICited country and directory reports, and the launch register. Done when: test sessions appear under the intended market and route, conversions retain market and currency, all properties are accessible to the owner, and a dated baseline exists before release.
12. Run live verification and retain ownership
Why: staging cannot prove DNS, CDN, production redirects, final canonicals, or what Google selects after discovery. What: repeat critical checks immediately after deployment and assign monitoring rather than treating launch as completion. How: crawl the production sample, submit updated sitemaps, inspect priority URLs, verify logs and analytics, then schedule checks after discovery and after the first meaningful reporting window. Tool: production crawler, AmICited, Search Console, server logs, and incident tracker. Done when: production matches the approved manifest, zero blocking failures remain, every observation has a timestamp, and each deferred data check has an owner and date rather than an open-ended “monitor.”
Tools in AmICited
AmICited supplies Search Console evidence for discovery, launch, and monitoring. It does not replace an in-market reviewer or a full reciprocal-tag crawl.
- Open Countries and Devices at the country and device report . Investigate countries with impressions but weak position or click-through rate before assuming demand is absent.
- Use Google Search Directories at the directories report to compare locale folders and drill into weak templates.
- Open Sitemaps and Indexing at the sitemaps and indexing report . Confirm download without warnings or errors, then request indexing for priority URLs. Requests cannot make blocked URLs indexable.
- Check representative URLs in URL Inspection at the URL inspection report . Compare declared and Google-selected canonicals. Its coverage list is a sample, not a hreflang audit.
Decision rules
“Bad” is a condition that blocks release or triggers correction, not a feeling about translation quality.
| Finding | Bad threshold | Decision |
|---|---|---|
| Invalid hreflang code, country-only value, or malformed absolute URL | 1 or more | FAIL |
| Missing self-reference or return tag | 1 or more cluster members | FAIL the whole cluster |
| Member sets differ within a cluster | Any difference | FAIL the whole cluster |
| Indexable alternate response | Anything other than final 200 | FAIL |
| Canonical on an indexable alternate | Missing, multiple, or not self-referencing | FAIL |
| Blocked or non-indexable alternate | 1 or more | FAIL until fixed or removed from cluster |
| x-default | More than 1 per cluster, nonreciprocal, or points to a forced redirect | FAIL |
| Redirect based only on IP or browser language | Any forced redirect on first request | FAIL |
| Redirect chain or loop | More than 1 hop or any loop | FAIL |
| Source-language fragment, placeholder, or untranslated interface string | 1 or more on a release URL | FAIL |
| Critical journey localization | Less than 100% of landing page, form or cart, confirmation, legal terms, and support route | FAIL |
| Visible and structured price disagreement | Any currency, amount, availability, or tax contradiction | FAIL |
| Crawlable path into a priority localized URL | 0 internal links | FAIL |
| Localized sitemap warnings or errors | 1 or more unresolved | FAIL |
| Pre-launch representative test | Fewer than 10 URLs per market or any distinct template missing | FAIL |
| Production sample pass rate | Less than 100% | HOLD affected template or market |
Click-through rate and position gaps are diagnostic, not automatic failures. Compare like-for-like pages and periods; no universal percentage proves a localization defect.
Deliverable: the international launch pack
Hand over a versioned folder or ticket bundle with these minimum contents:
01-url-model.md
- Decision, alternatives rejected, route grammar, owners, migration and rollback
02-market-page-matrix.csv
- market, language, region, source URL, localized URL, intent, availability, reviewer
03-hreflang-manifest.csv
- URL, code, self-canonical, alternates, x-default, status, indexability, result
04-localization-acceptance.csv
- URL, field/journey, reviewer, result, evidence, exception
05-redirect-selector-spec.md
- suggestion logic, explicit choice, persistence, bot behavior, no-equivalent behavior
06-launch-verification.csv
- URL, deployed at, crawl result, sitemap state, inspection state, analytics evidence, owner
Decision: PASS — RELEASE | FAIL — HOLD
Next review date and named owner:
Reconcile the manifest with production. Store exceptions with reason, risk, approver, expiry, and correction owner. A changed URL model, template, locale set, canonical, or redirect policy reopens affected checks.
What goes wrong
- Every source page is translated automatically. Pages with no local demand, unavailable products, and unsupported claims are published because translation was mistaken for market selection.
- The default language becomes canonical everywhere. Search engines receive consolidation and alternate instructions at the same time; localized URLs disappear or the wrong URL is selected.
- Only the source page lists alternates. Missing return tags make the cluster incomplete even though one template appears correct.
- Country codes are used as languages. Values such as
UKorBRdo not express a language-region pair; valid examples areen-GBandpt-BR. - x-default points to the largest market. A commercial country page is labeled as the neutral fallback and receives users it cannot properly serve.
- The selector is JavaScript-only. People see a dropdown, but crawlers have no ordinary links to discover alternatives.
- IP location forces the route. Crawlers and travelers cannot retain a directly requested URL, caches vary by location, and redirect loops appear between edge and application rules.
- Currency creates duplicate locale URLs. Parameters or paths multiply while content, canonicals, and structured prices disagree.
- The homepage passes and scale begins. Product, category, pagination, and missing-equivalent templates emit different tag sets across thousands of URLs.
- Reporting starts after launch. No baseline or annotation exists, so teams cannot separate implementation effects from seasonality, brand demand, or unrelated releases.
Next phase
This checklist hands its launch pack to the pre-publish QA checklist . QA needs the URL model, production candidate, manifest, localization approvals, sitemap and redirect changes, test set, release authority, and exceptions. It verifies those records before release.
After launch, the international SEO owner retains the manifest. New pages, removed products, language additions, route migrations, and canonical changes are cluster changes, not isolated page edits. Revalidate affected clusters, update sitemaps, inspect priority URLs, and annotate reporting each time.
FAQ
Frequently asked questions
Does every translated page need hreflang?
Should localized pages canonicalize to the default-language page?
Is x-default required in every hreflang cluster?
Can machine translation be used for international SEO pages?
Should visitors be redirected automatically by IP address?
Make the first international launch measurable
Use the country and device report to capture the market baseline, then release only when the URL model, localization record, cluster manifest, redirects, sitemap, and representative production sample all pass. The academy layout’s closing CTA provides the next route into AmICited.
More tutorials in this section
Ready to put it into practice?
Free check · 7-day trial · no credit card