We tested family, URL, content-shape, discovery, and crawl-timing ideas. The result is a stronger decision plan, not a claim that we know Google’s private reason.
9reviewed findings
Bottom line
We found actionable patterns, not Google’s causal answer.
The evidence supports better next steps, but it still does not reveal why Google assigned an individual URL to a specific index state.
What to do next
A four-phase client plan
Sequence the work so AirGarage gets immediate hygiene wins, makes explicit inventory decisions, and learns from any experiment.
01
Now
Confirm and clean up 20 redirect sources
Owner-confirm each observed target. Verify the preferred target remains HTTP 200, self-canonical, and currently sitemap-listed; then remove the redirect source from the sitemap and internal links while keeping the redirect.
02
Next
Map and strengthen crawlable hubs
Identify replacement rendered discovery paths. Remove links to retired hub/query URLs and provide clean, direct links to a deliberately selected high-value subset. This is not a claim that retired hubs caused exclusions.
03
Decide
Set a separate inventory strategy by family
For Gates & Equipment, Solutions, and Parking Payments, decide what to retain, consolidate, or retire based on distinct user and commercial intent.
04
Test
Run a pre-specified controlled pilot
Where feasible, stratify and randomize, retain held-out controls, define the primary transition outcome and fixed schedule, plan the minimum detectable effect, and protect controls from spillover. Otherwise label it operational and non-causal.
Evidence register
Nine ranked findings
The badge describes the type of conclusion. Evidence strength describes how firmly we can state that limited conclusion—not how urgent an investigation is.
#1Direct observation
The 20 hash-suffixed /locations URLs are current redirect sources to semantic counterparts and should be treated as source variants, not submitted content URLs.
Evidence strength: high
What supports it
All 20 source variants are members of the frozen sitemap. Wave 2 directly observed initial HTTP 301 for 20/20 variants and HTTP 200 with self-canonical for 22/22 counterpart candidates. Historically, 20/20 variants were excluded versus 111/980 unsuffixed rows; 17 had an indexed counterpart.
Important limit
The cohort/test was found post hoc. Non-following GETs do not establish a redirect chain or final destination, owner preference is unconfirmed, and current sitemap membership of targets was not measured.
Next action: For each source, owner-confirm the observed target is preferred and verify the target remains HTTP 200, self-canonical, and currently sitemap-listed. Then remove redirect sources from the sitemap/internal links while keeping the redirects; do not promise an indexation outcome.
What would change this assessment?
A later current check no longer redirects, or the owner identifies a target as unintended and restores a distinct content purpose.
#2Association
Family membership is associated with different indexed shares across the three large programmatic cohorts.
Evidence strength: medium
What supports it
Across the same 922 city slugs, indexed shares differ consistently: Gates & Equipment 45.8%, Solutions 61.5%, and Parking Payments 70.9%.
Important limit
Underlying template, intent, launch history, links, and business value remain unisolated; observational matching on slug does not assign a cause.
Next action: Set a separate inventory and user-intent decision for each family; do not apply one generic city-page fix.
What would change this assessment?
Owner publish dates, inlink graph, or controlled changes explain the family gap without a family-membership component.
#3Hypothesis to test
High similarity in sampled full-page server-returned transport text raises an unverified inventory-level differentiation question.
Evidence strength: low
What supports it
Wave-1 full-page server-returned transport text, including shared navigation/footer/boilerplate, has ~0.99 median within-family token-sequence similarity for solutions, parking-payments, and locations (~0.93 gates).
Important limit
Indexed controls are equally similar, /locations has high coverage, and the metric is not rendered, boilerplate-stripped main-content or user-purpose evidence. It does not distinguish individual outcomes.
Next action: Do not rewrite pages or prescribe local-content work from this metric. First analyze rendered, boilerplate-stripped main content and user purpose; only then consider a controlled differentiation treatment for commercially important pages or owner-led consolidation/retirement.
What would change this assessment?
Rendered, boilerplate-stripped main-content and user-purpose analysis shows substantial location-specific utility not captured in full-page transport text.
#4Hypothesis to test
Historical programmatic discovery hubs have been removed, and current replacement internal-link support may be incomplete.
Evidence strength: medium
What supports it
Four hub paths account for 3,193 frozen GSC referrer occurrences amid 600 unique query strings. Wave 2 directly observed 8/8 tested root/query URLs returning HTTP 404 with canonical /404; the 113-page wave-1 current-200 sample had zero non-self programmatic outgoing links.
Important limit
GSC referrers are partial and historical; a new hub or links elsewhere may replace these paths. The bounded sample is not a complete rendered inbound-link graph and does not establish an indexing reason.
Next action: Identify replacement discovery paths, remove links to retired hub/query URLs, and provide clean crawlable hubs with direct canonical links to a deliberately selected high-value subset.
What would change this assessment?
A complete current rendered link graph shows clean replacement hubs and direct crawlable links reaching the retained programmatic inventory.
#5Association
Crawled-not-indexed pages have older recorded crawl timestamps than indexed pages in this snapshot.
Evidence strength: medium
What supports it
The older recorded-crawl pattern repeats across major families when age is anchored to each inspection timestamp.
Important limit
Reverse causation is strong: exclusion can lead to less recrawling. Discovered/unknown timestamps are structurally absent and were excluded.
Next action: Use fixed-interval panel monitoring and Googlebot logs; treat recorded crawl transitions as outcomes, not as proof of the original reason.
What would change this assessment?
Longitudinal logs/panel data show comparable recorded crawl cadence after controlling for status and publication date.
#6Not supported as primary explanation
City demand alone is the main explanation for the three-family outcomes.
Evidence strength: low
What supports it
Same-city pages share geography and possible demand context.
Important limit
Exact-city cross-family phi is only about 0.02–0.05 while family rates differ substantially.
Next action: Do not prioritize solely by city name; combine business value, intent, links, and family-specific evidence.
What would change this assessment?
Independent demand data strongly predicts outcomes within each family in a prospective analysis.
#7Direct observation
The frozen sitemap order is exactly alphabetic within all three primary families.
Evidence strength: high
What supports it
Observed Spearman correlation between sitemap position and alphabetic rank is 1.0 in each primary family.
Important limit
This describes the frozen ordering only and says nothing about publication chronology or an indexation cause.
Next action: Treat this only as an ordering observation.
What would change this assessment?
A reproduced parse of the same frozen sitemap does not yield exact alphabetic ordering.
#8Not supported as primary explanation
Available sitemap position is usable as a publication-age proxy.
Evidence strength: low
What supports it
None; the available order is exactly alphabetic.
Important limit
Alphabetic ordering makes position unusable as an age proxy in this snapshot, but it does not prove page age is unrelated to indexation.
Next action: Request actual CMS created/published/modified dates; do not infer page age from sitemap position.
What would change this assessment?
Independent CMS timestamps establish and validate a publication chronology encoded by another measured field.
#9Not supported as primary explanation
URL depth, slug length, or token cleanup is a meaningful primary discriminator.
Evidence strength: low
What supports it
No material pattern in the frozen primary-family aggregates.
Important limit
All primary pages have the same path depth; indexed/excluded median slug length and token counts are nearly identical.
Next action: Do not spend the first remediation cycle shortening otherwise valid slugs.
What would change this assessment?
A preregistered multivariable analysis with independent data shows a repeatable material effect.
Same cities, different families
922 matched city slugs show a family-level association
Comparing the same city names reduces—but does not remove—confounding. Family membership is useful for prioritization; it does not isolate a template or content cause.
Gates & Equipment45.8%
Solutions61.5%
Parking Payments70.9%
Family membership is associated with different indexed shares; intent, history, links, and business value remain unisolated.
Inventory hygiene
Twenty redirect sources to owner-confirm and clean up
This is a separate workstream from the original 16 signed-off page priorities. Three URLs overlap; do not describe the report as having 36 unique priorities.
Verify before removing a source from the sitemap. All 20 sources were in the frozen August 13 sitemap and returned an initial 301 on August 18. Their observed targets returned 200 and were self-canonical in Wave 2. The targets’ current sitemap membership was not tested, and redirects were not followed to prove a final destination.
Twenty redirect-source cleanup records with observed targets and owner-check state
Redirect source
Observed target
Current check
Owner check
/locations/apple-valley-11b8c
/locations/apple-valley-mn200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/chicopee-662d7
/locations/chicopee-ma200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/colton-0e5d7
/locations/colton-ca200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/dearborn-heights-65908Also in the original 16
/locations/dearborn-heights-mi200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/diamond-bar-a10e1
/locations/diamond-bar-ca200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/georgetown-d39e3
/locations/georgetown-tx200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/gilroy-e067e
/locations/gilroy-ca200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/grand-forks-2d05c
/locations/grand-forks-nd200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/hempstead-95c5bAlso in the original 16
/locations/hempstead-ny200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/hendersonville-bd854
/locations/hendersonville-tn200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/hoboken-c6486
/locations/hoboken-nj200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/kettering-2221b
/locations/kettering-oh200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/margate-7e728
/locations/margate-fl200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/peabody-c0f6e
/locations/peabody-ma200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/port-arthur-2c850
/locations/port-arthur-tx200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/porterville-4dcbb
/locations/porterville-ca200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/smyrna-aa260Also in the original 16
/locations/smyrna-ga200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/valdosta-1e4a6
/locations/valdosta-ga200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/weymouth-town-a01bf
/locations/weymouth-town-ma200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
/locations/woodland-786ad
/locations/woodland-ca200 · self-canonical; sitemap not tested
301 → 2002026-08-18
Pending confirmation
Discovery architecture
Eight historical hub URLs now return 404
Four former roots and one query variant per root were checked.
/cities/enforcement/equipment/payments
The eight tested historical discovery URLs are retired now. The current replacement rendered link graph was not identified by this bounded check.
Ask engineering for the current rendered inbound-link graph before concluding pages are orphaned.
Crawl timing
Older recorded crawls are a symptom, not a diagnosis
24.9days · indexed median
147.6days · crawled-not-indexed median
An association in this snapshot, not a cause. Reverse causation remains possible.
What not to overinterpret
Four primary explanations were weakened
City demand alone
Sitemap position as publication age
URL depth, slug length, or token cleanup
Historical activity as a cause
Full-page text similarity needs another test. The sampled server transport text includes navigation, footer, and boilerplate. Indexed controls were equally similar. This does not establish thin or duplicate content and is not a basis for mass rewrites.
Keep the workstreams separate
Preserve the original 16 priorities; manage the 20-source cleanup as inventory hygiene.
The counts overlap and answer different client questions.