Case study: the WordPress plugin behind a real-estate CRM’s client websites

For the past few years, a large part of my work has been on a WordPress plugin for a real-estate CRM company. Their customers are estate agencies, and the plugin connects each agency’s WordPress website to the CRM, so that properties, projects, and enquiries live in one place. I joined as a senior WordPress developer and now lead the WordPress team that maintains it. This case study describes the work without naming the company or its clients.

ClientReal-estate CRM company (anonymous)
My roleSenior WordPress developer, now team lead
ScalePlugin at version 20, 3,000+ commits; I’m its most active contributor with 500+
StackWordPress, PHP, REST APIs, JavaScript, Contact Form 7, WP Rocket, Yoast SEO

The challenge

Estate agencies manage their listings in the CRM, but their buyers find them through their websites. Copying listings into WordPress by hand meant stale prices, sold properties still showing, and duplicate work for agents. The goal was a plugin that shows listings live from the CRM on any agency’s WordPress site, while still being fast, search-engine friendly, and easy for site builders to drop into a design.

What the plugin does

Problem 1: speed, when every page depends on an API

Calling an external API on every page view is a recipe for slow pages. We solved it in layers:

Problem 2: SEO for pages that don’t exist in WordPress

Property pages are generated from CRM data, so WordPress and SEO plugins don’t know they exist. For agencies, though, those pages are the ones that need to rank. The plugin handles that itself:

Problem 3: protecting the server

Property brochures are generated as PDFs on demand, which is expensive work. Bots crawling those links could slow a site down for real visitors, so we added bot detection and rate limiting on the PDF endpoints.

How we keep it maintainable

A plugin that runs on many client sites can’t break on update. The codebase uses Composer autoloading, WordPress Coding Standards checks in CI with results posted on pull requests, code review on every change, and a detailed changelog for every release. As team lead, I review pull requests, plan releases, and mentor developers working on the plugin and on client sites built with it.

The result

The plugin now powers real-estate agency websites in several countries. Agents update a listing once in the CRM and it appears on their website with the right price, photos, and SEO metadata, while enquiries from the site flow straight back into the CRM as leads.

What this means for your project

If your WordPress site needs to show data from another system, such as a CRM, ERP, booking engine, or inventory, these are the same problems you’ll face: speed, SEO, keeping data in sync, and updates that don’t break things. I build custom WordPress plugins and API integrations with those problems solved from the start. For the performance side, see my WordPress speed optimization checklist.

Need WordPress connected to your system?

Tell me what you need to integrate, and I’ll suggest the simplest approach that will hold up. See my custom WordPress plugin development services.

Chat on WhatsApp