Answer in brief
A dataset can produce a thousand landing pages in a week. Whether that is a thousand pages or one page repeated a thousand times gets decided in the spreadsheet, long before the template runs.
A row is a promise the page has to keep
The catalogue lists this work as Programmatic SEO: hundreds of landing pages from one table, filed under the category Page generation, priced at $500 – $2 500, and carrying a difficulty rating the catalogue does not soften — expensive and complex. The description states the mechanism without ceremony: from a single dataset come hundreds or thousands of landing pages aimed at low-frequency queries shaped like service plus city or product plus parameter. Everything genuinely hard about the project is compressed into the word dataset.
The template is the least interesting part of the system, which is exactly why so many builds fail there. A template is a fixed sentence with holes in it, and holes filled from a column of city names produce one fixed sentence repeated several hundred times. A visitor who lands on the twelfth of those pages is not reading a new page. They are reading the same page with a different noun in the heading, and a search engine assesses it on precisely those terms.
So the useful question is never how many pages a table can produce. It is how much any single row knows that no other row knows. If the row for Manchester and the row for Leeds differ only by the word in the title, the table contains one page, not two. If they differ by price, availability, delivery window, local regulation, named supplier and a photograph taken in that city, the table contains two pages and probably has room for several more.
This is the seam the entire project runs along. Distribution means taking variation that genuinely exists inside a business and giving each variant a stable address a search engine can reach and a buyer can bookmark. Duplication means manufacturing addresses for variation that does not exist anywhere except in the loop that generated them. Inside a build pipeline the two are indistinguishable. They diverge only in what the row contains, which makes this a data problem long before it becomes a publishing one.
Scaled content abuse is a judgement about value, not about machines
Search engines gave this failure mode a name — scaled content abuse — and the definition rewards careful reading mostly for what it leaves out. It does not say generated. It does not say automated, templated, translated or written by a model. It describes pages produced in quantity that offer little value to the person who arrives on them, and it treats the method of production as irrelevant to the verdict that follows.
That framing is inconvenient for anyone hoping for a technical exemption and quietly liberating for anyone building carefully. A hand-written page with nothing in it sits in the same category as a machine-written page with nothing in it. A machine-assembled page carrying real stock levels, real prices, real availability and a real photograph does not sit in that category at all, and no disclosure about how it was assembled moves it either way.
The practical consequence is that compliance work happens in the spreadsheet rather than in the prose. You cannot write your way out of an empty row; you can only decline to publish it. Every serious programmatic build therefore contains a component that casual builds omit entirely: a gate that decides, per row, whether this record holds enough to become a URL, and a defined destination for every row that fails the test.
Treating that gate as the centre of the design rather than a late safety check changes what actually gets built. It changes the schema, because the gate needs fields it can test. It changes the crawl surface, because failed rows must never reach the sitemap. And it changes the estimate, which is where the catalogue's difficulty rating comes from: expensive and complex describes the cost of the gate, not the cost of the loop that renders pages.
The five things a row has to carry before it earns a URL
First: independent demand. Somebody has to be searching for this specific combination. A table can generate every pairing of two hundred services with four hundred towns, and every one of those eighty thousand pairings can exist while only a fraction of them are ever typed by a human being. Rows without a demand signal are not underperforming pages. They are pages that were never going to be visited, and their one measurable effect is on crawl budget.
Second: at least one fact that changes non-trivially from row to row. Not the noun in the heading — a number, a date, a constraint, a named person, a rule that applies here and not next door. Third: a verifiable entity behind the row. If the page claims a service in a town, the service in that town has to be real, because the fastest way to lose a programmatic build is a reviewer discovering that the address exists and the offer behind it does not.
Fourth: something the visitor can do next that belongs to this row specifically — the local contact, the actual stock, the applicable form, the correct delivery estimate. A single shared call to action across ten thousand pages is an honest signal that the pages are shared too. Fifth: a named owner and a refresh date, because a row that was true at publication and is quietly wrong eighteen months later is a slower, more expensive version of the same failure.
Five conditions is a strict filter and it is meant to be strict. Applied honestly to a table of twenty thousand rows it usually leaves a few thousand standing, and those few thousand are the ones that justify the catalogue's band of $500 – $2 500. A project that cannot survive the filter has lost nothing at all. It has simply discovered before publishing what it would otherwise have discovered afterwards, at a much worse moment and with far less room to act.
Where the spreadsheet stops behaving like a spreadsheet
Datasets that look tidy in a viewport behave very differently at row nine thousand. Empty cells appear that the schema never anticipated. The same city arrives spelled three ways. Two suppliers use different units for the same measurement. A price column holds a range in some rows and a single figure in others. None of this matters while a human reads the table, and all of it matters the instant a template renders those values straight into a heading.
The joins are worse than the nulls. Programmatic pages almost always need two or more sources — a catalogue and a geography, a product feed and a specification sheet, an availability table and a pricing rule — and the join key is rarely as clean as the first hundred rows suggest. Rows that fail to join do not politely disappear. They produce a page with a heading, one template sentence and nothing beneath it, which is the exact shape the scaled content policy describes.
The defence is unglamorous and highly specific: a validation pass that runs before rendering rather than after publishing, with explicit rules per field and an explicit destination for every failure. Rows that pass become pages. Rows that fail go into a review queue, or into a category page that aggregates them honestly, or nowhere at all. The single option that must not exist is a row that fails quietly and becomes a page regardless of what the validator thought.
This is why the catalogue quotes 3–7 days for a pilot of 500–1000 pages rather than an afternoon. A rendering loop over a clean table genuinely is an afternoon. The days go into deciding what clean means for this particular dataset, writing the checks that enforce that definition, and reading the rejected rows with your own eyes before a single URL is exposed to a crawler. That reading is the part nobody enjoys and nobody can skip.
Metadata is the click layer and it cannot rescue the page underneath
The second catalogue entry is mass generation of titles and descriptions with AI, filed under Meta tags, priced at $150 – $700 per pack, with throughput stated plainly as 3–6 hours per 500 pages once the prompt is configured. Its difficulty is the catalogue's gentlest rating — beginner. The description sets expectations precisely: hundreds of titles and descriptions rewritten in a day, unique, within length, with a clear call and without spam, with positions unchanged and clicks higher.
Read that last clause slowly, because it is both the entire argument for the service and the entire limit of it. Metadata does not move a page up the results. It changes how many people choose the page once it is already sitting there. A page ranking eleventh with a better description is still ranking eleventh. A page ranking fourth with a description that finally says what is on it collects a different share of the clicks it was already eligible for.
Which is why the two services belong in that order and not the reverse. Running mass metadata across a set of thin, near-identical pages produces a set of thin, near-identical pages with better titles, and better titles bring more people to a page that disappoints them faster than before. The lift is real when the page has something on it and purely cosmetic when it does not, and no prompt can tell those two situations apart from the outside.
The pricing shape carries the same message. Small volumes are quoted per page — 300–800 ₽ each — while packs are quoted whole: 15 000–35 000 ₽ for a hundred pages and from 50 000 ₽ for a thousand. The unit price falls as volume rises because the expensive parts are the prompt, the length rules and the review sample rather than the generation itself. That is also precisely why the stated hours begin only after the prompt is set up.
The pilot is an argument you submit to the index
The catalogue is unusually specific about scope here: 3–7 days for a pilot of 500–1000 pages. A pilot at that size is not a rehearsal for the real build and should not be treated as one. It is a question put to a search engine in the only language a search engine answers — publish a bounded, honest sample of the shape you intend to produce at volume, then watch, without arguing, what the index decides to do with it.
The reading afterwards is straightforward. Pages crawled and indexed means the shape has been accepted and the remaining risk is demand rather than quality. Pages crawled and not indexed means the row does not contain enough to justify a page, whatever the template says about it, and scaling would only multiply a rejection you already have in hand. Pages not crawled at all points at internal linking or the sitemap, which is plumbing and the cheapest of the three to repair.
The rouble tiers in the catalogue are drawn along exactly this seam. The full range reads 30 000 – 100 000 ₽, split into a pilot of 500–1000 pages at 30 000–50 000 and scaling to 2000–5000 pages at 70 000–100 000. The second tier is not higher because the extra pages cost more to render. It is higher because at that volume the gate, the monitoring and the refresh cycle have to keep working without anybody watching them daily.
The discipline that makes a pilot worth its price is refusing to scale on a calendar. The pages published first should be the strongest rows in the table rather than a random sample, because the point is to learn whether the best case works before spending money on the average case. If the strongest thousand rows do not get indexed, the remaining nineteen thousand are not a growth plan waiting to be funded. They are a table that needs more columns.
What the quarterly plan is really for: deciding what never gets generated
The third catalogue entry is a quarterly content plan with briefs written for AI-driven results, filed under Content strategy, priced at $200 – $700, with a duration of 1–2 days. Its description is concrete about the deliverable: a ready three-month plan covering which articles and landing pages to write, in what order, against which clusters and with what expected effect, with a brief attached to every topic so an author can write the text without your involvement.
Inside a programmatic project the plan does something the build cannot do for itself. It decides which clusters are legitimately generative and which are not. Comparison pages across a specification grid can be generated safely. A guide to a regulation that changed last quarter cannot, and a table that tries will produce the most confidently wrong pages on the entire site. The plan is the document where that split gets made deliberately rather than discovered by accident.
The brief is the mechanism that makes the split enforceable rather than aspirational. A brief naming the question the page answers, the facts it must contain and the source of each fact is a specification a human author can satisfy and an automated pipeline can be tested against. It also exposes the empty topics early: if a brief cannot name three things the page must contain, the topic was never a page, and finding that out costs nothing at the planning stage.
At $200 – $700 for one to two days, the plan is the smallest line of the three and the one that changes the other two the most. The rouble line names a mini-strategy at around 15 000 ₽, a standard at around 30 000 ₽ and an extended version at 50 000–70 000 ₽. What you are buying is sequencing — which clusters get generated in the pilot, which stay hand-written, which wait a quarter — and sequencing is where most of the risk lives.
Arithmetic you can do yourself, and what it refuses to tell you
The catalogue publishes metadata throughput as 3–6 hours per 500 pages after the prompt is set up. As an example of scaling that band on paper — arithmetic a reader can repeat, not a measurement of any project — 2000 pages sits somewhere between 12 and 24 hours at the same rate, and 5000 pages between 30 and 60. That is the sort of estimate a buyer can check before agreeing to anything, which is the whole reason the band is published at all.
The same exercise applied to the page build is more revealing for what it refuses to yield. Three to seven days covers a pilot of 500–1000 pages, but those days do not divide neatly into pages, because almost none of the effort is per-page effort. Doubling the row count does not double the schedule. Changing the number of data sources, or the strictness of the publish gate, does. Cost in this work tracks structure far more closely than it tracks volume.
That is also the honest reading of the three price bands side by side. $500 – $2 500 for programmatic pages, $150 – $700 for a metadata pack, $200 – $700 for a quarterly plan: the spread inside each band is the distance between one clean source and several messy ones, between a template and a template with rules, between a plan for one cluster and a plan for a full quarter. Volume moves you within a band; complexity moves you between them.
A buyer who internalises that stops negotiating the price per page and starts asking a more productive question: which parts of this table are already clean, and can the number of sources be reduced before the build rather than patched during it. That conversation moves an estimate more reliably than haggling ever does, because it changes the work being estimated instead of the margin sitting on top of it.
Every way this fails has a name, and each name has a fix
The city-swap tell: pages that differ only by a proper noun, detectable by taking any two of them, deleting the varying token and comparing what remains. If the remainder is identical, so are the pages, whatever the word count says. The fix is not synonym rotation or paraphrasing, both of which merely disguise the problem. The fix is adding a field to the table that genuinely differs, or merging the rows into one page that covers the whole set honestly.
The orphan farm: thousands of pages reachable only through a sitemap, linked from nothing and linking to nothing. A page nobody links to reads as a page nobody needs, and a sitemap is a suggestion rather than an endorsement. The fix is structural — hub pages per cluster, related-row links that follow real relationships already present in the data, and a hard limit on how far any generated page may sit from its nearest hub.
The stale table: the build works, the pages index, and then the source is never refreshed again. Eighteen months later the prices are wrong on nine thousand pages at once, which is a categorically different problem from one wrong page. The fix is an owner named at launch, a refresh cadence written down alongside the build, and an automatic unpublish for any row that passes its expiry date without being re-verified by somebody accountable.
The metadata mirage: unique titles and descriptions stretched across a set of pages whose bodies are not unique at all. It reads as compliance in a crawl report and as duplication to an actual reader. The fix is order of operations — repair the rows first, generate the metadata second — and the comfort is that at 3–6 hours per 500 pages the metadata pass is cheap enough to run a second time once the pages deserve the clicks.
Questions and answers
How much does programmatic SEO cost and how long does the first batch take?
The catalogue prices programmatic page generation at $500 – $2 500, with a duration of 3–7 days for a pilot of 500–1000 pages. The rouble line runs 30 000 – 100 000 ₽, split into 30 000–50 000 for that pilot and 70 000–100 000 for scaling to 2000–5000 pages. The difficulty is the catalogue's toughest rating: expensive and complex.
Will pages generated from a spreadsheet be treated as spam?
Scaled content abuse is judged on the value a page offers the person who lands on it, not on whether a machine assembled it. A generated page carrying real prices, stock and local detail is not the same object as a template with a city name swapped in. That gate is why the catalogue rates this service expensive and complex rather than beginner.
Can I fix weak pages by rewriting titles and descriptions instead of rebuilding them?
Only partly. Mass generation of titles and descriptions costs $150 – $700 per pack and runs 3–6 hours per 500 pages once the prompt is set up, and the catalogue describes the outcome precisely: positions unchanged, clicks higher. It improves the share of clicks a page already qualifies for. It cannot add substance to a page that has none.
Do I need a quarterly content plan if the dataset already exists?
The plan decides what should never be generated, which the dataset cannot decide for itself. It costs $200 – $700, takes 1–2 days, and delivers a three-month schedule of articles and landing pages by cluster with a brief attached to each topic, so an author can write the text without your involvement. That sequencing is where most of the risk sits.

