Original research - 4 July 2026
SEO/GEO Execution Readiness Scorecard 2026
Cohort-level SEO/GEO execution readiness scorecard for Visa Atlas: content pieces, page changes, technical gates, competitor wedges, private evidence needs and no-go conditions for the 500k/month plan.
This scorecard is a readiness and control surface. It does not prove traffic, rankings, AI citations, backlinks, market share or the 500k/month outcome. Those claims require reviewed private and external evidence.
5
Forecast cohorts
390,000-600,000
Planning range
3
Control-ready
28
Local commands
1
External gates
Readiness method
Rows are derived from the public traffic forecast, content opportunity map, search-demand action map, technical controls, topical authority map, competitor battlecards, battlecard experiments and audit evidence pack.
The scorecard proves cohort-level execution readiness and evidence gates; it does not prove traffic, rankings, AI citations, backlinks, market share or the 500k/month outcome.
Raw analytics, Search Console exports, AI outputs, SERP screenshots, bot logs, outreach records, reviewer notes and user profiles stay local unless converted into separately reviewed aggregate evidence.
- Control-ready means the public surfaces and local gates exist; it is not an outcome claim.
- Controlled-build rows require source-backed uniqueness and index-quality gates before expansion.
- External-evidence-needed rows cannot support public market-share, backlink or 500k claims until reviewed evidence exists.
- All cohort ranges are planning ranges and must be rebased when reviewed private evidence contradicts assumptions.
Cohort readiness
| Cohort | Status | Planning range | Launch decision | Competitor wedge |
|---|---|---|---|---|
Calculators and interactive tools calculators-tools | Control-ready | 90,000-140,000 monthly visits | Iterate on calculators and widgets only through measured releases: source-backed context first, rendered audit second, scoped GSC outcome evidence before calling a win. | Competitors can publish static calculators or generic guides; Visa Atlas can bind the calculator answer to current cutoff, salary, fee and cost evidence with reusable JSON and visible source trails. |
Fees, salary, processing, settlement and cost data pages data-reference | Control-ready | 110,000-160,000 monthly visits | Scale data-reference pages only where each page exposes a unique source-backed figure, JSON endpoint, citation surface and freshness path. | Broad aggregators and advisory firms publish prose; the defensible wedge is reusable, dated, source-linked data with answer capsules, citation packs and DataDownload metadata. |
Freshness and policy-change pages freshness-policy | Control-ready | 50,000-80,000 monthly visits | Use freshness-led policy and figure-change pages as the AI stale-consensus wedge, but stop publication when old/new values, dates or source URLs are missing. | AI systems and evergreen competitors often repeat stale immigration figures; Visa Atlas can publish dated old-to-new corrections in both crawlable pages and machine-readable feeds. |
Compare, ranking, corridor and profession pages after pruning longtail-navigation | Controlled build | 90,000-130,000 monthly visits | Keep long-tail growth subordinate to source-backed value and noindex gates; thicken proven corridors and professions before opening new generated URL classes. | Programmatic competitors can create many thin permutations; Visa Atlas can win durable long-tail share by proving which generated pages have unique sourced value and pruning the rest. |
Research reports, open API, data reuse and authority distribution research-authority | External evidence needed | 50,000-90,000 monthly visits | Publish and distribute original research only through controlled authority channels, then require reviewed external evidence before claiming backlinks, citations or market share. | Legacy competitors have stronger brands; Visa Atlas can compound authority by making original datasets easier to cite, mirror, verify and attribute than closed advisory content. |
Content, page and technical actions
- Control-ready
Calculators and interactive tools
Profile-specific calculators and planning tools are the click-worthy surface that answer engines cannot fully replace with a static summary.
Content pieces needed
- Worked scenario tables for Canada CRS, Germany Chancenkarte, UK Skilled Worker and UK total migration cost calculators.
- Calculator verdict context panels tied to current CRS cutoffs, salary floors, proof-of-funds and route cost evidence.
- Embeddable latest-draw and route-cost widgets with visible attribution and source URLs.
Page changes needed
- /calculators should keep flagship tools discoverable without burying source-backed context below client-only UI.
- /calculators/canada-crs, /calculators/germany-chancenkarte and /calculators/uk-skilled-worker should cross-link to the route, salary, cost and freshness pages they interpret.
- /calculators/uk-total-migration-cost should remain linked from UK route, fee, cost-to-complete and settlement paths.
Technical changes needed
- Keep calculator provenance, WebApplication JSON-LD and verdict context server-rendered.
- Keep route-finder and calculator client bundles under the configured performance budgets.
- Run rendered audits after calculator, widget or data-context changes before starting GSC outcome windows.
Public evidence
Source datasets
- /api/public/calculator-verdict-contexts
- /api/public/traffic-forecast
- /api/public/search-demand-actions
- /api/public/technical-seo-controls
- /api/public/competitor-query-battlecards
- /api/public/content-opportunities
- /api/public/topical-authority-map
- /api/public/seo-geo-audit-evidence
- /api/public/battlecard-search-experiments
- /api/public/quarterly-market-share-summary
- /api/public/visibility-metrics
- /api/public/indexable-pages
- /api/public/freshness
Local commands
npm run audit:calculator-provenancenpm run audit:calculator-verdict-contextsnpm run seo:gsc-cohorts -- gsc-pages.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=gsc-domain-redacted --search-type=webnpm run audit:triage-performancenpm run audit:rendered-seonpm run seo:gsc-experiment-outcomes -- gsc-experiment-outcomes.jsonl --json
Related public contracts
- Opportunity: calculator-verdict-history
- Opportunity: uk-total-migration-cost-builder
- Opportunity: germany-recognition-decision-tree
- Opportunity: occupation-salary-floor-checker
- Battlecard: uk-skilled-worker-cost-salary
- Battlecard: canada-express-entry-freshness
- Battlecard: germany-blue-card-salary-recognition
- Battlecard: australia-skilled-points-costs
- Search-demand action: high-impression-low-ctr-snippet-refresh
- Search-demand action: experiment-outcome-publication-gate
- Search-demand action: freshness-stale-claim-refresh
- Authority cluster: skilled-work-cost-salary
- Authority cluster: canada-express-entry-crs
- Authority cluster: germany-skilled-migration-recognition
Private evidence required
- Scoped GSC baseline and comparison exports for changed calculator pages.
- Bot-filtered analytics landing-page evidence when claiming qualified calculator visits.
- Reviewed citation-share rows for calculator-related benchmark prompts.
No-go conditions
- If flagship calculator/tool pages stay below 0.5% CTR at stable rank after the first reviewed GSC experiment window, rebase the cohort target.
- If calculator audits fail or source freshness goes red, freeze new calculator launches until provenance is restored.
- Do not publish approval predictions or legal-advice language from calculator outputs.
- Do not call a calculator experiment successful from impressions alone.
- Do not launch a calculator if the source data feeding its verdict context is stale.
Pass criteria
- Current calculator source data remains fresh under source SLA.
- Rendered WebApplication schema and visible provenance stay intact.
- GSC stable-rank CTR improves after title, answer-capsule and internal-link tests.
- Calculator source provenance and verdict context render in static HTML.
- Changed calculator pages pass calculator, performance and rendered SEO audits.
- Outcome claims cite reviewed GSC and AI-citation evidence with matching date ranges.
User-entered calculator profiles, raw GSC exports, analytics rows and unreviewed experiment notes stay local unless reviewed and aggregated.
- Control-ready
Fees, salary, processing, settlement and cost data pages
Reusable figure pages target high-intent how-much, how-long and minimum-salary queries while feeding answer capsules, citation packs and open-data reuse.
Content pieces needed
- Route-level fee, cost-to-complete, salary, processing and settlement explanations with current source dates.
- Verified answer capsules and citation packs for high-intent how-much, how-long and salary-floor facts.
- Original derived indices where the data layer creates a claim competitors cannot copy from one government page.
Page changes needed
- /fees, /salary-thresholds, /processing-times, /cost-to-complete and /settlement should cross-link around the same route intent.
- /data, /api and /use-our-data should keep every strategic data feed visible to AI retrievers and journalists.
- Figure-bearing pages should link to the owning JSON feed, freshness report and source URL near the answer.
Technical changes needed
- Keep Dataset/DataDownload JSON-LD, citation blocks and API Link headers aligned for every public dataset.
- Block page expansion when the freshness report flags stale high-risk figure records.
- Keep answer capsules, citation packs and JSON feeds consistent with the rendered page answer.
Public evidence
Source datasets
- /api/public/content-opportunities
- /api/public/answer-capsules
- /api/public/citation-packs
- /api/public/freshness
- /api/public/fees
- /api/public/cost-to-complete
- /api/public/salary-thresholds
- /api/public/processing-times
- /api/public/traffic-forecast
- /api/public/search-demand-actions
- /api/public/technical-seo-controls
- /api/public/topical-authority-map
- /api/public/seo-geo-audit-evidence
- /api/public/competitor-query-battlecards
- /api/public/battlecard-search-experiments
- /api/public/quarterly-market-share-summary
- /api/public/visibility-metrics
- /api/public/indexable-pages
Local commands
npm run audit:data-citationnpm run audit:freshnessnpm run audit:rendered-seonpm run seo:gsc-cohorts -- gsc-pages.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=gsc-domain-redacted --search-type=webnpm run audit:data-front-doornpm run audit:answer-capsules
Related public contracts
- Opportunity: open-data-front-door
- Opportunity: cost-to-complete-route-models
- Opportunity: verified-answer-capsule-index
- Opportunity: figure-change-reports
- Battlecard: uk-skilled-worker-cost-salary
- Battlecard: global-cheapest-fastest-no-sponsor
- Battlecard: salary-floors-cross-country
- Battlecard: us-employment-petition-costs
- Search-demand action: freshness-stale-claim-refresh
- Search-demand action: emerging-demand-canonical-routing
- Authority cluster: open-data-ai-retrieval
- Authority cluster: skilled-work-cost-salary
- Authority cluster: processing-time-reliability
- Authority cluster: policy-freshness-change
Private evidence required
- Reviewed GSC page-cohort rows for data-reference URLs.
- AI citation-share rows showing whether answer engines cite the canonical data surface.
- Reviewed source-refresh notes when source liveness was challenged.
No-go conditions
- If stale red-count rises for two consecutive monthly reviews, stop adding data-reference pages.
- If GSC rows show impressions without citation or click lift after source-backed answer blocks, prioritise snippet and authority work over new page creation.
- Do not create a new data-reference page from one emerging query row.
- Do not publish a figure page without a source URL, review date and owning JSON feed.
- Do not scale figure pages while freshness or source audits are red.
Pass criteria
- Fee, salary, processing and cost records preserve primary source URLs and review dates.
- The public data catalog, Dataset/DataDownload JSON-LD and citation blocks remain crawlable.
- No stale or invalid high-risk figure record is published.
- Every data page exposes visible provenance and machine-readable citation metadata.
- Public dataset count, API docs, OpenAPI and LLM discovery stay aligned.
- No stale high-risk figure is used as a current answer surface.
Private analytics, GSC rows, source-refresh working notes and unreviewed citation runs stay local unless reviewed and aggregated.
- Control-ready
Freshness and policy-change pages
Dated rule-change, draw and figure-movement surfaces compete where stale blogs and model-training cutoffs are weakest.
Content pieces needed
- Monthly figure-change reports with old value, new value, effective date and owning page.
- Policy updates with atomic source-backed claims and affected canonical pages.
- AI answer accuracy audit rows for stale-claim traps in volatile immigration facts.
Page changes needed
- /policy-updates, /changelog, /freshness and monthly figure-change reports should link to each other and to affected route pages.
- Freshness-sensitive pages should expose currentness caveats near short answers and citations.
- Canada Express Entry draw and category trackers should keep latest-draw facts tied to source feeds.
Technical changes needed
- Run stale, freshness, policy-claim and monthly-figure audits before publishing freshness-led reports.
- Keep RSS, JSON, llms.txt and report pages aligned for changed facts.
- Use the search-demand action map to decide refresh versus no-create when a stale claim appears.
Public evidence
- /policy-updates
- /changelog
- /research/immigration-rule-changes-2026
- /research/monthly-immigration-figure-changes
- /research/canada-express-entry-draw-tracker
- /api/public/fact-changes
- /api/public/monthly-figure-changes
- /freshness
- /research/ai-answer-accuracy-audit-2026
- /research/canada-express-entry-category-tracker
Source datasets
- /api/public/fact-changes
- /api/public/monthly-figure-changes
- /api/public/policy-claims
- /api/public/policy-updates
- /api/public/freshness
- /api/public/ai-answer-accuracy-audit
- /api/public/express-entry-categories
- /api/public/traffic-forecast
- /api/public/content-opportunities
- /api/public/search-demand-actions
- /api/public/technical-seo-controls
- /api/public/topical-authority-map
- /api/public/seo-geo-audit-evidence
- /api/public/competitor-query-battlecards
- /api/public/battlecard-search-experiments
- /api/public/quarterly-market-share-summary
- /api/public/visibility-metrics
- /api/public/indexable-pages
Local commands
npm run audit:policy-claimsnpm run audit:monthly-figure-changesnpm run audit:express-entry-categoriesnpm run kpi:citation-sharenpm run audit:stalenpm run audit:freshness
Related public contracts
- Opportunity: figure-change-reports
- Opportunity: canada-express-entry-category-tracker
- Opportunity: ai-answer-accuracy-audit-franchise
- Battlecard: canada-express-entry-freshness
- Battlecard: salary-floors-cross-country
- Battlecard: uk-skilled-worker-cost-salary
- Search-demand action: freshness-stale-claim-refresh
- Search-demand action: high-impression-low-ctr-snippet-refresh
- Search-demand action: serp-ai-market-share-escalation
- Authority cluster: canada-express-entry-crs
- Authority cluster: policy-freshness-change
Private evidence required
- Reviewed AI answer outputs for fixed stale-claim benchmark prompts.
- Reviewed GSC rows for freshness-led pages and changed-fact landing URLs.
- Source-refresh notes for disputed or changed government facts.
No-go conditions
- If fresh pages fail to enter citation-share evidence after two quarterly reviews, reduce the freshness traffic range.
- If a high-risk stale claim escapes the answer-key audit, pause publication until the source and correction workflow is repaired.
- Do not imply currentness when freshness checks fail.
- Do not publish an old-to-new figure without the effective date and current source URL.
- Do not claim AI correction success without reviewed citation and accuracy evidence.
Pass criteria
- Policy update and fact-change feeds retain old/new values, effective dates and source URLs.
- Citation benchmark prompts continue to cover volatile high-risk facts.
- Rendered policy and research pages keep canonical URLs and Article/Dataset schema.
- Changed facts keep stable IDs, old/new values, source URLs and owning pages.
- Freshness-sensitive answer surfaces cite current public datasets.
- AI answer accuracy claims use reviewed fixed-prompt evidence, not anecdotes.
Raw model outputs, reviewer notes, failed source probes and private GSC exports stay local unless reviewed and aggregated.
- Controlled build
Compare, ranking, corridor and profession pages after pruning
Long-tail pages contribute only where each indexed URL has unique sourced value, source-basis blocks and a useful next action.
Content pieces needed
- Corridor at-a-glance blocks for high-flow nationality and destination pairs.
- Profession visa and licensing timelines where route eligibility, salary and recognition data are source-backed.
- Comparison and ranking pages that expose methodology, data sources and useful next actions.
Page changes needed
- /compare, /from, /professions, /rankings, /best and /routes should route crawlers to stronger route, cost, salary and calculator pages.
- Sparse generated pages should stay excluded from sitemap and guarded from indexing.
- Long-tail templates should preserve source-basis, legal-scope and next-step blocks above generic prose.
Technical changes needed
- Keep thin-page, noindex, indexable-page manifest and long-tail provenance audits green before expansion.
- Use canonical routing instead of creating a new page when query evidence is narrow or unsupported.
- Run rendered artifact checks on representative corridor, profession and comparison pages after template changes.
Public evidence
Source datasets
- /api/public/indexable-pages
- /api/public/country-comparisons
- /api/public/topical-authority-map
- /api/public/search-demand-actions
- /api/public/competitor-query-battlecards
- /api/public/traffic-forecast
- /api/public/content-opportunities
- /api/public/technical-seo-controls
- /api/public/seo-geo-audit-evidence
- /api/public/battlecard-search-experiments
- /api/public/quarterly-market-share-summary
- /api/public/visibility-metrics
- /api/public/freshness
Local commands
npm run audit:thinnpm run audit:noindexnpm run audit:longtail-provenancenpm run audit:indexable-page-manifestnpm run seo:gsc-cohorts -- gsc-pages.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=gsc-domain-redacted --search-type=webnpm run audit:longtail-depth
Related public contracts
- Opportunity: corridor-and-profession-depth
- Opportunity: occupation-salary-floor-checker
- Opportunity: gsc-opportunity-backlog
- Opportunity: competitor-query-battlecards
- Battlecard: global-cheapest-fastest-no-sponsor
- Battlecard: salary-floors-cross-country
- Battlecard: digital-nomad-europe-costs
- Search-demand action: striking-distance-internal-link-push
- Search-demand action: emerging-demand-canonical-routing
- Authority cluster: country-comparison-longtail
- Authority cluster: germany-skilled-migration-recognition
- Authority cluster: skilled-work-cost-salary
Private evidence required
- Reviewed GSC rows showing impressions or CTR opportunity for the long-tail path class.
- Reviewed search-demand action row deciding section work, internal linking or canonical routing.
- Post-change GSC outcome evidence before treating a long-tail template as scalable.
No-go conditions
- If indexed-thin count rises or long-tail source-basis audits fail, halt long-tail expansion.
- If 50 thickened long-tail pages do not improve CTR at stable rank, deprioritise authoring until authority improves.
- Do not add indexable pages with no unique source-backed value.
- Do not reopen sparse fallback corridors or compare pairs to the sitemap.
- Do not expand long-tail output if thin-page or noindex audits fail.
Pass criteria
- Indexability manifest stays aligned with sitemap and page-level noindex decisions.
- Long-tail templates preserve source-basis and legal-scope blocks.
- Expansion is earned by verified corridor, profession or comparison data.
- Indexable long-tail pages expose unique source-basis and useful next actions.
- Sitemap, manifest and page-level noindex controls agree.
- Internal links point to stronger canonical hubs, route pages and datasets.
GSC query rows, URL performance exports and template experiment notes stay local unless reviewed and aggregated.
- External evidence needed
Research reports, open API, data reuse and authority distribution
Original research, open datasets, repository mirrors, publisher kits and authority distribution drive direct visits plus the off-site citations needed to lift every cohort.
Content pieces needed
- Quarterly market-share summaries based on approved SERP and AI answer-surface rollups.
- Publisher citation kits for original datasets that journalists and AI retrievers can reuse.
- External repository mirror packages and knowledge-graph entity evidence for citable dataset identity.
Page changes needed
- /research should surface the authority, market-share, competitor and audit reports as first-class crawl paths.
- /use-our-data and /data should make reuse and attribution easier than scraping a page.
- Research reports should expose CiteDataset blocks, DataDownload schema, caveats and private-evidence limits.
Technical changes needed
- Keep authority-distribution, publisher-kit, repository-mirror and knowledge-graph local evidence commands wired.
- Reject public success claims without approved external URLs, canonical backlinks, reviewedAt and reviewedBy fields.
- Run the full SEO/GEO release gate before publishing new strategic reports or market-share rollups.
Public evidence
- /research
- /data
- /api/public
- /research/authority-distribution-plan-2026
- /research/publisher-citation-kits-2026
- /research/external-data-repository-mirrors-2026
- /api/public/authority-distribution-plan
- /api/public/publisher-citation-kits
- /api/public/external-repository-mirrors
- /use-our-data
- /research/quarterly-market-share-evidence-summary-2026
Source datasets
- /api/public/authority-distribution-plan
- /api/public/publisher-citation-kits
- /api/public/external-repository-mirrors
- /api/public/knowledge-graph-entities
- /api/public/quarterly-market-share-summary
- /api/public/source-transparency-benchmark
- /api/public/visibility-metrics
- /api/public/traffic-forecast
- /api/public/content-opportunities
- /api/public/search-demand-actions
- /api/public/technical-seo-controls
- /api/public/topical-authority-map
- /api/public/seo-geo-audit-evidence
- /api/public/competitor-query-battlecards
- /api/public/battlecard-search-experiments
- /api/public/indexable-pages
- /api/public/freshness
Local commands
npm run audit:data-front-doornpm run audit:authority-distributionnpm run audit:publisher-citation-kitsnpm run audit:repository-mirrorsnpm run seo:authority-distribution -- authority-distribution-log.jsonl --jsonnpm run seo:publisher-citation-kits -- outreach-log.jsonl --jsonnpm run audit:knowledge-graphnpm run seo:market-share-summary -- surface-summary.json --jsonnpm run audit:seo-geo
Related public contracts
- Opportunity: source-transparency-benchmark
- Opportunity: competitor-query-battlecards
- Opportunity: quarterly-market-share-summary
- Opportunity: publisher-citation-outreach-kits
- Opportunity: external-data-repository-mirrors
- Opportunity: authority-distribution-control-plane
- Opportunity: knowledge-graph-entity-seeding
- Battlecard: germany-blue-card-salary-recognition
- Battlecard: uk-skilled-worker-cost-salary
- Battlecard: canada-express-entry-freshness
- Battlecard: global-cheapest-fastest-no-sponsor
- Battlecard: salary-floors-cross-country
- Battlecard: digital-nomad-europe-costs
- Search-demand action: serp-ai-market-share-escalation
- Search-demand action: experiment-outcome-publication-gate
- Authority cluster: open-data-ai-retrieval
- Authority cluster: policy-freshness-change
Private evidence required
- Approved external publication URLs with canonical backlinks or citations.
- Reviewed repository accession, DOI or mirror evidence when used in public claims.
- Approved SERP and AI answer-surface rollups before market-share claims.
No-go conditions
- If two consecutive flagship reports earn no approved citation, repository or publisher evidence, reallocate effort to product and data-page quality.
- If any approved authority row lacks source URLs, canonical backlink or reviewer fields, fail the local evidence command and do not publish the claim.
- Do not claim backlinks, citations, repository publication or market share from unapproved evidence rows.
- Do not publish raw screenshots, AI transcripts, contact notes or outreach records.
- Do not use paid-link or guaranteed-placement language.
Pass criteria
- Publisher, repository and authority evidence rows require reviewed public evidence before claims are published.
- Every report keeps CiteDataset blocks and Dataset/DataDownload schema.
- External distribution avoids bought links, guaranteed-backlink language and unapproved launch claims.
- Every authority channel has public copy assets, evidence fields and local commands.
- Approved external evidence includes URL, canonical link or attribution, reviewedAt and reviewedBy fields.
- Market-share summaries publish only reviewed aggregate counts and date ranges.
Contacts, outreach notes, rejected submissions, raw SERP captures, transcripts and unapproved external URLs stay local until reviewed and aggregated.
Cite or reuse this dataset
This SEO/GEO execution readiness scorecard is free to reuse under CC BY 4.0. Cite the JSON endpoint for machine-readable cohort rows and the report page for methodology, caveats and evidence limits.
Suggested citation
Visa Atlas, "Visa Atlas SEO/GEO execution readiness scorecard", https://visaatlas.org/research/seo-geo-execution-readiness-scorecard-2026. Last verified 4 July 2026.
- JSON endpoint
- https://visaatlas.org/api/public/execution-readiness
Primary sources (31)
- /api/public/traffic-forecast
- /api/public/content-opportunities
- /api/public/search-demand-actions
- /api/public/technical-seo-controls
- /api/public/topical-authority-map
- /api/public/seo-geo-audit-evidence
- /api/public/competitor-query-battlecards
- /api/public/battlecard-search-experiments
- /api/public/quarterly-market-share-summary
- /api/public/visibility-metrics
- /api/public/indexable-pages
- /api/public/freshness
- /api/public/calculator-verdict-contexts
- /api/public/answer-capsules
- /api/public/citation-packs
- /api/public/fees
- /api/public/cost-to-complete
- /api/public/salary-thresholds
- /api/public/processing-times
- /api/public/fact-changes
- /api/public/monthly-figure-changes
- /api/public/policy-claims
- /api/public/policy-updates
- /api/public/ai-answer-accuracy-audit
- /api/public/express-entry-categories
- /api/public/country-comparisons
- /api/public/authority-distribution-plan
- /api/public/publisher-citation-kits
- /api/public/external-repository-mirrors
- /api/public/knowledge-graph-entities
- /api/public/source-transparency-benchmark