Website Scraping: How We Automated 300+ SEO-Optimized Landing Pages for a Property Agent in Singapore
And kept them updated daily — without breaking Google, Cloudflare, or human sanity.
A senior agent from a Singapore-based property agency reached out to me with a problem that sounds simple on the surface — but becomes painful very quickly once you scale it.
“I want a landing page for every property listing.
The master property website updates daily.
I need my pages to always stay accurate.
And I still want to manually edit them for SEO.”
There were 300+ properties on the source website.
New properties were being added every single day.
Details like pricing, availability, unit mix, and images changed constantly.
Doing this manually wasn’t just slow, it was commercially impossible.
So we built an end-to-end automation system using n8n + Apify that turned a constantly changing property website into a living, breathing SEO engine.
This is how we did it.
The Real Problem (Not Just “Scraping Data”)
This wasn’t a simple “scrape and dump” job.
The agent needed:
- One SEO-optimized landing page per property
- Pages that auto-update daily
Detection of:
- New properties
- Property changes
- Removed listings
- Manual edits preserved, even after daily syncs
Automatic creation of:
- Subdomains
- Hosting
- Page infrastructure
Protection against:
- CAPTCHA
- Cloudflare
- Rate limiting
- JavaScript-rendered content (React / Vue)
Most scrapers break the moment a website uses AJAX/XHR.
This site did exactly that.
The Source of Truth
The property company’s website was defined as the single source of truth.
Key characteristics:
- No login required
- Property data rendered via AJAX/XHR calls
- Daily updates
- Deep subpages for each property
- Rich media: images, videos, maps, floor plans
This meant static scraping would fail.
We needed a scraper that understood how the website actually loads data.
The Automation Architecture (High-Level)
We designed the system around two core tools:
- Apify → industrial-grade web scraping
- n8n → orchestration, logic, syncing, and page generation
Think of it like this:
Apify sees and extracts reality
n8n decides what to do with it
Step 1: Daily Property Scraping (300+ Listings)
Every morning, the automation runs automatically.
Apify:
- Hooks directly into the website’s AJAX/XHR network calls
- Extracts structured property data for every listing
Bypasses:
- Cloudflare
- JavaScript rendering issues
- Rate limits (via controlled concurrency)
- Identifies each property via a unique Property ID
Data captured per property includes:
- Property ID
- Address
- Number of units available
- Number of bedrooms per unit
- Floor plans
- Images & videos
- Price / value
- Location map
- Contact information
- Amenities
- Construction status
No screenshots.
No brittle HTML scraping.
Clean, structured data.
Step 2: Detecting What Changed (This Is Where Most Systems Fail)
Scraping is easy.
Change detection is hard.
n8n compares today’s scrape with historical records to detect:
- 🆕 New properties added
- 🔄 Existing properties updated
- ❌ Properties removed or delisted
Each property is classified into one of three buckets automatically.
This allows the system to act intelligently, instead of blindly overwriting everything.
Step 3: Auto-Generating SEO Landing Pages
For every property, the system automatically:
- Creates a dedicated landing page
- Assigns a subdomain
- Provisions hosting
- Injects structured data into SEO-optimized templates
Each page includes:
- Property-specific headings
- Schema-friendly layouts
- Image galleries
- Embedded maps
- Unit breakdowns
- Pricing blocks
- Contact CTAs
In short: pages Google actually likes.
Step 4: Preserving Manual Edits (Non-Negotiable)
This was a hard requirement:
“I want to edit the landing pages manually — and not lose my work.”
So we designed a dual-layer content model:
-
Synced fields
Auto-updated daily from the source website -
Protected fields
Manually edited content that never gets overwritten
This means the agent can:
- Add custom copy
- Optimize headlines
- Insert CTAs
- Improve SEO text
And still enjoy daily automated updates.
No conflicts.
No rollbacks.
No manual rework.
Step 5: Handling Property Updates & Deletions
If the source website changes:
- Price updates → reflected automatically
- Unit availability changes → synced
- Images added/removed → updated
- Amenities updated → refreshed
If a property is removed:
- The landing page is flagged
- SEO-safe handling is applied (not hard-deleted blindly)
- Admin can decide whether to archive or redirect
This protects both SEO equity and user trust.
Step 6: Built-In Anti-Breakage Protections
The system is hardened against real-world conditions:
- CAPTCHA handling
- Cloudflare-friendly request patterns
- Rate-limited scraping
- JavaScript-rendered content support
- Retry logic & failure alerts
This isn’t a hobby scraper.
It’s production-grade automation.
The Outcome
What the agent got:
- 300+ SEO landing pages generated automatically
- Daily updates without human involvement
- Zero risk of outdated listings
- Full editorial control
- Massive time savings
- A scalable inbound lead engine
What used to take weeks of manual work now happens every morning automatically.
Why This Matters for Property Agencies in Singapore
Singapore’s property market moves fast.
If your listings:
- Go stale
- Miss new launches
- Have outdated pricing
You don’t just lose SEO — you lose trust.
Automation isn’t about cutting corners.
It’s about keeping reality and marketing perfectly in sync.
That’s what WunderWaffen builds.