A pharmacy with 20,000+ products now getting sales from ChatGPT and Perplexity
Apteka 7-24 is a 24-hour online pharmacy in Sofia, Bulgaria, selling 20,000+ OTC products including pain relief, allergy, and diabetes ranges. Operating around the clock, the business had a strong offline reputation but a website that was actively holding back online sales.
Products migrated
New discovery channels
Average organic traffic growth in year one
Average organic traffic growth in year one
Web design
SEO Optimization
The client
A 24/7 pharmacy serving the national market
Apteka 7-24 is a round-the-clock online pharmacy based in Sofia, Bulgaria. They sell over 20,000 OTC products across categories including pain relief, allergy, diabetes management, respiratory care, and personal health.
Their proposition is genuinely differentiated: a pharmacy that never closes, for customers who need medication outside normal retail hours. The problem was the website — it couldn’t represent that proposition, let alone sell through it.
If you run an e-commerce or healthcare business with a large catalogue, ageing platform, and underperforming organic presence — this case study is written for you.
Industry
Online pharmacy — OTC medications & health products
Business Model
D2C e-commerce, 24/7 operations, delivery across Bulgaria
Product Catalogue Size
20,000+ active SKUs across 50+ product categories
Location
Sofia, Bulgaria — serving the national market
Works with WOW Portals since
April 2025



The problem
Two problems — and what they were really costing
Most agencies would describe what you see on the surface. We describe what it costs the business — because that’s what needs solving.
What they said
The website wasn't generating online sales
What it was costing them
What they said
The platform was too rigid to update or extend
The previous site was built on OpenCart — a platform that had become a limitation. It was outdated, heavily customized, and required developer intervention for any new functionality, category changes, or design updates.
What it was costing them
A platform you cannot update quickly is a platform that cannot respond to market opportunities. At 20,000 products, the inability to run time-sensitive promotions, adjust pricing, or add new categories was a direct ceiling on commercial performance. The technical limitation was not a minor inconvenience — it was getting more expensive every month.
Our diagnosis
What we found before we built anything
Most agencies take a brief and start building. We don’t. Before recommending a solution, we needed to understand the actual state of the catalogue, the platform constraints, and the search landscape. What we found shaped every decision that followed when redesigning the website.

finding 01
The product catalogue was structurally broken
Auditing the existing data revealed inconsistent naming conventions, missing category assignments, and no taxonomy mapped to how Bulgarian pharmacy customers actually search. A straight migration would have moved the problem, not fixed it.
finding 02
Zero SEO foundation in place
No meta titles, no schema markup, no canonical structure, no sitemap. With 20,000+ pages, this was an architecture problem, not a content problem. It required solving at scale from day one — not page by page after launch.
finding 03
Navigation built for admins, not customers
The category structure reflected how the business organised its stock internally — not how a customer would browse. The architecture needed rebuilding around actual search behaviour, not internal stock logic.
finding 04
No pricing intelligence, and no mechanism to build it
The business had no visibility into how its prices compared to competitors across the Bulgarian online pharmacy market. Products were being priced without reference to the market. This meant that even if the new site attracted visitors through SEO, price-sensitive customers would buy elsewhere. Discoverability and competitiveness had to be solved together.
finding 05
The platform could not be patched — it needed replacing
The site ran on an outdated OpenCart setup that had become fragile and difficult to maintain. Updates risked breaking functionality, extensions were incompatible, and even small changes required significant development effort. Continuing to patch it was no longer viable — migration to a scalable, maintainable platform was the only long-term solution.

Our Solution
Five workstreams — what, why, and what each was designed to achieve
solution 01
what we did
solution 02
what we did
Cleaned, recategorised, and migrated the entire catalogue — including normalising naming conventions and mapping products to the new taxonomy before a single item moved.
A catalogue that’s fully searchable, correctly categorised, and built around how customers actually look for products — not how stock was historically organised.
solution 03
what we did
Rebuilt the full site structure: logical category hierarchy, faceted filtering by condition and brand, improved internal search relevance, and breadcrumb navigation throughout.
The diagnosis showed the existing structure was built for admins, not customers (F.03). The new architecture was mapped to the top search queries for Bulgarian pharmacy terms — discoverability designed in from day one.
A customer who arrives at 2am looking for a specific medication can find it in two clicks — not by scrolling through an admin-organised list.
solution 04
what we did
solution 05
ERP integration and dynamic pricing algorithm
what we did
Built a two-layer pricing system. First, a custom ERP integration that connects the WordPress site directly to Apteka 7-24’s pharmacy management software — synchronising stock levels and base pricing . Second, a dynamic pricing algorithm built on top of that integration that monitors competitor pharmacy prices across the market and adjusts prices on the site.
The two components solve different problems that are commercially inseparable. The ERP integration eliminates the manual overhead and ensures the website always reflects accurate data. The pricing algorithm ensures that data is competitive. Without the integration, the algorithm has nothing reliable to work with. Without the algorithm, the integration solves an operational problem but leaves the commercial pricing gap open. Both were required.
A website that is both operationally synchronised with the pharmacy’s internal systems and commercially responsive to the market — automatically, continuously. The SEO work drives discovery; the ERP integration ensures accuracy; the pricing algorithm ensures conversion. The three work together as a system rather than as isolated improvements.
The results
Sales from channels that did not exist before

Layer 01
Commercial outcomes
The ERP integration keeps the website synchronised with the pharmacy’s internal software — stock levels, product data, and base pricing flow through automatically without manual management across two systems.
The dynamic pricing algorithm then acts on top of that foundation, monitoring competitor prices across the Bulgarian online pharmacy market and adjusting the site’s pricing in real time. The combination of improved discoverability and automated price competitiveness is the mechanism behind the revenue conversion rate.
Layer 02
Channel and visibility outcomes
The pharmacy now ranks for product and category terms across Google and Bing. More significantly, it surfaces in AI-generated answers on ChatGPT and Perplexity — a growing discovery channel that most pharmacy competitors have not yet entered. This was not accidental: it is the direct outcome of schema markup deployed across all 20,000+ pages at launch.
Layer 03
Platform and operational outcomes
The team now easily manages product updates, category additions, promotional banners, and pricing responses. The bottleneck that was constraining the business — every change requiring a developer and days of back-and-forth — has been removed. The platform the business runs on today can keep pace with the business it is becoming.
before vs after
The complete picture
Swipe to compare →
| Area | Before | After |
|---|---|---|
| Platform | Outdated OpenCart — fragile, heavily customised, slow to update | ✓Custom WordPress — fully flexible, team-managed |
| Catalogue | Inconsistent data, missing categories, hard to update | ✓20,000+ products cleaned, structured & searchable |
| Navigation | Admin-organised structure, low customer findability | ✓Rebuilt hierarchy, faceted filtering, improved search |
| Pricing | No competitive visibility — pricing set without market data | ✓Custom algorithm monitors competitor prices in real time |
| SEO foundation | No meta titles, no schema, no canonical structure | ✓Full on-page SEO + schema across all 20,000+ pages |
| Search visibility | Minimal organic presence, effectively single channel | ✓Ranking on Google, Bing, ChatGPT & Perplexity |
| Sales channels | Low volume, no multi-channel discovery | ✓4+ channels actively generating sales |
| Ongoing work | No continuous improvement in place | ✓Subscription — SEO, optimisation & growth, monthly |
THREE DECISIONS THAT SHAPED THIS PROJECT
What we chose to do differently — and why
These are not generic principles. They are the specific decisions made on this project that another agency would not necessarily have made — and that directly determined the commercial outcome.
Decision 1
Taxonomy before migration — not after
decision 2
Schema markup across 20,000+ pages at launch — not piecemeal
The industry default is to deploy structured data gradually — starting with the highest-priority pages and expanding over time. We rejected this approach. With a catalogue this size, partial schema coverage produces partial results. We implemented Product, BreadcrumbList, Organisation, and FAQPage schema across every page simultaneously on launch day. This is slower and harder to QA, but it is the mechanism that enabled Apteka 7-24 to appear in AI search results (ChatGPT, Perplexity) within weeks of launch. AI platforms surface sites with complete, consistent structured data. Partial implementation would have produced partial visibility.
decision 3
Pricing intelligence alongside SEO — not separately or never
|
This decision sits outside the scope of a typical web agency engagement. The audit identified that price competitiveness would determine whether the SEO visibility translated into orders. A customer who finds a product on Apteka 7-24 via a ChatGPT recommendation and then finds it significantly cheaper on a competitor site buys from the competitor — and the SEO investment generates revenue for a rival. Rather than leaving this gap for the client to address separately, we built a custom algorithm that monitors competitor prices across the Bulgarian online pharmacy market and flags products where Apteka 7-24 is priced above the market rate. This closed the loop between discoverability and conversion — making the entire project commercially coherent rather than a collection of improvements that worked in isolation. |






