Locations × services
For businesses with a real presence in several areas: each page with the team, timings, prices or cases for that specific location.
Programmatic SEO
We design systems that generate hundreds or thousands of pages from structured data, each with useful, distinct information. With quality controls, indexation management and internal linking built in from the start, and within Google’s spam policies.
“A programmatic page should only exist if it would answer the search just as well had a person written it. If it adds nothing that isn’t already on another page, it isn’t programmatic SEO: it’s noise.”
The test we apply to every project
What it is and isn’t
Programmatic SEO means creating pages at scale by combining a well-designed template with a database. It’s what travel sites do with “flights from Málaga to Amsterdam”, marketplaces with “plumbers in Seville” and SaaS tools with their integration pages. Done well, it covers thousands of specific searches no editorial team could handle by hand.
Done badly, it’s exactly what Google’s spam policies describe as scaled content abuse: many pages generated to manipulate rankings without adding value, whether produced by a person, a template or an AI model. And doorway pages (near-identical variants that only swap the town or keyword to capture searches) are equally prohibited.
The difference between the two isn’t the technology, it’s the data. If you have proprietary, specific and useful information for each combination, there’s a project. If you don’t, the honest thing is to tell you before we start.
Anatomy
The raw material: your catalogue, inventory, rates, usage data, specifications, genuine reviews or enriched public data. Its quality and depth set the ceiling for the project.
A page structure designed around search intent, with blocks that change with the data: tables, comparisons, maps, FAQs and contextual copy.
Which combinations get published, which get indexed, the minimum data a page needs and how pages link to each other. Rules are what separate a system from a spam factory.
Automated validation and human spot-checks before and after publishing, with indexation and performance tracked by page type.
Quality
| Aspect | Useful page | Doorway or scaled content without value |
|---|---|---|
| Data | Information specific to that combination: prices, availability, specifications, genuine ratings. | The same text with the keyword or town swapped. |
| Intent | Answers a real search with proven demand. | Created for every possible combination, whether anyone searches for it or not. |
| Differentiation | Each page differs substantially from its neighbours. | Pages differ only in the title and a couple of words. |
| Purpose | The user’s need is met on the page itself. | The page exists to funnel users somewhere else. |
| Indexation | Only pages that pass quality thresholds are indexed. | Everything is published and indexed at once, unchecked. |
Use cases
For businesses with a real presence in several areas: each page with the team, timings, prices or cases for that specific location.
For software: one page per integration explaining what connects, what data flows, how to set it up and what the limitations are.
“X vs Y” or “alternatives to Z”, built on verifiable feature and public pricing data, with clear editorial criteria.
Definitions, spec sheets or documentation generated from a curated database, with links between related terms.
Process
We identify the search pattern (for example “[service] in [city]” or “[tool] integration with [tool]”), measure real demand for the combinations and analyse what Google shows for them today. If the results are dominated by a type of page you can’t match, you’ll know before investing.
We take stock of the data you have and could obtain, and estimate how many pages would have enough content.
Activities
Outputs
We define the data model, publishing rules (minimums per page) and template, starting from the page we’d want to see as users. We design the data-driven blocks and the contextual copy, written per group rather than per page.
We plan the architecture: hub pages, filters, navigation paths and links between related pages.
Activities
Outputs
We publish a small, representative batch first, check how Google crawls and indexes it and how users behave, and only then scale. Pages that don’t pass the thresholds are published with noindex or not published at all.
XML sitemaps are segmented by page type so you can track indexation of each group in Search Console.
Activities
Outputs
Data changes: products disappear, locations close, prices are updated. The system has to reflect that automatically. Every quarter we review which pages get no impressions or add no value, and improve, consolidate or remove them.
We measure performance by template and segment, not just in aggregate.
Activities
Outputs
Quality checks
Every page must have its required fields filled with real data. Without enough data, it isn’t indexed.
We measure how similar neighbouring pages are. If two are almost the same, they’re merged into one.
We only index combinations with real search demand or clear value for the user’s navigation.
No orphan pages: each one linked from a hub and out to related pages, with descriptive anchor text.
Lightweight, server-rendered templates that meet Core Web Vitals thresholds at scale.
A person reviews a sample of every batch before it goes live. If the sample isn’t convincing, the batch doesn’t ship.
FAQ
Google doesn’t penalise the technique, it penalises the outcome. Its policies target scaled content without value and doorway pages, however they’re produced. A system with useful data, quality rules and controlled indexation is a legitimate and common practice.
We can use AI for well-defined tasks, such as writing descriptions from verified data or varying contextual copy, always with human review and clear rules. What we won’t do is generate thousands of pages of AI text with no proprietary data behind them: that’s exactly what Google’s policies treat as scaled content abuse.
As many as there are combinations with useful data and real demand, and no more. The viable number is often well below the possible number, and that’s fine: fewer good pages outperform many weak ones.
It depends on your stack. We can build the system on a CMS such as WordPress or Webflow, a framework such as Next.js or a static site generator. What matters is that pages are server-rendered and data can be updated without manual work.
That’s a useful signal: Google is saying it doesn’t see enough value or isn’t receiving signals of importance. We review internal linking, differentiation between pages and data quality before publishing more. Forcing indexation doesn’t fix the underlying problem.
Related
A guide to programmatic SEO: data, templates, value per page, Google's scaled content abuse policy, indexation control, internal linking and QA.
SEO for SaaS and B2B tech: use-case pages, integrations, comparison and alternatives pages, content for buying committees and visibility in AI search.
Technical SEO: crawling, rendering, indexing, Core Web Vitals, site architecture, canonicals, hreflang, structured data, log file analysis and JavaScript SEO.
We assess the feasibility of your programmatic project and tell you frankly whether it makes sense.