Skip to content
Skillsify
Back to registry
SEOv1.0.1512 installs

hreflang-cluster-check

Validates hreflang and canonical clusters across a multilingual site. Use when the user asks why the wrong language ranks, reports hreflang errors in Search Console, or is launching a new locale.

SchemaLintTrigger

Install

npx skillsify add hreflang-cluster-check

hreflang fails silently: nothing errors, the wrong language simply ranks. This skill enumerates every locale variant of a representative page and checks the four failure modes that account for nearly all real-world breakage — non-reciprocal declarations, cross-locale canonicals, missing or duplicated x-default, and invalid BCP-47 codes. Findings are reported per URL, because a site-level verdict is not something anyone can act on.

Quality report

Should trigger

  • Google shows the English page to Spanish users
  • Search Console reports hreflang no return tags
  • We are adding a French locale, check the setup
  • Why is the Arabic version not indexed?

Should not trigger

  • Optimise this SQL query
  • Set up a CI pipeline

Files

SKILL.md
---
name: hreflang-cluster-check
description: Validates hreflang and canonical clusters across a multilingual site. Use when the user asks why the wrong language ranks, reports hreflang errors in Search Console, or is launching a new locale.
---

# hreflang cluster check

## When to use this
The wrong language ranks, Search Console reports hreflang errors, or a new
locale is being launched.

## Procedure
1. Enumerate every locale and the URL pattern for each.
2. For one representative page, fetch **every** locale variant.
3. Check the four failure modes listed in [references/failure-modes.md](references/failure-modes.md).
4. Report per-URL, not per-site. "hreflang is broken" is not a finding.

## Rules
- Reciprocity is mandatory: if page A declares B, then B must declare A. A
  one-way declaration is ignored entirely by search engines.
- Every cluster needs exactly one `x-default`.
- Each locale variant must canonicalise to **itself**, never across locales.
  A cross-locale canonical removes the page from the index.
- Language codes must be valid BCP-47. `en-UK` is not a language code; `en-GB` is.
references/failure-modes.md
# The four hreflang failure modes

1. **Non-reciprocal** — A points at B, B does not point back. Search engines
   discard the whole relationship.
2. **Cross-locale canonical** — the Spanish page canonicalises to the English
   one, so the Spanish page never enters the index.
3. **Missing or duplicated x-default** — no fallback for unmatched locales, or
   two competing fallbacks.
4. **Invalid code** — a region used as a language, an underscore instead of a
   hyphen, or a non-existent subtag.

Related skills

PerformanceVerified

core-web-vitals-audit

Audits a web application for Core Web Vitals regressions. Use when the user asks to check LCP, INP or CLS, investigate a Lighthouse score drop, or review front-end performance before a release.

1,284 installs · v1.2.0

TestingVerified

flaky-test-hunter

Finds and diagnoses flaky tests in a test suite. Use when tests pass locally but fail in CI, when a suite fails intermittently, or when the user asks to stabilise or de-flake their tests.

963 installs · v1.1.0

SecurityVerified

dependency-risk-review

Reviews third-party dependencies for supply-chain and licence risk. Use when the user asks to audit dependencies, evaluate whether to add a package, review a lockfile diff, or check licence compatibility.

741 installs · v1.0.3