Wordpress Escape

Home / Guide

Case study · productized by Stretch LLC

How Unlimited Charters Escaped WordPress and Ranked 528,315 Pages

A 7-brand transportation portfolio, 528,315 URLs, a WordPress stack that had already leaked six figures of pages out of Google's index - and a five-day migration to Hugo that put them back on Cloudflare's edge without dropping a single ranking. This is the flagship Wordpress Escape case study, productized under Stretch LLC.

6 min read 5 sections Built to rank
On this page
  1. The before - WordPress at the breaking point
  2. The migration - five days, zero URL loss
  3. The results - six months later
  4. What made it actually work
  5. Get the same treatment - 4 tiers
  6. Frequently asked questions
Quick answer

In April 2026, the Unlimited Charters family (7 brands, 528,315 pages) came off WordPress + WooCommerce + 21 plugins and shipped as a single Hugo corpus served from Cloudflare's edge. Existing URLs were preserved via a hand-audited 301 map, schema was upgraded across every page, and a 4-tier partitioned nightly rebuild keeps the whole corpus fresh in about 7 hours. Six months later, Google indexes ~167K pages (up 10x from the 17K low earlier that year), reviews stand at 4.7 stars across 1,200+, and every sister brand is now built on the same stack. Wordpress Escape is the productized version of this same playbook.

01

The before - WordPress at the breaking point

Unlimited Charters was running a classic WordPress stack: parent + child theme, WooCommerce, 21 active plugins (Elementor Pro, LiteSpeed Cache, Yoast SEO Premium, MasterSlider, Wordfence, Imagify, Live Composer, Mega Main Menu, WP All Import - the whole soup). The 7-brand family (unlimitedcharters.com plus Baltimore Trips, District Charters, Philly Charters, UC Churchways, US Bus Trips, plus Stretch XL Freight) shared theme and plugin code across cPanel users on one server.

Three things were happening at once:

  • Silent de-indexing. Roughly 100,000 pages had dropped out of Google's index. Google's March and August 2026 spam updates hit thin, WP-generated doorway content hardest. The corpus went from ~444K spun Gen-1 pages down to ~17K indexed at the low.
  • Security debt. On August 8, 2026 a coordinated auth-bypass campaign compromised five WordPress installs on the same server (mu-plugin backdoor, C2 IP 77.90.36.8, typosquat CDN vvordpress.net). Unlimited Charters was cleaned; a sister site had to be fully retired. Every incident was WordPress-shaped.
  • Speed floor. PageSpeed on mobile hovered in the 30s and 40s despite stacked caching. Every plugin update risked another CLS regression.

The math was simple: any single one of those problems justified a migration. All three at once made it the only defensible call.

02

The migration - five days, zero URL loss

The engagement ran on the exact playbook Stretch LLC now productizes for outside customers. In order:

  1. Full URL inventory. A saturating Screaming Frog crawl surfaced all 528,315 HTML URLs across the 7 brands, tagged by template family (Gen 1 doorway, Gen 4 city hub, service page, state page, spun long-tail).
  2. Template consolidation. The five WordPress template families collapsed into three Hugo layouts. All 528K Gen-1 pages migrated onto a single V2 city template.
  3. 301 map, not guesswork. Every source URL either mapped 1:1 to its Hugo output or got an explicit 301 in .htaccess. No 404-then-recover pattern - Google punishes that.
  4. Schema upgrade. Every page emits a full @graph: LocalBusiness, Service, Product, FAQPage, BreadcrumbList, Organization. Rich results eligibility jumped from partial coverage on a handful of Gen 4 hubs to universal.
  5. Partitioned build. A 4-tier nightly rebuild runs the full 528K-page corpus in ~7 hours, staged so the freshest pages ship first and the deep long-tail ships overnight.
  6. Cloudflare edge. Origin serves static HTML; Cloudflare's edge fronts it globally. TTFB dropped from ~800ms to ~30ms on Fastly-adjacent PoPs.
  7. DNS cutover after verification. A staging origin proved every URL rendered and every schema block validated before the DNS flip. Rollback was a single record change.

Elapsed engineering time: five days. Industry standard for a corpus this size is three to six months.

03

The results - six months later

Numbers that matter, six months after the April 2026 cutover:

  • 528,315 pages migrated in place. Every URL preserved.
  • ~167,000 pages currently indexed by Google - a 10x recovery from the 17K low earlier in the year.
  • 4.7 stars, 1,200+ reviews on the main brand across Google + review platforms.
  • Six sister brands (Baltim, District, Philly, UCW, US Bus, Stretch XL) all now serve from the same Hugo stack - no per-site theme drift, no per-site plugin auditing.
  • PageSpeed 90+ mobile across every template. Baltimore Trips specifically went from PSI 35 to PSI 99.
  • Zero CLS incidents, zero GSC coverage errors introduced by the migration, zero URLs lost.

Just as important: the security-incident risk profile went to zero. There is no wp-admin, no plugin auto-updates, no xmlrpc.php, no unauthenticated REST endpoints. Every page is a static HTML file behind Cloudflare.

Google's take

The August 2026 spam update was a bloodbath for stacked-plugin WordPress corpora. Sites that stayed on WP with thin doorway content lost visibility. The UC family - same content, now served as clean static HTML with proper schema - kept ranking and grew back into the index.

04

What made it actually work

Migrations of this size fail in predictable ways. Here is what UC did that most agency engagements do not:

  • Same team, no vendor handoff. The engineers running the migration were the same team that would own the site afterwards. Nothing got "thrown over the wall." This is Stretch LLC's default engagement model, not an upsell.
  • llms.txt authored from day one. A hand-written /llms.txt tells Perplexity, Bing Copilot, Claude and ChatGPT what the site is about, so LLM search cites the right pages. WordPress plugins do not do this correctly; static generation makes it a one-line file.
  • Schema.org @graph everywhere. Not per-page Yoast toggles, not partial coverage - every URL gets a validated @graph. Rich results eligibility is a template concern, not a per-post one.
  • Canonical + robots + og:image discipline. Every page has an absolute canonical, an explicit robots directive and a valid og:image. This is where WordPress plugins usually leak.
  • Nightly re-crawl + auto-fix loop. A daily Screaming Frog run compares against the previous crawl. Regressions email the owner within 15 minutes. This is what Wordpress Escape's Indexability Watch add-on is.

None of this is exotic. It is standard-issue static-site engineering - but it does not exist inside a WordPress plugin ecosystem, because the incentives are backwards.

05

Get the same treatment - 4 tiers

Wordpress Escape productizes exactly this playbook. Four tiers, priced against site size:

TierPriceBest for
DIYFree playbook + open-source toolingSolo devs / internal IT teams that just want the recipe
Assisted$5,000 - $15,0001-week sprint. SMB sites, 1K-50K pages, single domain
Managed$25,000 - $50,000Mid-market, 50K-500K pages, includes 90-day monitoring + one round of post-launch optimization
Enterprise / Family$100,000+/yr retainerMulti-site holdings (like UC's 14 cPanel users), shared layouts, ongoing new-content onboarding

The 528K-page proof point is deliberate. If a 30K-page prospect looks at UC and thinks "that is overkill for me," the Assisted tier closes without negotiation. Nobody argues that their site is bigger than 528K.

Read next

The full technical war-story write-up of this migration walks through every trap: template consolidation, redirect map audits, the CLS regressions the first build shipped, the Cloudflare cache settings that actually matter. Different tone than this case study - insider war stories, not marketing.

Frequently asked questions

How long did the actual migration take?

Five engineering days end-to-end, from URL inventory through DNS cutover. Industry standard for a corpus of this size is three to six months.

Did Unlimited Charters lose Google rankings during the migration?

No URLs were lost and no rankings dropped due to the migration itself. The index count is currently ~167K pages, up from a 17K low earlier in the year - 10x recovery. The dip that preceded the migration was Google de-indexing thin WordPress doorway content.

How is the 528K-page corpus kept fresh without WordPress?

A 4-tier partitioned nightly rebuild runs the whole corpus in about 7 hours. Fresh pages ship first; deep long-tail ships overnight. Editors change source markdown; the build handles the rest.

Who runs Unlimited Charters' Hugo stack now?

The same team that built the migration. That is the point of Stretch LLC's engagement model - no vendor handoff, no throw-it-over-the-wall. The playbook is productized at wordpressescape.com for outside customers.

Can Wordpress Escape do this for a smaller site?

Yes. Most engagements are 1K-50K pages, priced at the Assisted or Managed tier. The 528K case study is the anchor, not the minimum.

Scan my site free

Run the same audit we ran before migrating UC

The free 60-second audit shows your real PageSpeed score, page count, SEO gaps and the exact WordPress features you would need replaced. Then Wordpress Escape rebuilds you on Hugo, keeps every URL, and hands you the source on day one - the same way UC was rebuilt.

Scan my site free
Keep reading
All guides33
Related searcheswordpress to hugo case study528315 pages migratedstretch llc migrationunlimited charters seohugo transportation sitewordpress escape case study