Short answer: Add hreflang to the first page of every translated category or listing, because it has a clear equivalent in each language. For page 2 and beyond, annotate only when the listings in each version really correspond; page 2 should point to page 2, never to page 1. Filtered and sorted URLs that you do not want indexed should canonicalise to the unfiltered page in the same language and generally carry no hreflang. Indexable filter pages, such as a curated brand or colour page, can have hreflang if equivalents exist in other languages.
Why listings complicate hreflang
hreflang is simple for individual pages: an article or product has a translation, and the two are connected. Listing pages are different. A category page shows a set of items, and that set depends on the market, the stock, the sort order and any filters applied. The German and French versions of a category may show different products, in a different order, spread over a different number of pages.
On top of that, listing pages multiply. One category with twenty pages, five filters and three sort orders can produce hundreds of URLs in each language. If hreflang is generated for every one of them, the result is a huge number of annotations between pages that are not really equivalent, and many of which should not be indexed anyway.
Listing pages also carry much of the internal linking to products. If a translated category is poorly handled, products in that language lose an important path for discovery. Getting listings right is therefore not only about the category pages themselves, but about every product they lead to.
A sensible approach separates listing URLs into three groups: the main category page, deeper pagination pages and filtered or sorted variants. Each group gets its own rule.
First pages of categories: always annotate
The first page of a category, such as /de/damen/schuhe/ and /fr/femmes/chaussures/, represents the same category in each language. It is almost always an important landing page, and it has a clear equivalent. Give it:
- A self-referencing canonical.
- A complete hreflang cluster pointing to the first page of the same category in every language or market where it exists.
- Translated title, description, heading and introductory text.
If the category does not exist in a market, for example because the products are not sold there, leave that market out of the cluster rather than pointing to a parent category or the home page.
Pagination: page 2 to page 2, if at all
For deeper pages, Google’s guidance on pagination is that each page in a series should have its own URL and a self-referencing canonical, rather than canonicalising all pages to page 1. For hreflang, the same logic applies: if you annotate page 2, point it to page 2 of the equivalent category in other languages, never to page 1.
Whether to annotate deeper pages at all depends on how similar the listings are:
- Listings are essentially the same across versions (same products, same order, same page size): annotating page 2 to page 2 is reasonable and consistent.
- Listings differ noticeably (different ranges, stock or sorting per market): page 2 in German and page 2 in French show different items, so they are not true equivalents. Many sites annotate only page 1 in this case and let deeper pages stand alone.
Both approaches are defensible. What causes problems is mixing them randomly, or pointing deeper pages to page 1, which contradicts their self-referencing canonicals.
Filters and sorting: usually no hreflang
Filter and sort parameters, such as ?color=blue, ?size=38 or ?sort=price, produce many URLs with overlapping content. Most sites do not want them indexed. The usual set-up is:
- Filtered and sorted URLs canonicalise to the unfiltered category in the same language, or are kept out of the index by other means.
- They carry no hreflang, because they are not meant to be shown in search results.
- Links to them are handled so that crawlers do not waste time on endless combinations.
The key point for international sites: a German filtered URL canonicalises to the German category, not to the English category and not to another language’s filtered URL. Canonicals stay inside the language; hreflang connects the canonical category pages across languages.
Indexable filter pages are an exception
Some filter combinations are valuable landing pages in their own right, for example “women’s running shoes” or a brand page within a category. Many shops turn these into static, indexable URLs with their own titles and descriptions. These pages are no longer “filters” in the SEO sense; they are categories.
Treat them like categories: self-referencing canonical, localized titles and text, and hreflang to the equivalent pages in other languages where they exist. Because demand for such pages differs by market, it is common for a curated filter page to exist in some languages and not others, which simply means a smaller cluster.
Infinite scroll and “load more” buttons
Many listings no longer show numbered pages to visitors. They load more items as the visitor scrolls, or when a “load more” button is pressed. For search engines, this matters because crawlers do not scroll or click buttons. If the extra items are only reachable through scripts, search engines may see only the first batch in each language.
The common solution is to back infinite scroll with real paginated URLs:
- Each batch of items has its own URL, such as
?page=2or/page/2/, which returns that batch when requested directly. - The page includes normal links to the next page, so crawlers can follow the series.
- As the visitor scrolls, the address bar can update to the current page’s URL, so shared links point to the right place.
Once paginated URLs exist behind the scroll, the same hreflang rules apply as for numbered pagination: page 1 is always annotated, and deeper pages are annotated page to page only when the listings correspond across languages.
Check each language version separately. It is not unusual for the default language to have proper paginated URLs while a translated version, built with a different template or plugin setting, relies purely on scripts. In that case, products that appear only deep in the translated listing may be hard for search engines to discover, even though they are easy to find in the original language.
Common mistakes with listings and hreflang
| Mistake | Effect | Fix |
|---|---|---|
| Page 2 hreflang points to page 1 of other languages | Mismatched clusters; return links fail | Point to page 2, or omit hreflang on deep pages |
| All pages canonicalise to page 1 | Deep pages and their products harder to discover; hreflang ignored | Self-referencing canonicals per page |
| hreflang on every filter combination | Huge numbers of annotations between non-equivalent pages | No hreflang on non-indexable filters |
| Filtered URL canonicalises to another language | Signals cross languages; wrong version indexed | Canonical to the same-language category |
| Category missing in one market but listed | hreflang to 404 or to a parent page | Remove that market from the cluster |
When in doubt, simplicity wins. A rule such as “hreflang on category first pages and on curated landing pages only” is easy to implement, easy to test and easy to explain to the next developer. More elaborate rules can be added later if data shows that deeper pages matter in search.
Implementation tips
- Map categories across markets with an explicit ID, not by URL pattern, since category names and structures are translated.
- Generate hreflang for listing pages from that mapping, and only for page types you decided to annotate.
- Keep page size and sorting defaults the same across markets if you plan to annotate deep pagination.
- Decide on a clear rule for parameters: which are indexable, which canonicalise and which are ignored.
- Test a few categories in each language by viewing page 1, page 2 and a filtered URL, and check canonical and hreflang on each.
Checking listing pages at scale
Listing problems usually come from templates, so they affect every category at once. A crawl that follows pagination, reads canonicals and follows hreflang shows the pattern quickly. Site SEO AI Audit crawls a site like a search engine and reports canonical problems in its crawl and indexing area and hreflang return links and broken language versions in its Languages area, weighted by how many pages each issue affects. The first audit is free.
Related reading
- Pagination SEO: how to handle page 2, 3 and beyond
- Faceted navigation SEO: filters without crawl chaos
- Canonical tags and hreflang: how to use them together
The bottom line
On listing pages, annotate what is truly equivalent and nothing more. Category first pages always get hreflang. Deep pagination gets hreflang page to page only when listings match; otherwise it stands alone with a self-referencing canonical. Non-indexable filters canonicalise within their language and carry no hreflang, while curated, indexable filter pages are treated as categories. Keep canonicals inside each language and let hreflang connect the canonical pages.
BUJ
Should paginated pages have hreflang?
The first page of a category should. Deeper pages can have hreflang pointing to the same page number in other languages if the listings correspond; otherwise many sites leave hreflang off deeper pages.
Can page 2 point its hreflang to page 1?
No. That conflicts with the self-referencing canonical on page 2 and breaks return links. Point to page 2 of the equivalent category or omit hreflang.
Do filtered URLs need hreflang?
Usually not. Filtered and sorted URLs that should not be indexed canonicalise to the unfiltered category in the same language and do not need hreflang.
What if a category exists in only some markets?
Include only the markets where it exists in the cluster. Do not point missing markets to a parent category or the home page.
Should the canonical of a German filter page point to the English category?
No. Canonicals should stay within the same language. A German filtered URL canonicalises to the German category page.


