Real run

Pagination Crawlability Audit

Sample 1 · 2026-10-29 · Grok Bot executor subagent, batch 5 builder A (model family not disclosed)

Bot page

Templates checked

id template pattern items per page total items pages in series
T1 Category: Tents numbered pages 24 130 6
T2 Category: Backpacks load more button 36 210 6
T3 Blog index infinite scroll 10 85 9
T4 Product reviews numbered pages 8 61 8

Pages in series = total items / items per page, rounded up, computed by script. For T2 and T3 these pages do not exist as URLs today; the number is how many a paginated version would need.

Check results

Five checks per template. Check (e) is a Note, not a Fail, because Google only says to "consider linking from all individual pages in a collection back to the first page".

template check result evidence
T1 (a) links Pass <a href="/c/tents?page=2">Next</a>
T1 (b) unique URL, no # Pass page 2 is /c/tents?page=2
T1 (c) self canonical Fail page 2 canonical is https://oakhollow-outfitters.example/c/tents (page 1)
T1 (d) crawlable URL behind load more or scroll N/A numbered pages, not load more or scroll
T1 (e) link back to page 1 Note no link back to page 1 except the site logo
T2 (a) links Fail <button onclick="loadMore()">Load more</button> is a button, not an link
T2 (b) unique URL, no # Fail page 2 URL: "none, the button loads items with JavaScript"
T2 (c) self canonical N/A no page 2 exists to carry a canonical
T2 (d) crawlable URL behind load more or scroll Fail no paginated URL behind the button
T2 (e) link back to page 1 Note no link back to page 1 except the site logo
T3 (a) links Fail <span data-next="#page2">More posts</span> is a span, not an link
T3 (b) unique URL, no # Fail page 2 is /blog#page2, a fragment
T3 (c) self canonical Fail page 2 canonical is https://oakhollow-outfitters.example/blog (page 1)
T3 (d) crawlable URL behind load more or scroll Fail infinite scroll with no crawlable paginated URL
T3 (e) link back to page 1 Note no link back to page 1 except the site logo
T4 (a) links Pass <a href="?reviews=2">2</a>
T4 (b) unique URL, no # Pass page 2 is /p/ridge-2-tent?reviews=2
T4 (c) self canonical Pass, see Ask page 2 canonical is itself; your goal says reviews do not need indexed pages
T4 (d) crawlable URL behind load more or scroll N/A numbered pages
T4 (e) link back to page 1 Note no link back to page 1 except the site logo

Why these checks: Google says it "generally crawls URLs found in the href attribute of" elements and that its crawlers do not click buttons, so T2 and T3 items past the first screen have no link a crawler can follow. Google also says "Give each page a unique URL", "Don't use the first page of a paginated sequence as the canonical page" and "Google ignores fragment identifiers".

Parameters:

parameter used on handling your goal result
?sort=price categories nothing sorted versions should not be indexed Flag: not noindexed and not blocked
?sort=newest categories noindex robots meta tag sorted versions should not be indexed Pass
?color= categories robots.txt Disallow: /*?color= not mentioned Pass on handling; Ask whether color pages should stay out
?page= categories nothing you want these crawled Pass

Google's guidance for sort and filter variants is to "block unwanted URLs from being indexed with the" noindex robots meta tag or to discourage crawling of the patterns with robots.txt; ?sort=price has neither.

Counts

Counted by script from the Check results table.

template Pass Fail Note N/A Pass, see Ask
T1 2 1 1 1 0
T2 0 3 1 1 0
T3 0 4 1 0 0
T4 2 0 1 1 1
All 4 8 4 3 1
check Pass Fail Note N/A Pass, see Ask
(a) links 2 2 0 0 0
(b) unique URL, no # 2 2 0 0 0
(c) self canonical 0 2 0 1 1
(d) crawlable URL behind load more or scroll 0 2 0 2 0
(e) link back to page 1 0 0 4 0 0

Fix list

fix applies to change for your developer status
F1 T1 Set the canonical on each paginated page to that page's own URL (page 2 canonical = /c/tents?page=2). HELD
F2 T2 Give each set of results its own URL (for example /c/backpacks?page=2) and render a real link to it next to or behind the Load more button, so the button can stay for shoppers. HELD
F3 T2 Give each of those pages a self canonical (same rule as F1). HELD
F4 T3 Replace the #page2 fragment with a real page URL such as /blog?page=2, linked with an element; the scroll can keep loading the next page for readers. HELD
F5 T3 Set self canonicals on those blog pages instead of pointing them all at /blog. HELD
F6 T1, T2, T3 Optional (Google only asks you to consider it): link each later page back to page 1 of its own list. HELD
F7 params Add the noindex robots meta tag to ?sort=price pages, matching ?sort=newest. HELD

T4 has no fix yet: its markup passes, but whether review pages should be indexed is your call (question 1). I am not predicting ranking effects; these fixes change what a crawler can reach.

Questions for you

  1. T4 review pages carry self canonicals, so they can be indexed, but your goal says they do not need indexed pages. Do you want them kept out (for example noindex), or left as is?
  2. ?color= is blocked in robots.txt but your goal does not mention filters. Is keeping color pages out of search what you want?
  3. Can your platform give T2 and T3 real page URLs, or does that need a theme or app change? The fixes assume it can.

Needs your decision

  • Approve, change or drop each HELD fix F1 to F7 before any template, canonical or robots change.