Website Rebuild & Local Data Automation for We Buy Houses Cash by Olha StalskaWebsite Rebuild & Local Data Automation for We Buy Houses Cash by Olha Stalska
Website Rebuild & Local Data Automation for We Buy Houses Cash
We Buy Houses Cash needed a WordPress site that could serve a large local-market footprint without turning content updates into a manual maintenance job.
The site already ranked, with almost 2,000 indexed state and city pages, but every page carried static copy and numbers that went stale. Paid traffic landed on a page scoring 51 on mobile PageSpeed. The job was a full rebuild without losing anything Google had indexed.
Industry: Real estate · Services: WordPress development, data and API integration, CRM integration, performance · Timeline: 4 weeks · Tools: GeneratePress, GenerateBlocks Pro, ACF Pro, WP All Import Pro, Fluent Forms Pro, GoHighLevel, Python, PHP, Kinsta.
One template, every city with its own numbers: Atlanta, Miami, Detroit, Charlotte
Build one template and fill it with real data
I rebuilt the site on GeneratePress and GenerateBlocks Pro from the client's HTML mockups. Every city and state page is a single template driven by ACF fields. The data comes from Redfin, theUS Census ACS API, OpenStreetMapOverpassand a Census zip crosswalk, cleaned with Python scripts and imported with WP All Import. That covers 1,935 city pages and 50 state hubs, each with its own numbers.
The data pipeline, from four sources to one template
Keep the numbers fresh on a real cron
Two PHP sync scripts pull Redfin's monthly market files on a server cron on Kinsta, on the 1st of every month. They update median price and days on market for 1,914 cities, plus the all-cash share for 37 metros. The 21 cities Redfin doesn't track hide their price blocks with display conditions instead of showing zeros.
The 2-step lead form and its path into GoHighLevel
Make the lead form talk to the CRM cleanly
The lead form has two short steps: address first, then contact details. The address field uses Google Places autocomplete inside a plain text field, because the native address field sends a nested object that GoHighLevel can't read. Each lead goes to a GHL webhook with gclid and UTM data, and the conversion is verified in GTM.
Home, Atlanta city page and market snapshot on mobile
Challenges along the way
WP-Cron only runs when someone visits the site, so I moved the syncs to a real server cron.
Four cache layers (Kinsta edge, CDN, WP Rocket, Cloudflare) made live changes look missing, so I fixed a purge order for every release.
Redfin's region names don't match WordPress city names, so a bridge field maps each page to its Redfin region.
A partial WP All Import update can wipe every unselected field, so every import updates only its own columns.
PageSpeed Insights results, 25 Oct 2026
Outcome
The PPC landing page went from 51 to 100 on mobile PageSpeed, with LCP at 1.0 s. The Atlanta city page scores 99 on mobile and 100 on desktop, with SEO at 100. All 1,935 city pages and 50 state hubs share one template, and 1,914 of them refresh their market numbers every month without anyone touching them.
Development, data pipeline and integrations: Olha Stalska. Design: client's HTML mockups.