Indexation Logic: Deciding Which Generated Pages Deserve to Exist

The short answer: indexation logic is the set of rules a programmatic site uses to decide, for every possible combination of data, whether a page should be generated, indexed, kept out of search, consolidated into another page or not created at all. Good rules score each combination on search demand, data sufficiency, uniqueness and business value, apply thresholds automatically, and re evaluate pages as data changes, so that only pages worth indexing are offered to Google. Google itself says not to expect every URL to be indexed, and that it is fine for a URL not to be indexed for the right reasons.

Programmatic sites can generate far more URLs than they should. A directory with 400 locations, 60 categories and five filters can produce millions of combinations, most with no searches and little data. Without explicit indexation rules, the site leaves the decision to Google, which shows up as large numbers of pages “crawled, currently not indexed” or “discovered, currently not indexed” in Search Console (Search Console Help). This guide sets out a practical framework for those rules, with scoring criteria, thresholds, the technical controls for each outcome, how to keep rules current as data changes, and a worked example. It builds on our hub on programmatic SEO.

What is indexation logic in programmatic SEO?

Indexation logic is a decision layer between your dataset and your website: for every combination of attributes, such as location, category, brand or filter, it decides which of five outcomes applies, and the site’s templates, sitemaps, canonicals and robots rules then implement that decision automatically.

OutcomeWhat it meansTechnical control
IndexPage is generated, linked, in the sitemap and indexable200 status, self canonical, in XML sitemap
Generate but noindexUseful to visitors who navigate there, not worth a search resultnoindex meta tag; excluded from sitemap
ConsolidateNear duplicate of a stronger pageCanonical or 301 to the stronger page
Block from crawlingPattern that creates crawl waste, such as sort ordersrobots.txt disallow for the parameter
Do not generateCombination with no data or no meaningNo link to it; 404 if requested

Why do programmatic sites need explicit indexation rules?

Programmatic sites need explicit rules because the number of possible pages grows multiplicatively with each attribute, while search demand and useful data are concentrated in a small share of combinations; without rules, low value pages dilute crawling, slow discovery of good pages and risk being treated as scaled content.

  • Google’s crawl budget guidance is aimed at very large sites, those with around a million or more pages, sites with 10,000 or more pages changing daily, and sites with many URLs discovered but not indexed (Google Search Central). Programmatic sites often fall into the last group long before they reach a million pages.
  • Google lists generating many pages without adding value for users, including through automated transformations, as an example of scaled content abuse (Google Search Central).
  • For faceted and filtered URLs, Google’s guidance warns of overcrawling of duplicate content and slower discovery of new pages (PPC Land, summarising Google).

Which criteria should decide whether a programmatic page is indexed?

Score every combination on four criteria, search demand, data sufficiency, uniqueness and business value, and require a minimum on each rather than a high total, because a page with strong demand but no data still fails its visitors.

CriterionQuestionTypical measureExample threshold (illustrative)
Search demandDo people search for this combination?Keyword volume, Search Console impressions for similar pagesAt least some measurable demand, or the parent pattern earns impressions
Data sufficiencyIs there enough data to answer the search?Listings, products, reviews, data points on the pageAt least 5 listings, or 3 data blocks populated
UniquenessIs the page meaningfully different from its siblings?Share of content that differs from the nearest pageResults overlap with sibling page under 60%
Business valueCan visitors convert or does it support pages that do?Conversions from similar pages, commercial intentCommercial or local intent, or supports a commercial page

Thresholds must be set per site from your own data. The values above are starting points to test, not rules from Google.

Five indexation outcomes for programmatic pages: do not generate when there is no data, block crawling of sort and session parameters, consolidate near duplicates with a canonical or 301, noindex thin pages without search demand, and index pages with demand, data, uniqueness and value

How do you turn the criteria into decision rules?

Turn the criteria into an ordered set of rules that run for every combination, checking the cheapest disqualifiers first, then duplicates, then demand, and indexing only what passes every test.

for each combination in dataset:
    if combination is meaningless or data_points == 0:
        outcome = DO_NOT_GENERATE
    elif pattern is crawl_waste (sort order, session, view mode):
        outcome = BLOCK_CRAWL
    elif overlap_with_stronger_sibling >= 0.6:
        outcome = CONSOLIDATE (canonical or 301 to sibling)
    elif data_points < MIN_DATA:
        outcome = NOINDEX (or DO_NOT_GENERATE if no visitor value)
    elif search_demand == 0 and not supports_commercial_page:
        outcome = NOINDEX
    else:
        outcome = INDEX

    store outcome, scores and date for the page

Storing the outcome and the scores for every page makes the system auditable: when Search Console reports a page as not indexed, you can see whether your own rules expected it to be indexed. For building and testing rules like this on real data, see our guide to Claude Code for SEO.

How do you measure search demand for combinations that have no keyword data?

Estimate demand for long tail combinations from the pattern rather than the single page: use keyword data for the head terms, Search Console impressions for similar pages already live, internal site search, and the performance of a pilot batch.

SignalHow to use it
Keyword tools for head patternsConfirm that “[service] in [city]” style searches exist at all
Search Console impressions for live siblingsPages in the same pattern earning impressions suggest demand for the rest
Internal site searchWhat visitors type shows combinations they want
Pilot batchPublish a sample, measure impressions and indexing after several weeks
Sales and enquiry dataLocations and categories that generate leads deserve pages first

Demand alone is not enough. Use your revenue keyword set to weight combinations that lead to business above those that only bring traffic.

How do you measure data sufficiency and uniqueness?

Measure sufficiency by counting the populated data blocks and items on each page, and uniqueness by comparing each page’s results and content with its nearest sibling; a page that shows the same items as its parent with a different heading is a duplicate, whatever its URL says.

  • Item counts: listings, products, providers or data points per page; set a minimum per template.
  • Block coverage: how many of the template’s data blocks are populated; empty blocks should hide, and pages with too few should not be indexed.
  • Result overlap: share of items shared with the parent or sibling page; high overlap means consolidate.
  • Template quality: our guide to programmatic page templates explains how answer blocks and conditional sections create unique value per page.

What should happen when the data behind a page changes?

Re evaluate pages on a schedule and when data changes, with hysteresis: a page drops out of the index only after staying below threshold for a set period, and returns only after staying above it, so pages do not flip between indexed and noindexed every week.

SituationRule (illustrative)
Listings fall below minimumKeep indexed for 30 days; then noindex if still below
Listings recoverReturn to index after 14 days above minimum
Combination permanently empty301 to the parent page, or 404 if no relevant parent
Seasonal combinationKeep one permanent URL; update content each season
New combination appearsEnter pilot status; index once it passes all criteria

Frequent flipping wastes crawling and confuses both Google and visitors. Stable URLs with clear rules perform better than aggressive automation.

Which technical controls implement each indexation decision?

Implement decisions with controls that match their purpose: noindex for pages visitors may use but search should not show, canonical or 301 for duplicates, robots.txt for crawl waste patterns, a 404 for combinations that should not exist, and sitemaps containing only pages meant to be indexed; Google recommends returning a 404 for truly not found pages rather than a soft 404 (Search Console Help).

DecisionControlCommon mistake
IndexSelf canonical, in sitemap, linked from hub pagesIndexable page with no internal links
NoindexMeta robots noindex; remove from sitemapBlocking in robots.txt, which stops Google seeing the noindex
ConsolidateCanonical, or 301 if the page has no separate purposeCanonical to a page with different results
Block crawlrobots.txt disallow on parametersBlocking pages that should be indexed
Do not generateNo links; 404 if requestedEmpty pages returning 200 (soft 404)

How do you monitor whether your indexation logic is working?

Compare your intended outcomes with Google’s actual indexing by pattern: for each template and tier, track how many pages you intend to index, how many Google indexes, and how many earn impressions and conversions.

MetricHealthy signWarning sign
Index rate of intended pagesMost intended pages indexed within weeksMany crawled or discovered but not indexed
Impressions per indexed pageMost indexed pages earn impressionsMany indexed pages with none
Conversions by patternPatterns convert in line with expectationsTraffic without business
Crawl statsCrawling focused on indexable patternsCrawling dominated by parameters

Google says pages reported as crawled but not indexed may or may not be indexed later, and resubmitting them will not help (Search Console Help); a high share in one pattern usually means the rules let through pages that do not meet Google’s bar. Prune them using the approach in our guide to content pruning with conversion data.

Bar chart of an illustrative indexation funnel for a property portal: 104,000 possible combinations, 18,500 generated, 6,200 set to index, 5,300 indexed by Google and 3,900 earning impressions

What does indexation logic look like in a worked example?

In a worked example for a property portal, applying demand, data, uniqueness and value rules reduced tens of thousands of possible combinations to a few thousand indexable pages, with most of the rest either not generated or kept out of the index.

Illustrative scenario: “A UAE property portal covers 160 communities, 6 property types, 6 bedroom counts, rent or sale, and 8 amenity filters. Before rules, the site exposed every combination. After rules:”

StagePagesRule applied
Possible combinations (without amenities)About 11,500160 communities x 6 types x 6 bedrooms x 2
With one amenity filter appliedAbout 104,00011,520 x 9 (no amenity or one of 8)
GeneratedAbout 18,500Only combinations with at least one listing
IndexableAbout 6,200At least 5 listings, overlap with parent under 60%, demand in pattern
NoindexAbout 9,100Useful for browsing but thin or no demand
ConsolidatedAbout 3,200Near duplicates canonicalised to parent
Amenity filter URLsBlockedCrawl waste; three high demand amenities built as pages instead

The portal and figures are illustrative, not a real client. Expected outcome: crawling concentrated on about 6,200 pages, faster discovery of new listings, and fewer pages in the not indexed buckets of Search Console.

What are the common indexation logic mistakes?

MistakeBetter approach
Indexing every combination and letting Google decideDecide explicitly; offer Google only pages worth indexing
Using robots.txt to hide pages that carry noindexLet Google crawl them to see the noindex, or do not generate them
Flipping pages in and out of the index weeklyUse hysteresis: time based thresholds
Thresholds copied from another siteSet from your own data and pilot results
Sitemaps listing noindex or canonicalised URLsSitemaps only for indexable pages
Empty result pages returning 200Return 404 or redirect to the parent
No record of why each page was indexedStore scores and decisions per page

How Crawl To Click designs indexation logic

Crawl To Click is an SEO and AI visibility consultancy, and for programmatic sites we design indexation logic before templates go live: we model every attribute combination, measure demand by pattern, define data and uniqueness thresholds with the product team, map each outcome to technical controls and sitemaps, and set up monitoring by template and tier. We have worked on property portals, job and travel listings, software integration directories, healthcare and education directories and ecommerce catalogues. Google’s guidance on helpful, people first content is the test every rule set is checked against.

FAQs on indexation logic for programmatic SEO

What is indexation logic?

Indexation logic is the set of rules a programmatic site uses to decide, for every possible combination of data, whether a page is indexed, generated but noindexed, consolidated into another page, blocked from crawling or not created at all.

Should every programmatic page be indexed?

No. Google says not to expect every URL to be indexed and that it is fine for URLs not to be indexed for the right reasons. Only combinations with search demand, enough unique data and business value should be offered for indexing.

Should I use noindex or robots.txt for thin programmatic pages?

Use noindex for pages that visitors may use but that should not appear in search, and keep them crawlable so Google can see the tag. Use robots.txt for patterns that waste crawling, such as sort orders and session parameters, that should never be crawled.

What should happen to a programmatic page with no results?

A page with no results should not return a normal 200 status with an empty template. Redirect it to the closest parent page or return a 404, because Google treats empty pages returning 200 as soft 404s.

How many listings does a programmatic page need to be indexed?

There is no Google rule. Set a minimum from your own data, such as the number of items at which pages start earning impressions and engagement in a pilot, and apply it consistently with a grace period before pages drop out of the index.

Why are my programmatic pages crawled but not indexed?

Programmatic pages are usually crawled but not indexed because Google sees too little unique value in them, they duplicate sibling pages, or there are so many low value URLs that Google limits indexing. Tighten indexation rules and improve the data on pages you keep.

Building or fixing a programmatic site?

If Search Console is full of crawled but not indexed pages, or you are about to launch thousands of URLs, get a second opinion on your indexation rules before Google decides for you.

Disclaimer: This article reflects Google documentation as of the dates stated. Thresholds and the worked example are illustrative and must be tested on your own data. The example does not describe a real business.

Get insights on finding your Search Market Fit, building SEO systems, and ranking with purpose.

Delivered bi-weekly!

Subscribe Now!
Crawl To Click © Copyright 2026. All Rights Reserved. ❤️ Developed by MB!

Newsletter Subscribe

Get insights on finding your Search Market Fit, building SEO systems, and ranking with purpose. Delivered bi-weekly

We Promise Not to Send Spam:)

Newsletter Subscribe

Get insights on finding your Search Market Fit, building SEO systems, and ranking with purpose. Delivered bi-weekly

We Promise Not to Send Spam:)