Phend Plumbing
Full redesign of a family-owned plumbing company's web presence: a WordPress-to-Astro migration built for performance, SEO, and zero ranking loss.
Problem
Phend Plumbing is a family-owned plumbing business serving the East Valley (Mesa, Gilbert, Chandler, Tempe, AZ). They needed a ground-up rebuild of an aging WordPress site.
What they needed
- A faster, more authoritative site built to rank locally
- A scalable content architecture for services, cities, and blog
- A migration that preserved years of Google Search equity
The core risk
When phendplumbing.com moved to Astro 5, the biggest technical risk was not the redesign or the new infrastructure. It was the 136 URLs already indexed and ranked in Google Search.
What I Built
Design and content
- Complete website redesign with a bespoke design system: navy, red, and copper palette; Instrument Serif and Geist typography
- Hub-and-spoke architecture: 10 service hubs, each with 3 to 4 specialist sub-pages (30+ service pages total)
- 50+ blog articles including an "Ask Pete" Q&A series, plus city landing pages for East Valley service areas
Migration and SEO
- 538-entry HTTP 301 redirect map covering every legacy WordPress URL
- JSON-LD structured data throughout (LocalBusiness, FAQ, Article schemas)
- Custom reveal-on-scroll animation system via a
data-revealAPI
Integrations
- Lead capture forms wired to ServiceTitan CRM
URL Preservation
Search rankings are tied to specific URLs, not domains. Without explicit 301 redirects, every indexed page could lose its ranking overnight.
Old WordPress URLs
/2021/04/15/how-to-fix-a-leaky-faucet//services/water-heater-repair//queen-creek-plumber/
New Astro URLs
/blog/how-to-fix-a-leaky-faucet/water-heater-repair/queen-creek
What was at stake
- 108 Google reviews averaging 5.0 stars, building domain authority over years
- 136 URLs indexed in Search Console at the time of cutover
- Service-area pages ranking for high-intent queries like "plumber Mesa AZ"
Losing that visibility would directly cut inbound leads while the business waited months for Google to re-crawl and re-rank the new structure, if it recovered at all.
The 538-entry redirect map
Every URL from the old WordPress site was mapped to its correct destination. The map was code-generated from WordPress XML sitemaps using a custom build script, then wired into Astro's native redirect mechanism as HTTP 301s.
- All 14 service hub pages (water heater repair, drain cleaning, slab leak detection, and others)
- All 7 city landing pages (Mesa, Gilbert, Chandler, Tempe, Scottsdale, Queen Creek, Phoenix)
- All 124 blog posts, remapped from dated permalinks (
/YYYY/MM/DD/slug/) to clean slugs (/blog/slug) - Blog pagination pages (
/blog/page/2through/blog/page/15) - 186 WordPress media attachment pages, each mapped back to its parent post
- Category, tag, and archive pages routed to their logical equivalents
Caught before launch
- The WordPress media sitemap contained the bare root URL as an entry.
- Trailing-slash stripping produced an empty string as the redirect key.
- The server normalized that to
/, creating a homepage-to-homepage redirect loop. - The bug was patched before production. Without that fix, the entire site would have been unreachable.
Outcome
- DNS cutover happened with all 538 redirects in place and verified
- Every pre-existing indexed URL now delivers a 301 to its correct destination
- Full ranking signal passes forward with no gap from the migration itself
This is the kind of work that does not show up in a before/after screenshot, but it is often the difference between a launch that helps a business and one that quietly destroys months of organic search value.
What Made It Interesting
Tokens-first design system
- Design system built first; every component consumes shared tokens
- No page-level CSS and no scoped styles
- Entire visual language controlled from four CSS files
Hub-spoke SEO architecture
- One canonical service registry powers all cross-linking
- Link equity flows predictably across 30+ pages