Skip to main content
.com domains from $2.99 — free WHOIS privacy on every name

Cache invalidation · Letting Agency Sites

Web hosting for letting agents — Caching a site that changes every day is an invalidation problem

A let property that lingers on the site for three weeks is usually a stale cache, not a lazy update — and the fix is a purge rule, not a faster server.

The short answer

On a lettings site the caching question is not how long to cache but what to purge when something changes. Marking a flat as let has to invalidate the listing page, the search results that included it, the area page it appeared on and the homepage carousel — and if the purge rule only covers the listing itself, the property stays visible everywhere else until the cache expires on its own.

That produces the classic lettings failure: a fortnight of calls about a flat that went three weeks ago. The platform gives you server-level LiteSpeed caching with NVMe underneath, plus free SSL, free migration and support at any hour — the invalidation rules are the part worth getting right yourself.

By the HostingFast team · Reviewed 24 August 2026

99.9%

Uptime target, round the clock

24/7

Support availability

Free

TLS on every plan

NVMe

Storage under every tier

Lettings turn over far faster than sales, which changes the performance problem entirely. A sales site can cache for hours without consequence. A lettings site caching an area page for six hours is publishing information that was wrong four hours ago, and generating enquiries that waste both sides' time.

There are two workloads to separate. The public reads — listings, area pages, filtered searches — which should be cached aggressively and purged precisely. And the internal writes, which happen in the dashboard, are never cached, and are where staff experience the site as slow.

Both are measurable, and the measurements are different. Below: what to purge, what a filter query costs, and how to time the half of the site your own team uses.

Purge precisely, not globally

List every surface a property appears on: its own page, search results, the area page, the homepage feature block, and any feed you publish. When its status changes, all of those need invalidating. A rule that only purges the single listing leaves the property visible in four other places, which is exactly the complaint your front desk fields.

Equally, avoid purging everything on every edit. A full-site flush means the next visitor to each page pays for a cold render, and on a busy afternoon that is a self-inflicted load spike. Verify what actually happened rather than assuming: change a status, then read the cache status header on the listing, the area page and the search results to confirm which of them refreshed.

What a filtered search costs

Filtered searches — two bedrooms, this postcode, under this rent — are the most expensive reads on a lettings site, because each unique combination is a separate query and a separate cache entry. A filter set with five options across four fields produces more permutations than you will ever have visitors for, so most of them are always cold.

Measure one rather than theorising. Query Monitor will show you the query count and the slowest query on a filtered result page; if the count is in the hundreds, the template is querying inside a loop. Then check the database has indexes on the columns you filter by — an unindexed rent or bedroom column turns every search into a full table scan, and NVMe storage makes that fast rather than free.

The half of the site your staff use

Logged-in requests skip the page cache by design, so every screen your negotiators touch runs the full stack: PHP boots, plugins load, the database answers. That is why the dashboard feels heavier than the public site, and it is a genuine productivity cost when marking properties let is a job done twenty times a day.

Time it as itself. Log in, open DevTools, and record how long the listings screen and the edit screen actually take. If they are slow, the object cache is the layer that helps — Redis object caching and AccelerateWP ship on the managed WordPress tiers, and the admin is precisely the workload they exist for. Trimming plugins that load their assets on every admin page is the free half of the same fix.

Make the update cheap enough to happen

The real cause of stale listings is friction. If marking a property let takes six clicks through a slow admin, it gets batched to Friday; if it is one click on a fast screen, it happens the same hour. Performance work on the admin is therefore data-quality work, which is an unusual but accurate way to justify it.

Automate where the feed allows it. If your management software publishes a feed, let it drive availability and run the import on a real cron schedule rather than on visitor requests. SSH with Git and Composer ships on shared plans, so WP-CLI can run the import directly and you can time it in isolation.

A team planning the next release of their business site

Fast reads, honest invalidation

LiteSpeed caching sits inside the web server, so cached listing pages are answered without booting PHP — and the purge controls are in the same layer rather than in a plugin negotiating with it.

NVMe storage sits under the searches and the writes, so the queries that cannot be cached are not also waiting on a disk. Staging copies let you test a purge rule before it is in front of a tenant.

  • Cache and purge controls in the same server layer
  • NVMe storage under filtered searches and writes
  • SSH with Git and Composer for scheduled imports
  • Daily backups, files or database, restored from the panel

Why HostingFast

Standard on every plan

Purge controls where the cache lives

Server-level caching means invalidation is handled in the same layer, not negotiated between a plugin and a web server that disagree.

NVMe under the expensive reads

Filtered searches are the queries that miss cache most often. Fast storage is what stops a cold permutation feeling broken.

Object caching for the admin

The managed WordPress tiers ship Redis and AccelerateWP, which is the layer that helps the logged-in screens a page cache can never touch.

Scheduling that is actually scheduled

SSH and WP-CLI let a feed import run on a real cron rather than inside whichever visitor's request happens to trigger it.

Restores before the import runs

Daily backups recover files, a database or both from the panel — worth having before you let an import write to your property records.

A flat renewal price

The rate you order at is the rate you renew at, so a plan sized against measured search load stays that price next year.

Quick Start

From order to online

  1. 1

    Map every surface a property appears on

    Listing, search, area page, homepage block, feed. That list is your purge rule. Anything missing from it is where a let property will linger.

  2. 2

    Verify the purge, do not trust it

    Change a status, then read the cache status header on each of those surfaces. Confirming which refreshed takes two minutes and settles the question permanently.

  3. 3

    Time the admin as its own workload

    Log in and measure the listings and edit screens. Uncached by design, used twenty times a day, and never included in anybody's speed test.

Built In

Loaded onto every plan

  • Every surface a property appears on written down as a purge list
  • Status change tested and cache headers checked on each of those surfaces
  • Full-site cache flushes avoided in favour of targeted invalidation
  • Query count on a filtered search page measured, not assumed
  • Database indexes present on the columns searches actually filter by
  • Logged-in admin screens timed separately from the public site
  • Plugins loading assets across the whole admin identified and trimmed
  • Feed import moved to a real cron rather than visitor-triggered scheduling
  • NVMe and server-level LiteSpeed present on the entry tier, not only the top one
  • Renewal billed at the rate ordered at, with no year-two step

Frequently Asked

What people ask us most often

How do I stop a let property showing on cached pages?

By making the status change purge every surface it appears on, not just its own page. Write the list first — listing, search results, area page, homepage block, feed — then change a status and read the cache headers on each to confirm they refreshed. A property lingering for weeks is almost always an incomplete purge rule rather than a slow update process.

Why are filtered searches so much slower than listing pages?

Because every filter combination is its own query and its own cache entry, so most combinations are always cold. Measure the query count on one with Query Monitor: if it is in the hundreds, the template is querying inside a loop. Then check the columns you filter by are indexed — without indexes, each search becomes a full table scan that fast storage makes tolerable rather than cheap.

Should I shorten the cache lifetime because listings change daily?

That is the blunt instrument, and it costs you the benefit of caching on every page that did not change. Precise invalidation is better: cache for as long as you like, and purge exactly what a status change affects. Shortening the lifetime everywhere means paying for cold renders continuously in order to solve a problem that occurs on a handful of pages.

The dashboard is much slower than the website. Is that normal?

Yes, and it is inherent rather than a fault. Logged-in requests bypass the page cache by design, so the admin exposes raw PHP and database performance with none of the cushioning the public site enjoys. Object caching, a current PHP runtime and fewer plugins loading their assets across every admin screen are the three things that actually move it.

Keep reading

Changing hosts? Run through our checklist first.

A straightforward sequence for a switch your visitors never feel: which files move first, how to shift email across without losing a single message, the right moment to repoint DNS, and the two mistakes behind almost all the downtime we get asked to rescue.

You'll get the checklist email, then occasional pointers on keeping a site running fast. Unsubscribe the moment you want out — the privacy policy covers the rest.

Cache hard, purge precisely.

Server-level LiteSpeed with the purge controls in the same layer, NVMe under the searches, and SSH so imports run on a real schedule.

View WooCommerce Hosting — Built for Letting Agents plans