Fix crawl traps in filters and calendars

Crawl traps are infinite URL spaces: calendars, sort combinations, session IDs and pagination that never ends. They starve real pages of discovery. Find them in Crawl stats, fix the link graph first, return 404 for out-of-range parameters, and block only the truly infinite spaces.

mediumIn codeimpact effort

Why this matters

Stop linking to URL spaces a crawler can enter but never exhaust.

Get the full breakdown

The extended brief explains when this works, when it does not, and the trade-offs. Join the waitlist and it unlocks for every tip when sign-in opens; MCP access is the paid part.

Join the waitlist

Before you start

  • Crawl stats access
  • Server logs or a crawler

How to apply it

  1. Find trap patterns in Crawl stats

    Group crawl requests by URL pattern and response. A trap shows thousands of requests with few unique pages and mostly 200 or soft 404 responses.

    Check: Crawl stats shows at least one pattern with more than 90% of requests returning the same thin template.

  2. Remove the links that create the space General best practice

    Stop linking to empty filter results, future calendar dates and out-of-range pagination. Render those interactions without crawlable href values.

    Check: The rendered HTML for an empty filter result contains no anchor pointing to further empty combinations.

  3. Return 404 and block only truly infinite spaces

    Return 404 for out-of-range parameters, and add robots.txt rules for parameter patterns that can never produce unique content. Keep indexable pages crawlable.

    Check: curl -sI your production domain/search?page=999 returns 404, and robots.txt disallows the parameter pattern.

Get the prompt for your agent

A ready-to-paste prompt for your agent that implements this tip and verifies the result in your repo.

Join the waitlist

Source: seo-mcp playbook · curated entry · report an error

Framework notes

nextjs-app

Render filter controls as buttons or forms in client components instead of `<Link>` values, so crawlers see no unbounded hrefs.

wordpress

Disable archive pagination beyond the last page in the theme template, and avoid `paginate_links` output when the query has no results.

Official references

Let your agent apply this + 161 more tips.

Pre-order — $19