9 sites
Rebuilt on one unified template
~1 month
From crisis to all nine live
200+ pages
Per site, Laravel to WordPress
5GB+ / site
Of images, moved by a custom script
Client snapshot
Nine US residential home-builder brands, every one of their websites running on the same custom Laravel platform. The sites shared a common structure with small differences from brand to brand, and lead generation ran through them: gated guides, floor plans, and portfolio pages that fed a CRM. Those sites were the front door to the business.
What went wrong
The developer who had built and hosted the platform was no longer working with them, and was pursuing legal ownership of the sites and the code. The threat was blunt: delete everything and walk. The sites lived on a server only that developer controlled.
That left a brutal starting point. No source code. No server. No admin. All we had were the website addresses and access to the domain, and the live sites could go dark any day. Nine of them, each over 200 pages, could vanish before anyone had a copy.
And nobody on the client side actually understood the platform. No one could explain how the Free Guides, the Floor Plans, and the Portfolio were wired together, which mattered because that wiring was the lead engine. We had to work it out ourselves from the live sites, with no code to read.
How we rebuilt it
Because all nine ran on one platform with only small differences, we did not rebuild nine sites nine times. We studied every site, then built one unified WordPress template that carried all the shared functionality, and rolled each brand onto it:
- One template, nine brands. A single WordPress build that consolidated the common features, migrated off Laravel, 200+ pages per site
- Images, moved by a custom script. Each site carried over 5GB of photos, and the only copies were on the live sites we were racing to save. Downloading and re-placing that by hand across nine sites was not realistic, so we wrote a Python script that pulled every image, renamed it to a clean convention, and re-uploaded it into the right place on the new build: portfolios, floor plans, and project pages
- Constant Contact, rewired. The CRM the group uses to generate leads, reconnected so the forms kept feeding the pipeline
- Free Guides. Industry PDF guides offered through popups and on-page forms. A visitor leaves their details and receives the guide by email, and the lead lands in Constant Contact
- Floor Plans, tied to the portfolio. Every completed home is built from one of the plans. A visitor can request a plan by filling a form, and instead of emailing it, the plan becomes viewable on the site for 24 hours. We reverse-engineered that Guides / Floor Plans / Portfolio relationship from the live sites, since no one could describe it and there was no code to check
The outcome
All nine builders went live on WordPress the client owns and controls, off the disputed platform and out of reach of the old developer. Lead capture worked again, the guides and floor plans behaved exactly as before, and no site went dark in the handover.
Nine sites, over 200 pages each, migrated off Laravel and rebuilt from the live sites with no source code, more than 5GB of images each moved by script, against a legal deadline, in about a month. With the live sites as the only source of truth, it was as much a logistics problem as a technical one. We solved both.
Metric
Before
After
Platform
Custom Laravel, disputed
WordPress the client owns
What we started with
Just the live sites and the domain
Full ownership of code and hosting
Sites
9 at risk of deletion
9 live, 200+ pages each
Lead capture
About to be lost
Constant Contact working again
Tech and tools
WordPress
Elementor
Laravel (migrated from)
Constant Contact
One reusable multi-site template
Services used on this project
More case studies
Related projects.
Emergency recovery
A deleted 2,800-page site rebuilt from the web archive in 5 days
Professional Services & B2B