A locale group uses URL parameters

In the reportLocale versions served via URL parameters

locale_url_parameter_scheme · Review item

Short answer

This appears when your language versions form a complete group that points to itself, but the versions differ only by a query parameter, such as ?lang=fr. Google does not recommend parameters for this. Consider subdirectories, subdomains or country domains when you next plan the structure.

Severity: Low. Review it when planning structure: parameter versions work, but Google calls them not recommended.

Why it matters

Google's guide to multi-regional and multilingual sites lists URL parameters such as site.com?loc=de as not recommended, because segmenting by URL is difficult and users might not recognise the targeting from the address, and sets out country domains, subdomains and subdirectories as the alternatives.

What to do

  1. Look at the finding: it shows up to ten groups of versions and the parameters they differ by.
  2. If you plan a move, give each language its own path, such as /fr/, with permanent redirects from the parameter addresses.
  3. Otherwise keep the parameter scheme consistent and the hreflang complete.

When to leave it as it is: if the parameter scheme works for you and a move would cost more than it brings, you can leave it; the check describes structure, not an error.

What we read

We read the hreflang of every crawled page in its HTML, its Link header and its sitemap entries. A group is two or more addresses whose pages all list the same versions, themselves included, and all point to each other. The site is reported when, in such a group, two or more versions share the same host and path and differ only in their query.

A clean result needs a complete crawl in which every page answered 200 and was read in full in all three places. An unreadable page prevents a clean conclusion, but the rule can still report a complete, supported group elsewhere.

Example & evidence

Illustrative example — one group of two versions, not a live audit.

https://bakery.example/cakes/ and https://bakery.example/cakes/?lang=fr each list:

<link rel="alternate" hreflang="en" href="https://bakery.example/cakes/">
<link rel="alternate" hreflang="fr" href="https://bakery.example/cakes/?lang=fr">

The two versions differ only by the lang parameter, so the site is reported with this group.

<link rel="alternate" hreflang="fr" href="https://bakery.example/fr/cakes/">

A possible correction for a new structure: give French its own path.

Confirm & check again

Check for yourself: open two language versions of one page and compare their addresses: if only the part after ? changes, the site uses parameters.

Check again: Full audit — run a new audit of the site. The finding closes only when a complete audit, with every page read in full, finds no such group. Removing hreflang does not close it as fixed: the check then no longer applies, and the finding is left unconfirmed.

Limits & sources

The check reads the shape of the addresses in declared groups. It does not detect a default language or country targeting, and partial or one-way annotations are not judged.

Confidence: High because the groups are read from the declarations directly.

Sources

Editorial review: 29 September 2026