The quality gate
FamilyPlans operates a strict indexation gate. Every generated page starts as noindex. To reach Google's index, a page must pass three layers of checks. This page documents those checks in full.
Layer 1 — Hard minimums
Each page type has a set of hard minimums. A page that fails any minimum is noindex regardless of how it scores on the weighted layers below.
- Postcode pages: at least 3 visible local facts; at least 1 venue, family hub, library session, or council service in scope; visible last-verified date; visible correction link; at least 3 useful internal links.
- City pages: at least 10 service records or a strong public-service dataset; at least 3 unique-to-city local sections; methodology and freshness blocks visible.
- Venue pages: verified name, address/postcode, source, and at least one of: schedule, price, age range, type, or status. No unsupported reviews or ratings.
- Council pages: council identity verified; at least one source of family hub, library, Sure Start, or LA service data; clear caveat where coverage is incomplete.
- Editorial pages: clear editorial responsibility (a responsible editorial contact); citations for factual claims; methodology / source note; correction-policy link; sensitive-topic human review completed where applicable.
Layer 2 — Weighted score
The score is computed from nine components, weighted as:
firstPartyDataScore— weight 0.25usefulnessScore— weight 0.15uniquenessScore— weight 0.15provenanceScore— weight 0.1freshnessScore— weight 0.1schemaValidityScore— weight 0.08internalLinkScore— weight 0.07cwvScore— weight 0.05editorialResponsibilityScore— weight 0.05
Layer 3 — Per-page-type thresholds
The page must score at or above its threshold to reach the index:
| Page type | Threshold |
|---|---|
homepage | 75 |
topic_hub | 75 |
activity_type | 75 |
activity_type_city | 73 |
city | 75 |
postcode | 72 |
venue | 70 |
council | 78 |
family_hub_council | 75 |
family_hub | 75 |
brand_comparison | 80 |
brand_comparison_city | 78 |
operator | 75 |
operator_topic | 75 |
editorial_index | 75 |
editorial_article | 82 |
editorial_corrections | 75 |
sure_start_overview | 80 |
sure_start_methodology | 80 |
sure_start_council | 78 |
family_hub_tracker | 78 |
dataset_index | 80 |
dataset | 80 |
methodology | 80 |
methodology_sub | 75 |
about | 70 |
author | 70 |
marketing | 65 |
activity | 70 |
AI-copy checks (universal)
Independently of page type, every page is checked for:
- Approved AI fragments: if any AI-assisted fragment on the page is not marked
review_status='approved', the page does not render the fragment AND isnoindexuntil reviewed. - Source-fact coverage: at least 80% of factual sentences in generated copy must map to structured facts or citations.
- Generic phrase density: no more than ~1 generic phrase per 100 words.
- Place-name swap risk: a page that looks near-identical to a neighbouring postcode/city page when place names are stripped (cosine similarity ≥ 0.85) is
noindex. - Unsupported superlatives: “best”, “top”, “trusted”, “safest”, “most reliable”, “leading” etc. without a documented methodology.
Reason codes
Every noindex decision carries one or more reason codes:
INSUFFICIENT_LOCAL_FACTSNO_VERIFIED_SOURCEMISSING_LAST_VERIFIEDMISSING_CORRECTION_LINKINSUFFICIENT_INTERNAL_LINKSNO_NAMED_AUTHORNO_METHODOLOGY_LINKPLACEHOLDER_COPYEMPTY_RESULT_SETTOTAL_SCORE_BELOW_THRESHOLDDUPLICATE_CONTENT_RISKSTALE_DATASCHEMA_INVALIDUNREVIEWED_AI_FRAGMENTGENERIC_PHRASE_DENSITY_HIGHPLACE_NAME_SWAP_RISKUNSUPPORTED_SUPERLATIVESOURCE_FACT_COVERAGE_LOWSENSITIVE_TOPIC_NEEDS_HUMAN_REVIEWEDITORIAL_NOT_PUBLISHEDSOURCE_NOT_APPROVED
Overrides
An editor may override a noindex decision in narrow circumstances (typically a freshly-published editorial article that hasn't accumulated link signals yet). Overrides require: editor identity, a reason of at least 50 characters, an expiry of no more than 30 days for programmatic pages or 90 days for editorial, and an entry in our audit log. Overrides are reviewed weekly.
We do not override the gate for: pages without a verified source, pages with invented claims, legal or safeguarding flags, or pages blocked by source eligibility policy.
Why we run the gate this way
Our editorial position is that volume of pages is not a useful proxy for value. The purpose of the gate is to make sure each indexed FamilyPlans page gives a parent an answer that existing pages do not, with sources they can check. Pages that fail the gate still exist on the site (they are useful for users who arrive via direct link), but they do not appear in our sitemap and they emit a noindex meta tag to search engines.