Immobilière Pujol
Migrating a 6,000-URL Real Estate Platform from WordPress to Astro
"Roy a fait notre site en quelques semaines. Délais tenus, qualité des échanges, réactivité, professionnalisme et maîtrise. UN GRAND BRAVO ROY"
Key Results
The Transformation
From a heavily loaded WordPress to an edge-rendered Astro platform
↔ Drag the slider to compare before and after
Before
Heavy WordPress with plugin sprawl and slow page generation
Listings and photos hard to keep in sync at scale
Sold properties risking 404s and lost ranking authority
Database and maintenance overhead on every page view
After
Astro 6 with SSR on Cloudflare Workers, no plugin stack
Automatic Ubiflow + La Boîte Immo sync with health reports
5,000+ closed listings kept alive on their original URLs
Edge rendering with photos served from Cloudflare R2
Project Overview
Immobilière Pujol is an established real estate agency in Marseille with four agencies and more than 20 years in business. Their website is not a brochure: it is the engine of the company, drawing around 20,000 visits and 600 leads every month across thousands of property listings.
That website ran on a heavily loaded WordPress stack that had grown slow, fragile, and expensive to operate. The brief was the hardest kind of migration there is: rebuild the entire platform on a modern architecture without losing a single URL, listing, or ranking. This is our school example of migrating away from a heavy WordPress install, and exactly the kind of project where there is no room for error.
The Challenge
- Scale. Over 6,000 live URLs: roughly 5,000 property listings, ~900 blog articles, 100+ service and neighborhood pages, and 23 negotiator profiles, all indexed and earning traffic.
- SEO cannot break. With ~600 leads a month riding on organic search, every legacy URL had to keep returning a 200, including sold and rented properties that still ranked.
- Live data, not static content. Listings flow in automatically from external real estate feeds (Ubiflow for rentals, La Boîte Immo for sales) and change daily. Property photos run into the tens of thousands.
- WordPress overhead. Plugin sprawl, database load, slow page generation, and a maintenance burden the agency wanted gone.
- Business continuity. Forms feed the agency’s Zoho CRM and drive the lead pipeline; nothing could go dark during the switch.
What We Built
A full migration to Astro on Cloudflare
We rebuilt the site on Astro 6 with server-side rendering on Cloudflare Workers, using React islands only where interactivity is needed. The result is an edge-rendered platform with no WordPress, no plugin stack, and no database server to babysit. Property photos moved to a Cloudflare R2 bucket, served straight from the edge.
Live feed integration with automatic sync
Listings are not entered by hand. We built an ingestion layer that parses the Ubiflow (rentals) and La Boîte Immo (sales) XML feeds and turns each property into a content entry, complete with photos pulled into R2. A scheduled sync runs automatically, so new properties appear on the site within hours of being published, with no manual step. An automated verification routine emails a health report on every run (feed reachable, listing counts, storage in sync), so the team always knows the pipeline is green.
Keeping 5,000 sold listings alive for SEO
The most important SEO decision was what to do with closed properties. Instead of letting sold and rented listings 404, a pre-build step extracts every closed listing and renders it on its original URL with a dedicated “no longer available” template that links to similar active properties. Thousands of pages that already rank keep their authority and keep feeding internal links, rather than bleeding traffic.
Negotiator pages with real reviews
Each of the 23 negotiators has a profile that automatically gathers every listing they manage and have sold, grouped at build time, plus their individual client reviews pulled from the OpinionSystem API. Buyers and sellers see a real track record per agent, not a generic team page.
Secure admin and lead capture
A protected admin area (PBKDF2 password hashing + signed JWT sessions via jose) lets the agency upload property photos directly to R2. All lead forms (property estimation, contact, expert contact, syndic, newsletter) post through to the agency’s Zoho CRM via their email-delivery pipeline, with Cloudflare Turnstile added as invisible anti-bot protection after the first wave of spam submissions.
Full analytics and monitoring stack
Google Analytics 4, Google Tag Manager, and Microsoft Clarity behavioral analytics were configured from day one, a Google Sheet dashboard aggregates every incoming form, and Google Search Console + Mangools SerpWatcher track re-indexing and ranking positions through the cutover.
The Results
Migration delivered, SEO preserved
- 6,000+ legacy URLs preserved or 301-redirected. Every property, article, and service page kept its address.
- 5,000+ listings and ~900 articles migrated off WordPress with their content and metadata intact.
- Sold and rented listings still resolve, protecting years of accumulated ranking authority.
- Site went live in June 2026, on schedule, after a staged testing period.
Performance
- 96/100 desktop performance, 100/100 SEO, 96/100 accessibility, and 96/100 best practices on Google PageSpeed.
- Cumulative Layout Shift of 0.001 and a 1.3s desktop LCP, on a data-heavy, listing-driven site.
- Edge rendering on Cloudflare replaces WordPress page generation, with property images served from R2.
Operations
- Listings sync automatically from Ubiflow and La Boîte Immo, with emailed health reports on every run.
- Leads flow straight into Zoho, protected by invisible Turnstile anti-bot.
- The agency received full technical documentation and the GitHub repository, so the project can be maintained in-house or handed to any provider.
Key Features
- Edge-rendered Astro platform on Cloudflare Workers, no WordPress, no plugin stack
- Automatic feed ingestion from Ubiflow and La Boîte Immo with scheduled sync
- Closed-listing SEO templates keeping 5,000+ sold properties indexed
- Per-negotiator pages with auto-grouped listings and OpinionSystem reviews
- Cloudflare R2 photo storage and a secure admin upload endpoint
- Zoho CRM lead pipeline across five form types, with Turnstile anti-bot
- GA4 + GTM + Microsoft Clarity analytics and a Google Sheet lead dashboard
- Marseille arrondissement category pages for local search
- Full technical documentation and GitHub handover
Technologies Used
- Framework: Astro 6 (SSR on Cloudflare Workers)
- UI: React 19 islands, SCSS, TypeScript
- Storage: Cloudflare R2 (property photos)
- Feeds: Ubiflow (rentals), La Boîte Immo (sales), parsed from XML
- CRM & email: Zoho CRM via transactional email delivery
- Auth: PBKDF2 + JWT (
jose) for the admin area - Analytics: Google Analytics 4, Google Tag Manager, Microsoft Clarity
- SEO & monitoring: Schema.org, Google Search Console, Mangools SerpWatcher
- Security: Cloudflare Turnstile invisible anti-bot
What We Built
Custom features that drive real business value
Automatic Feed Sync
Listings ingest from Ubiflow (rentals) and La Boîte Immo (sales) on a schedule, with photos pulled into R2 and an emailed health report on every run.
Zero-Loss URL Migration
6,000+ legacy URLs preserved or 301-redirected, protecting ~600 monthly leads riding on organic search.
Closed-Listing SEO
Sold and rented properties stay live on their original URLs with a dedicated template linking to similar active biens.
Negotiator Pages
Each of 23 agents gets auto-grouped current and sold listings plus real client reviews synced from OpinionSystem.
Edge Performance
96/100 desktop PageSpeed with 0.001 CLS on a data-heavy, listing-driven site, rendered at Cloudflare's edge.
Secure Lead Pipeline
Five form types post into Zoho CRM, protected by invisible Cloudflare Turnstile anti-bot, with a Google Sheet lead dashboard.
Project Showcase
Our Process
A high-stakes migration delivered in 2 months
Audit & Map
Inventoried 6,000+ URLs, listing feeds, and forms, and defined a strict URL-preservation and redirect policy.
Rebuild
Built the Astro + Cloudflare platform: feed ingestion, R2 photo storage, expert pages, admin area, and Zoho-connected forms.
Migrate & Verify
Migrated 5,000+ listings and ~900 articles, wired automated sync verification, and tested every legacy URL for 200s.
Launch & Monitor
Switched DNS in June 2026 and tracked re-indexing through Search Console and Mangools, with documentation and GitHub handover.
Audit & Map
Inventoried 6,000+ URLs, listing feeds, and forms, and defined a strict URL-preservation and redirect policy.
Rebuild
Built the Astro + Cloudflare platform: feed ingestion, R2 photo storage, expert pages, admin area, and Zoho-connected forms.
Migrate & Verify
Migrated 5,000+ listings and ~900 articles, wired automated sync verification, and tested every legacy URL for 200s.
Launch & Monitor
Switched DNS in June 2026 and tracked re-indexing through Search Console and Mangools, with documentation and GitHub handover.
Technologies Used

Roy a fait notre site en quelques semaines. Délais tenus, qualité des échanges, réactivité, professionnalisme et maîtrise. UN GRAND BRAVO ROY

C'est un réel plaisir de travailler avec Roy et son équipe sur notre projet de refonte de notre site internet : réactivité, professionnalisme, sympathie ... tout y est pour un projet réussi ensemble Merci à toute l'équipe
Ready to Transform Your Business?
Whether you're struggling with platform limitations, need custom functionality, or want to migrate to a more flexible solution, we have the expertise to deliver results.
Industries We Serve
Professional Services
- Legal Services (Law Firms, Attorneys)
- Engineering & Architecture
- Consulting & Advisory Services
- Financial Services (Accountants)
- B2B Service Providers
Real Estate & Construction
- Real Estate (Agents, Brokers)
- Construction Companies
- Architecture Firms
- Property Development
Healthcare & Wellness
- Medical Practices & Healthcare
- Wellness & Fitness Centers
- Therapists & Health Specialists
Retail & E-Commerce
- Online Stores & E-Commerce
- Sports & Recreation Retail
- Custom Manufacturing
- B2B Wholesale
Food & Beverage
- Restaurants & Food Halls
- Hospitality Venues
- Event Spaces
- Multi-Vendor Operations
Tourism & Hospitality
- Hotels & Accommodations
- Tour Operators & Experiences
- Boat Charters & Maritime
- Travel Services
Arts, Culture & Community
- Arts & Culture Organizations
- Educational Institutions
- Community Organizations
- Nonprofits (ASBL)
European Institutions & Associations
- European Institutions
- EU Bubble Associations
- International NGOs
- Think Tanks & Policy Organizations