Programmatic SEO · Nationwide laundry pickup & delivery
How programmatic SEO rebuilt a national city-page engine
Poplin is a nationwide wash-and-fold laundry pickup and delivery service. We took its programmatic city page system from a stalled, largely unindexed state to more than 1,500 live indexed pages, cleaned up a crawl budget that was mostly being wasted, and built attribution so every city page could be tied to real installs and orders.
The situation at the start
A programmatic system Google had mostly stopped trusting.
Poplin's growth depends on a programmatic set of city pages, one for each city it serves. When we came in, that engine was stalling. Organic traffic from the city pages was declining, and the underlying reasons were technical rather than editorial.
On top of the indexing problems, most of roughly 70,000 crawl requests over 90 days were being spent on subdomains, including non-production and staging environments, instead of the pages that actually needed to rank. A compromised install on one subdomain was even serving spam content under the brand's domain. There was also no tracking in place, so nobody could measure city page traffic, CTA clicks, or the orders those pages were generating.
Google Search Console index coverage and crawl stats, engagement start versus July 2026.
The approach
Four workstreams,
one engine.
Each stream existed to make the others measurable. Nothing here was run in isolation.
Programmatic city pages, built to be unique
We designed and scaled the full pSEO template so every city page carried genuinely local content rather than spun copy.
- City-specific content, testimonials, neighborhoods and FAQ on every page
- LocalBusiness, FAQ and Breadcrumb structured data per page
- Live local weather and events, tied to why laundry help matters that day
- Nearby locations, parks and neighborhood links for real local context
- Hub-and-spoke structure: service to states to cities, all internally linked
Indexing and crawl budget cleanup
We diagnosed five root causes of the indexing decline and fixed them at the source.
- Blocked public non-production and staging subdomains eating crawl budget
- Recovered 331 submitted-but-not-indexed city pages
- Deployed a 149-rule redirect map generated from Search Console 404 data
- Cleaned duplicate content with canonicals and robots directives
- Flagged and contained a compromised subdomain serving spam
Attribution from click to order
We built tracking so the output of SEO could be measured for the first time.
- GTM and GA4 for city page visits and CTA clicks
- A smartlink on every city page CTA, with the city slug passed through
- A Looker Studio dashboard joining visits, clicks, installs and orders by city
- Recovered attribution after a CTA change broke it, without losing data
A safer pipeline and stronger signals
We supported the move to a static pipeline and strengthened off-page authority.
- Staging versus live parity report that caught three high-severity launch issues
- Rebuilt schema on the new pipeline and corrected the page type
- A link building tracker with safe anchor rules and seven guest articles
- Optimization data delivered for five verified local provider profiles
The results
From a stalled engine to a measurable one.
The city page system is now live at scale. More than 1,500 city pages are published and indexed, and because the pipeline is fully dynamic, new pages get indexed as they ship. Across those pages, Search Console and Looker Studio show 43,004 distinct query to landing page combinations, with many city pages ranking in the top positions for high-intent local searches.
Before this engagement nobody could see what the city pages were doing. With GA4, smartlink attribution and Looker Studio in place, the funnel is now measured end to end. The CTA click trend tells the clearest story: city page clicks grew from close to zero when tracking began in late April to a steady 80 to 100 per day by July, which shows the recovered pages are not just indexed but actively sending intent-driven users toward the app.
City page CTA clicks per day
GA4 · late April to July 2026Measured funnel, click to order
Looker Studio (GA4) and AppsFlyer pSEO media source, May to July 2026.All figures verified in Google Search Console, Looker Studio and AppsFlyer in July 2026. Where a before figure was not measurable because no tracking existed previously, the work is described by its output rather than a comparison.
Key takeaways
What made
the difference.
- 1Crawl budget is a growth lever
Moving the share of crawl requests reaching the main site from 31% to 56% let Google spend its attention on pages that actually convert, instead of staging and spam.
- 2Programmatic does not have to mean thin
Every city page carried unique local content, live weather and events, and real neighborhood context, which is why the pages earned indexing and rankings rather than being ignored.
- 3Measurement changes the conversation
Once every CTA carried a city-level smartlink, SEO output could be tied to installs and orders, turning organic work from a cost into a tracked acquisition channel.
- 4Structure compounds
The hub-and-spoke design gives every new city page internal links and a path to authority the moment it ships.
Related work
More like this.
Other engagements that shared a discipline with Poplin.
PakistanMonthly organic traffic30.9Kvisits/mo≈5K, January30.9K, DecemberEcommerce SEOShaheen ChemistA pharmacy storefront taken from a standing start to 30.9K monthly organic visits and 923% sales growth.143Ksearch clicks+923%online sales3.8Kranking keywordsRead the case study →HopkicksPakistan · US · UKMonthly organic traffic31.4Kvisits/mo16.7K, Nov 202331.4K, Jul 2025Ecommerce SEOHopkicksOrganic traffic nearly doubled to 31.4K a month, with 70% of it non-branded.31.4Kmonthly organic+87%traffic growth22.1Knon-brandedRead the case study →Your turn to be the case study
Free audit. Straight answers. Twenty four hours.
Get Your Free Audit →