Case Study: How Rob Disbergen Makelaars Got Fresher Realworks Listings on WordPress
How a Nijmegen real estate agency keeps the listings on its WordPress site in step with Realworks, and why the hard part turned out to be the caches.
Rob Disbergen Makelaars is a real estate agency in Nijmegen. Its listings live in Realworks, the CRM most Dutch agencies use, and its WordPress website shows them through the Realworks API. The problem was simple to state: a house sold or reduced in price in Realworks could still show its old status on the website for too long, because the site refreshed its listings conservatively.
Imagewize did the Realworks API work on the agency’s existing custom WordPress theme, together with a number of theme changes, and maintained the connection from 2025 until November 2026. We did not build the theme itself.
Quick Summary: In 2025 we made the site refresh its Realworks listings every 10 minutes during office hours (7 AM to 7 PM) and hourly outside them, then added webhooks so Realworks tells the site about each change. The Realworks side went smoothly, including the move to API v3 before the May 6, 2026 deadline. The hard part was the caches between Realworks and the visitor: a page cache that kept old pages, and a data cache that silently saved nothing. Fixing the last one took pages with listings from 22–38 seconds to 89 ms, measured on the live site.
Where Funda fits in
The first version of this case study talked about “Funda data”. That was loose wording, and it came from the theme’s own admin screen, which is labeled “Tiara/Funda Cache Management”. The listings come from Realworks. Funda is one of the portals where the same listings appear, but the website reads them from the Realworks API, not from Funda.
2025: refresh when it matters
After checking with Realworks that more frequent API calls were not a problem, we changed the refresh to follow the office day instead of one slow interval around the clock:
- 7 AM to 7 PM: the list of listings is refreshed every 10 minutes.
- Outside those hours: it is refreshed every hour.
- Manual refresh: a Cache Management screen in the WordPress admin lets the office clear the cache straight away, for example for a new exclusive listing.
Listings are cached with an expiry time. A short lock (30 seconds) makes sure that when the cache expires, one visitor’s request fetches fresh data and the others wait for it, instead of all of them calling the API at once. Each house has its own readable URL, such as /aanbod/polderstraat-30/.
Late 2025: webhooks, and the page cache
Webhooks: changes go live within minutes
A timed refresh still means waiting for the next round. So in August 2025 we added webhooks: Realworks sends a message to the site whenever a listing or its status changes. The site checks that the message really comes from Realworks (a signature sent with each message, plus an optional IP check), clears its listings cache, and purges the LiteSpeed page cache for that house and for the overview. The timed refresh stays in place as a safety net.
Logged in, the site looked right. Visitors saw old pages.
The first webhooks cleared the listings data but not the LiteSpeed page cache. Anyone logged in to WordPress saw the new photos straight away, because logged-in users skip the page cache. Visitors kept getting the old cached page, and photo updates took hours to reach them. In October 2025 we made each webhook purge the page of that house and the overview pages as well.
Every change, not only status changes
Until December 2025, only status changes (sold, under offer) cleared the listings cache. A new price or a new listing waited 10 to 60 minutes for the next refresh. We made every webhook clear it. That has a cost: the visitor who arrives right after a change waits while the cache rebuilds from the Realworks API. The agency chose accuracy over that occasional slow page.
2026 update: a cache that saved nothing, API v3 and a webhook format change
The cache that silently saved nothing: 22–38 seconds to 89 ms
In March 2026 we found that the listings cache was not being saved at all. The full listings data had grown to about 15 MB, and the database on the agency’s shared hosting accepts at most 16 MB per query. With the query overhead on top, MySQL dropped the write without an error, so WordPress never knew. Every page that needed the listings went back to the Realworks API, and those pages took 22 to 38 seconds to load.
Raising the database limit was not possible on that hosting plan. In April 2026 we moved the listings cache to a JSON file on the server, with its own expiry time and lock. A cache hit now takes 89 ms, measured on the live site.
API v3 before the May 6 deadline
Realworks announced in January 2026 that its older API (v1) would be retired, and every connection had to move to v3 before May 6. That was plenty of notice. v3 returns some address fields differently: street and house number can come back as lists instead of plain text, which without adjustments causes a fatal error on listing pages. We moved the endpoints and handled the new formats on May 5, a day before the deadline. One display issue followed: house numbers showed as “Array” on listing pages until we fixed that on May 12.
July 29: Realworks changed its webhook format
On July 29, 2026 Realworks changed the structure of its webhook messages, this time without notice. Every delivery failed, and after 25 failures in a row Realworks switched the webhook off on its side. Listings still refreshed on the timer, so nothing looked broken to visitors. We found it in the webhook log, not through a complaint, and the same day updated the handler to read the new format while still accepting the old one. The webhook code is covered by PHPUnit tests.
What other agencies can take from this
- Ask Realworks about your limits. We had assumed API usage was a constraint. It wasn’t.
- Match the refresh to your office day. Frequent refreshes when listings change, slower ones at night.
- Add webhooks, keep the timer. Webhooks make changes fast; the timer covers you when webhooks stop arriving.
- Check your listings logged out. Logged in, you skip the page cache and see the fresh version. Visitors don’t. Open your own listings in a private window now and then.
- Caches fail silently. Both cache problems here gave no error at all. A listings site rarely breaks loudly; it goes stale or slow, quietly.
- Read the log. A webhook that Realworks switched off does not show on your site. Someone has to look.
- Plan for changes on Realworks’ side. Realworks announced the v3 move months ahead; the July webhook format change came without notice. Both needed developer time.
Running a Dutch agency and want this on your own WordPress site? The Dutch page Realworks koppelen aan je WordPress-website explains how the connection works, what goes wrong, and what it costs.
Need a WordPress Developer?
We build, maintain, and troubleshoot WordPress sites for SMEs — custom theme development, plugin configuration, hosting setup, and ongoing hosting and support. Fixed-price quotes available.
- Custom WordPress theme and plugin development
- WordPress hosting setup and server configuration
- Site migrations, updates, and troubleshooting
- Ongoing hosting, updates, and on-call support
Comments are closed for this post.