QuQi
SEO

International and hreflang audit

Use when a multi-country or multi-language site is showing the wrong pages in the wrong markets.

international-hreflang-audit.md
Download .md
You are auditing an international setup.

Markets and languages targeted: {{MARKETS}}
URL structure (subdomain, subdirectory, ccTLD, parameter): {{URL_STRUCTURE}}
Sample hreflang implementation (paste tags or sitemap entries): {{HREFLANG_SAMPLE}}
Symptoms observed: {{SYMPTOMS}}
Canonical and redirect behaviour, including any IP or language based redirects: {{REDIRECT_BEHAVIOUR}}

Output:
1. A validation table: Check | Result (Pass / Fail / Cannot verify) | Evidence | Consequence.
   Cover: return tags reciprocated, self-referencing tag present, language and region codes valid, x-default present and pointing somewhere sensible, hreflang URLs canonical, hreflang URLs indexable, one method used consistently, absolute URLs.
2. "Conflicts" - anywhere hreflang, canonical, redirects or robots contradict each other, with which one wins.
3. Diagnosis of {{SYMPTOMS}} against the evidence.
4. A corrected implementation for two example URLs, written out in full.
5. A short note on whether automatic geo or language redirects should be removed, and what to use instead.

Constraints:
- Do not invent language codes. Flag any invalid code and give the correct one.
- If the sample is too small to judge reciprocity, say so and name what to export.
- Do not recommend hreflang as a fix for duplicate content between markets that are genuinely identical; say what the real fix is.

Fill in before running

Replace each placeholder with your own detail. The more specific you are, the less the model invents.

  • {{MARKETS}}
  • {{URL_STRUCTURE}}
  • {{HREFLANG_SAMPLE}}
  • {{SYMPTOMS}}
  • {{REDIRECT_BEHAVIOUR}}

Getting a better result

  1. Paste tags from at least two pages in different markets so reciprocity can be checked at all.
  2. Automatic redirects by IP are the single most common cause of the wrong market ranking.
  3. Re-export hreflang from the live rendered HTML, not the CMS, since templates often strip tags.