Sin impuesto Con impuesto

Programmatic SEO in an online store: landing pages in batches without junk content

Programmatic SEO consists of generating many pages from data and a template. Done well, it ranks long-tail searches with purchase intent; done badly, it fills the store with near-identical pages that compete with each other.

Jesús Meilán
Updated: 23/10/2026 30
Programmatic SEO in an online store: landing pages in batches without junk content
Share:

Your “dresses” category competes with hundreds of stores for a generic search. But many people do not search for “dresses”: they search for “wedding guest dresses in Madrid”, “linen dresses for summer” or “plus-size party dresses”. Each of those searches has less volume, but there are many of them, and with a much clearer purchase intent.

Writing a page by hand for each combination is not feasible. Programmatic SEO solves that: a list of combinations, a well-thought-out template and real data from your catalogue. The risk is obvious: if the pages are the same with one word changed, Google treats them for what they are.

What programmatic SEO is (and is not)

It is generating pages at scale from a pattern: product + city, product + use, product A versus product B. Each page answers a specific search with content that really changes according to the combination.

It is not copying a page a hundred times and changing the city name. Google has been penalising so-called doorway pages for years: pages created only to rank variants of a search that end up leading to the same place without adding anything.

The three patterns that work in a store

Category + location

It makes sense if the location changes something real: delivery times, in-store pickup, installation, local regulations or a different catalogue. If you ship the same way across Spain and nothing changes, one page per city adds little.

Category + use case

“Backpacks for 17-inch laptops”, “exterior paint for coastal areas”, “running shoes for asphalt”. It is the most useful pattern in a store, because the page can filter products that genuinely fit that use.

Comparisons

“Model A or model B”, “linen or cotton for summer”. They answer those who are already deciding. They require real data for each product; an invented comparison shows.

How to avoid junk content

  1. Live products on every page. A store landing page with no products, or with products that do not fit, does not answer the search. Real prices and stock, not loose text.
  2. Variables that change the content, not just the title. If the only difference between two pages is one word in the H1, they are the same page.
  3. Specific FAQs. Well chosen, they add different content per combination and answer real questions.
  4. Fewer, better pages. Two hundred good pages are worth more than two thousand mediocre ones. Start with the combinations that have real searches in your keyword tools.
  5. Review before publishing. Read a sample of generated pages as if you were the customer. If it is no use to you, it is no use to Google either.

Cannibalisation: the problem nobody looks at

Cannibalisation happens when two pages on your website compete for the same search. Google does not know which one to show, alternates between them and neither ranks well. In programmatic SEO it is almost inevitable if it is not controlled:

  • A “running shoes” landing page versus your “Running shoes” category.
  • Two landing pages that differ only by a plural or a typo in the source list.
  • A landing page versus a CMS page or blog post that already covers the topic.

The rule is simple: before creating a page, check that there is not already another one on your website that answers the same thing. And do not confuse that with two legitimate combinations: “dresses in Madrid” and “dresses in Seville” do not overlap.

Warning sign: if in Search Console you see the same search sending traffic to two different URLs of your store that alternate, you have cannibalisation. Merge the pages or clearly differentiate their intent.

The technical side that cannot fail

  • Clean, stable URLs that do not change if you regenerate.
  • Their own meta title and meta description per page and per language.
  • Canonical pointing to itself, unless you deliberately decide otherwise.
  • Sitemap including the landing pages, so that Google discovers them.
  • Internal links to them from categories or related pages; a page nobody links to is almost invisible.
  • Structured data consistent with the real content (FAQs only if they are visible on the page).
  • Batch generation: creating hundreds of pages at once on shared hosting ends in a timeout.

Checklist before launching

  1. A clean list of combinations: no duplicates, no empty rows, with the correct encoding.
  2. A check for clashes with categories, CMS pages, products and previous landing pages.
  3. A template with at least three blocks that change depending on the combination.
  4. Real products on every page.
  5. A phased launch: a first batch, measure in Search Console for a few weeks and expand if it works.

How to handle it in PrestaShop

RKR Programatic SEO generates landing pages from a CSV with three page types —category and city, use case and comparison—, each with per-language templates for H1, meta title, meta description, URL, content and FAQs, and with your live products and prices inside your theme. Before creating anything it analyses the CSV: it detects the separator and encoding (including files saved from Excel in Windows-1252), understands Semrush and Ahrefs headers and flags duplicate rows. Its anti-cannibalisation engine compares each new page with your existing categories, CMS pages, products and landing pages, with three policies (block, warn and leave the page as a draft, or disable) and a configurable similarity threshold between 50 and 100%. Generation runs in batches of 1 to 200 pages with a progress bar, so it does not time out on modest hosting. It works on PrestaShop 1.7.8 to 9.2.

Loading...
Cookie consent
Back to top