The Programmatic SEO Trap: Why We Stopped Scaling Pickuma With Templates
We mapped out a programmatic SEO build for Pickuma — thousands of templated tool-comparison pages — and then killed it. Here's the math, the post-2024 ranking reality, and the heuristic we use now to tell legitimate pSEO from slop.
Sometime late last year I had a spreadsheet open that, on paper, was the smartest growth plan Pickuma had ever produced. One row per developer tool we could plausibly cover — a few hundred — crossed against a list of comparison intents (X vs Y, X alternatives, X pricing, best X for teams). Multiply it out and you get a few thousand URLs, each targeting a real query with measurable search volume. Wire a template to a data file, run the build, and you have a content site the size of a small documentation portal in an afternoon. That is programmatic SEO, and for a couple of weeks I was completely sold on it.
We did not ship it. This is the post about why, what the math actually looked like once I stopped flattering myself, and the single heuristic we now use to decide whether a templated page is allowed to exist. I’m writing it partly as a warning and partly because the pSEO pitch is seductive enough that I want a record of why we said no — including for the version of me that will inevitably get tempted again.
What programmatic SEO actually is
Strip away the jargon and pSEO is one idea: take a structured data set, pour it into a page template, and generate one indexable URL per row. The classic wins are real. Zapier built enormous organic reach on connect [App A] to [App B] pages — tens of thousands of them — because each combination is a genuinely distinct user intent with genuinely distinct content. Wise does it with currency-conversion pages. Tripadvisor, Yelp, and every real-estate portal you’ve used are pSEO machines underneath; the “page about this specific neighborhood” only exists because a script stamped it out from a database.
The reason it’s so tempting for a tool-review site specifically is that our content looks tabular. A review has a price, a license, a language, a platform list, a “best for” line. It is trivially easy to convince yourself that a review is just a database row wearing prose, and that prose is the expensive, slow, human bottleneck standing between you and four thousand ranking pages. That belief is the trap. The whole essay below is me explaining why the prose is not the bottleneck — it’s the product.
I want to be fair to the technique first, because the failure mode I’m describing is specific. pSEO is not inherently spam. The dividing line isn’t whether a machine generated the page; it’s whether the page carries information that is true, specific to that page, and hard to get elsewhere. Hold that thought — it becomes the heuristic at the end.
The math that looked great on the spreadsheet
Here’s the version of the plan I almost shipped. We’d take our internal tool database, add a few structured fields per tool (pricing tier, open-source yes/no, primary language, hosting model), and generate pages for three intent families:
[tool] vs [tool]— every reasonable head-to-head pairing.[tool] alternatives— one page per tool, listing the others in its category.best [category] tools for [audience]— a grid of category-by-audience pages.
Even with conservative pruning that’s roughly 4,000 URLs. If even a tenth of them caught a long-tail position-three-to-eight ranking, and even a fraction of those converted on an affiliate click, the model penciled out to more incremental revenue than our entire hand-written catalog at the time. The marginal cost per page after the template was built rounded to zero. On the spreadsheet, declining to do this looked like leaving money on the floor.
The spreadsheet was lying, and it was lying in the way spreadsheets always do: by modeling the upside as if the downside doesn’t exist and by assuming the 2019 version of Google still runs the index.
Why the trap is worse in the post-2024 era
When pSEO playbooks were written, the prevailing model of Google was page-by-page: each URL competed on its own merits, and more URLs meant more shots on goal. Two things broke that model, and both landed hard between 2023 and 2025.
The first is the helpful-content system getting folded into the core ranking algorithm. The practical effect is that “is this page genuinely useful and experience-backed” became a site-wide signal, not a per-page one. If a meaningful share of your indexed pages read as low-effort, the assessment bleeds across the domain. You can have ten excellent hand-written reviews and watch them soften in the rankings because three thousand templated X vs Y stubs taught Google that this domain mass-produces filler. I have watched smaller sites do exactly this to themselves — publish a pSEO layer, get a brief traffic bump, then lose the bump and a chunk of their original rankings a few months later.
The second is the obvious one: generative AI made thin content infinitely cheap, so the entire web flooded with it, and Google’s defenses tightened accordingly. The March 2024 update explicitly targeted “scaled content abuse” — content produced primarily to manipulate rankings regardless of how it’s produced. Note the wording: it does not care whether a human, a script, or a model wrote it. A templated [tool] alternatives page with a swapped-in name is scaled content abuse by that definition even if no LLM ever touched it. The technique I was about to use predates ChatGPT, but it now lives squarely inside the category the filters are built to catch.
There’s a conversion problem layered on top of the ranking problem, and it’s the one that actually settled the argument internally. Even when a thin comparison page does sneak a ranking, it doesn’t convert. A reader who lands on Tool A vs Tool B and finds a feature table they could have generated themselves — no opinion, no “I ran both for two weeks,” no “here’s the one that bit me on the M2 Air” — bounces. Affiliate revenue isn’t a function of impressions; it’s a function of trust, and a templated page has none to spend.
What we do instead, and why it’s slower on purpose
The Pickuma approach is the unglamorous opposite of pSEO: we pick a tool, actually install and use it, and write a review with a point of view. That’s documented in detail in our testing methodology and how we pick what to review, and the SEO results of doing it this way are in our traffic write-up. The short version: a hand-written review takes a day or more, ranks slowly, and then keeps ranking, because the thing that makes it rank — demonstrated first-hand experience — is exactly the thing a competitor can’t stamp out from a template.
The asymmetry is the whole point. A pSEO page is cheap to make and cheap to replicate, which means cheap to outrank. A review built on two weeks of real use is expensive to make and expensive to replicate, which is the only durable moat a content site has. We deliberately traded volume for defensibility. It feels worse on a spreadsheet and better on an annual graph.
Where templating still earns its place for us is in components within a hand-written page, not in standalone pages. A comparison table is a great use of structured data — when it sits inside a review where a human explains what the numbers mean and which way the recommendation falls. The structure serves the judgment instead of replacing it.
When programmatic SEO is actually legitimate
I don’t want to leave you with “pSEO bad,” because that’s lazy and wrong. The technique is fine — great, even — when the data set is the value. Here’s how the real winners compare to the build we scrapped.
| Tool | Approach | What's on the page | Per-page unique data? | Verdict |
|---|---|---|---|---|
| Zapier integration pages Best for Legitimate pSEO | How to connect two specific apps | Yes — each app pair has distinct fields, triggers, and steps | ||
| Currency / unit conversion pages Best for Legitimate pSEO | A live, specific computed value | Yes — the number is the content and it's true per page | ||
| Local listings (real estate, reviews) Best for Legitimate pSEO | Facts about one specific place or item | Yes — sourced per record from a real database | ||
| Our scrapped 'X vs Y' tool pages Best for Slop — don't ship | A feature grid with swapped names, no judgment | No — the prose is interchangeable boilerplate |
The pattern is consistent. Legitimate pSEO pages fail the swap test hard: you cannot replace the entry without making the page factually wrong, because the page’s value is the specific, verifiable per-row data. The slop pages pass the swap test, which is the tell — interchangeability means no unique information.
Three concrete conditions have to hold before I’d green-light a templated page now. One, each page must contain data that is true and specific to that page and that a reader genuinely wants — a real price, a real computed result, a real per-item fact, not a restated template. Two, that data has to be expensive enough to gather that a templated page is doing the reader a favor by assembling it, not just farming a keyword. Three, the pages have to be maintainable, because stale programmatic data (a price that changed eight months ago across four thousand pages) is its own trust disaster. If a build can’t meet all three, it’s the spreadsheet lying to you again.
Who should still consider programmatic SEO
Build it if you sit on a genuinely proprietary or hard-to-assemble structured data set and each page would deliver a distinct, true, useful fact — integration directories, pricing aggregators, location data, conversion utilities, API endpoint references. In those cases pSEO isn’t a growth hack, it’s the correct way to expose data that’s painful to navigate by hand, and the swap test will fail loudly in your favor.
Don’t build it if your value is judgment, taste, or first-hand experience — which is to say, if you’re a review site, an opinion blog, a tutorial site, or anything where the reader came for what you think, not what’s in your database. You can’t template an opinion. Trying to scale one with templates produces exactly the interchangeable filler the post-2024 systems are tuned to suppress, and the damage isn’t contained to the new pages — it follows the whole domain. When in doubt, write one excellent page by hand and watch what it does over six months. That’s the benchmark a thousand templated pages have to beat, and in our experience they don’t come close.
FAQ
Is programmatic SEO against Google's guidelines?+
Why did thin templated pages get riskier after 2024?+
What's a fast way to tell legitimate pSEO from slop?+
Can you use AI to write the reviews instead of templating them?+
Does hand-written content really beat programmatic for a review site?+
Related reading
2026-06-04
Auditing Affiliate Link Rot at Scale: How We Keep 200+ Outbound Links Honest
Affiliate links rot quietly — programs close, slugs change, tools die. Here's the redirect-table architecture and automated HTTP sweep we use to keep 200+ outbound links on Pickuma pointing somewhere real.
2026-06-04
The Economics of a 330-Article Blog: Hosting, Tooling, and Cost per Article
A transparent teardown of what it actually costs to run a 330+ article developer blog — near-zero edge hosting, low-tier tooling, LLM drafting spend, and the real marginal cost per article.
2026-06-04
GEO Is the New SEO: Optimizing Developer Content for AI Answer Engines in 2026
Ranking in blue links matters less when ChatGPT, Perplexity, and Google AI Overviews answer the question before a click happens. Here's what actually gets developer content cited by answer engines — and what's just SEO theater rebranded.
2026-06-04
What Launching pickuma-play Games Taught Us About Traffic and Audience
We spun up a browser-games hub next to this editorial blog. The audiences barely overlapped — and that gap taught us more about distribution than any single channel could on its own.
2026-05-28
AI-Assisted Writing Disclosure: Where We Draw the Line
Most 'AI-assisted' badges are vague. Here's the binary threshold we use for flagging articles, why FTC and E-E-A-T guidance pushed us there, and the edge cases that still leak.
Get the best tools, weekly
One email every Friday. No spam, unsubscribe anytime.