How I Built a Programmatic SEO Pharmacy Comparison Site (And What I Got Wrong)
Most programmatic SEO case studies focus on growth metrics.
This isn’t one of them.
This is a breakdown of how I built a programmatic SEO site in a regulated niche (online pharmacy comparisons), what worked, what didn’t, and what I’d do differently.
If you’re new to the concept, read this first: Programmatic SEO: How to Build Scalable Pages That Actually Rank.
This article assumes you already understand the basics and want to see how it plays out in practice.
The Idea: Mapping Medication + Provider Search Intent
The site is built around a simple pattern:
- medication (e.g. Ozempic, insulin, GLP-1s)
- modifier (comparison, cost, availability)
- entities (pharmacies/providers)
These queries exist in high volume and high intent:
- “Ozempic online pharmacy”
- “insulin price comparison”
- “GLP-1 availability by country”
They also sit in a regulated space, which makes quality, accuracy, and trust non-negotiable.
Site Architecture: CSV-Driven, Not CMS-Driven
The entire system is powered by a structured CSV.
Each row represents a page, including:
- primary entity (medication)
- secondary modifier (comparison, cost, geo)
- linked entities (providers/pharmacies)
This CSV feeds directly into WordPress using an import system.
The CMS doesn’t define the site, the data does.
Why This Matters
If your structure is wrong, scaling just multiplies the problem.
Programmatic SEO is fundamentally a data modeling exercise, not a content exercise.
Why I Used WordPress Pages (Not Posts)
I used WordPress Pages instead of Posts for one reason: structure.
- clear URL hierarchy
- predictable parent-child relationships
- direct mapping from CSV → page
Posts imply chronology. This project is entirely structural and evergreen.
Templates: Where the First Version Failed
The initial version used simple templates:
- intro paragraph
- repeated sections
- minimal variation
Technically correct. Practically weak.
The pages were unique, but felt identical.
The Core Problem
Swapping entities (e.g. medication names) produced nearly interchangeable pages.
This is the classic failure mode of template-based content.
Fixing the Template Layer
The second iteration focused on intent differentiation.
Instead of one template, I introduced multiple structures based on search intent:
- comparison pages
- cost pages
- availability pages
- overview pages
Each template included:
- conditional sections (only shown when relevant)
- variation in phrasing and layout
- context-specific content blocks
Example:
A page targeting Ozempic comparisons behaves differently from a page targeting price or availability, even though the entity is the same.
This is where most programmatic SEO sites break: they optimize for scale, not intent.
The Biggest Early Mistake: Placeholder Providers
In the first version, I used placeholder providers to populate comparison tables.
This was a mistake.
What Went Wrong
- no trust signals
- no verifiable entities
- weak E-E-A-T
In a health-related niche, this is fatal.
The Fix
- replace placeholders with real providers
- standardize naming and attributes
- ensure consistency across all pages
This change alone made the entire system more credible.
Internal Linking: The System That Actually Scales
Internal linking is not an afterthought – it’s part of the architecture.
Each page dynamically links to:
- related medications
- alternative comparisons
- adjacent intent pages
This creates:
- strong topical clusters
- better crawlability
- natural user journeys
Instead of isolated pages, the site behaves like a connected system.
Example Pages
A core page like compare online pharmacies lives within a structured system on MediSearcher.com.
From there, users can navigate to more specific pages, such as medication-level comparisons.
Another example is an Ozempic pharmacy comparison page, which extends the same structure into deeper intent.
What Didn’t Work
1. Over-Templating
Too much uniformity made pages feel generic.
Fix: introduce variation and intent-based templates.
2. Weak Entity Definitions
Inconsistent naming and missing attributes reduced clarity.
Fix: treat entities like a database, not placeholders.
3. Underestimating E-E-A-T
In a regulated niche, credibility is critical.
Fix: use real data, avoid vague claims, align content with verifiable information.
What I’d Do Differently
- design entity relationships before building templates
- define page types more strictly from the start
- build internal linking logic earlier
- avoid placeholder data entirely
What Actually Scales in Programmatic SEO
Not pages – systems.
The scalable components are:
- structured data (CSV or database)
- entity relationships
- internal linking logic
The non-scalable components:
- weak templates
- generic content
- unclear intent
Lessons for Building Programmatic SEO in Regulated Niches
- accuracy beats scale
- real entities matter more than volume
- templates must reflect intent, not just keywords
- internal linking is part of the product
- trust is hard to build and easy to lose
Final Thoughts
Programmatic SEO works in regulated niches – but the margin for error is smaller.
You’re not just generating pages. You’re building a system that needs to be:
- accurate
- structured
- credible
If those aren’t built into the foundation, scaling will amplify the problem – not solve it.
