Domestic SEO checklists do not catch the problems that break multi-market sites. These are the 38 checks I actually run, in the order I run them — because sequence matters more than completeness here.
Why the order matters
Architecture first, always. It is the only decision on this list that is expensive to reverse, and every other finding depends on it. Auditing hreflang on a site that is about to migrate from subdomains to subfolders is wasted work — you will audit it again afterwards.
After architecture, work from the structural to the editorial: hreflang, then parity, then intent. The temptation is to start with the crawl errors because they are easy to count. Resist it. A tidy crawl on a site with no content parity still will not rank.
1. Architecture — 6 checks
- Establish the current structure and whether it was chosenSubfolder, subdomain, or country domain. Ask why. "It came with the CMS" is the most common answer and is not a reason.
- Count the markets and their real business weightRevenue per market, not page count. The audit's priorities should follow the money, not the URL distribution.
- Check whether one market is cannibalising anotherTwo markets in the same language competing for the same queries is the usual symptom of an architecture problem, not a content one.
- Confirm URL structure is consistent across marketsIf
/de/products/exists but German uses/de/produkte/in some sections, decide which and make it uniform. Mixed conventions break templated fixes. - Verify the language switcher is crawlableA JavaScript dropdown that renders no links gives Google nothing to follow between markets.
- Price the migration if the structure is wrongAny architecture recommendation without a cost attached will lose the argument with engineering. Come with the number.
2. Hreflang — 11 checks
The single richest source of findings on most international sites, because hreflang fails silently. There is no warning and no penalty — the annotations are simply discarded and your markets compete with each other.
- Every declaration has a matching return tagHreflang is a mutual declaration. If EN points at DE and DE does not point back, the pairing is void. This is the most common failure by a wide margin.
- No annotation points at a redirecting URLCommon after a migration nobody re-audited.
- No annotation points at a 404Equally common, and equally invisible without a crawl.
- Hreflang never conflicts with the canonical on the same pageA page that canonicalises elsewhere while declaring hreflang is telling Google two contradictory things.
- Language codes are valid ISO 639-1Two letters.
en,de,nl. - Region codes are valid ISO 3166-1 Alpha-2There is no
en-UK. The country code for the United Kingdom isGB. This one appears on a surprising number of large sites. - Region is only used where it earns its keep
es-MXandes-ARare worth separating only if the content genuinely differs. Otherwise oneesranks across every Spanish-speaking market. - An x-default existsOtherwise Google has nowhere to send users you did not explicitly target.
- Self-referencing hreflang is present on every pageEach page should list itself alongside its alternates.
- Annotations are absolute URLs with protocolRelative hreflang is ignored.
- The method is consistentHTML head, HTTP header or sitemap — pick one. Mixing them is how conflicts get introduced by two teams who never spoke.
Crawl each market, extract the hreflang annotations per URL, and build a matrix of which page declares which. The return-tag failures fall out of the matrix immediately — they are the asymmetric cells. Doing this by eye on a 3,000-URL site is not feasible, which is precisely why I automated it.
3. Content parity — 6 checks
The most expensive problem on this list and the least visible, because nothing is broken. There is simply less to rank.
- URL count per marketThe blunt first measure. A market with a third of the pages will rank like it.
- Median word count per marketTranslated pages are frequently shorter than their source, and it compounds across a section.
- Which templates exist in which marketsOften the blog, the case studies or the comparison pages simply never got localised.
- Internal links per marketA market with pages but no internal linking to them is a market Google will crawl reluctantly.
- Local referring domains per marketAlmost always concentrated in the home market. This is usually the real reason market two underperforms.
- Trust signals per marketLocal phone numbers, local currency, local legal pages, local reviews. Their absence caps conversion even where rankings are fine.
4. Per-market intent — 5 checks
- Keyword research done natively, not translatedYour German buyers do not search using translated versions of your English keywords. Translated keyword lists are the single most common cause of a page that reads correctly and ranks for nothing.
- The competitor set identified per marketIt is rarely the same as the home market's, and often includes local players you have never heard of.
- SERP features checked per marketThe same query can return a local pack in one country and a shopping carousel in another. That changes what the page needs to be.
- Search intent verified per marketA term that is commercial in the US can be informational in Germany. Same word, different job.
- Cannibalisation checked within each marketNot just across them.
5. Technical and geotargeting — 6 checks
- Search Console property per market or sectionWithout segmentation you cannot see which market is moving.
- No IP-based automatic redirectsThey prevent Googlebot from ever seeing the other markets, and they infuriate users. Offer a suggestion banner instead.
- Indexation per marketCompare submitted to indexed, by market. A market indexing at 40 per cent has a different problem from one indexing at 95 per cent.
- Robots and noindex rules audited per marketA staging noindex left on one market's templates is a classic and costly oversight.
- Core Web Vitals measured per marketNot globally. A CDN that serves Europe well can serve Latin America poorly.
- Structured data localisedCurrency, language, availability and address in schema should match the market, not the head office.
6. Measurement — 4 checks
- Rank tracking per market, in-countryRankings pulled from one location tell you almost nothing about the others.
- Analytics segmented by marketDown to conversion, not just sessions.
- AI-answer visibility measured per marketThe engines answer differently by language. If you are measuring this in English only, you are measuring one market.
- A baseline recorded before any fix shipsOtherwise you will spend month four arguing about whether anything improved.
The three findings that account for most of the damage
After running this on enough portfolios, the distribution is predictable. If you only have an afternoon, check these:
- Missing hreflang return tags. Cheap to fix, and the fix applies site-wide.
- Content parity gaps in the second market. Expensive to fix, and the biggest single driver of the "why doesn't Germany rank" question.
- Translated rather than researched keywords. Invisible in any crawl, which is why tools never surface it.
None of the three appears in a standard SEO audit, which is the argument for treating international as its own discipline rather than a checkbox at the end of a domestic one.
Questions
x-default exists. Missing return tags are the most common failure and they void the pairing silently.