Can WordPress handle MLS listing volume?
The BrokerFold Team — Product + Engineering
Last reviewed
It depends entirely on where the listing data lives. WordPress comfortably runs a real estate site whose listings stay outside it — rendered from a vendor’s API, embedded search, or a filtered import of a few hundred records. What strains on ordinary hosting is the thing people usually mean by the question: a full Canadian board imported into WordPress as posts. We run the TRREB feed in production — around 121,000 active listings as of July 2026 — and the numbers below are what that feed actually demands of a database, so you can judge the fit honestly rather than discover it partway through a hundred-thousand-listing import.
What full-board volume actually is
Measured on our own mirror, July 2026: roughly 121,000 active TRREB listings at any moment, with the feed’s churn on top — new listings, price changes, and status changes arriving continuously, which is why we re-poll deltas every 15 minutes. Each listing carries dozens of structured fields plus rooms, open houses, and history. Media multiplies everything: at a typical 30–40 photos per listing, the actives alone mean millions of original images, and a full mirror — actives plus the sold and off-market history the feed accumulates, plus the resized derivatives you actually serve — runs to image objects in the tens of millions. Board rules push you toward hosting them yourself rather than hotlinking. And before any of the ongoing sync matters, day one is a backfill of the entire active inventory — a hundred-thousand-listing import that has to complete, resumably, without timing out.
Where WordPress strains under that load
The stress point is the storage model. A listing imported as a post becomes
one wp_posts row plus a meta row per field in wp_postmeta — call it
50+ meta rows per listing, several million meta rows for the board — and
once each photo becomes an attachment post with its own meta, the posts
table itself runs to several million rows and wp_postmeta into the tens
of millions, in an entity-attribute-value layout that was never indexed for
“3 beds, under $900k, in Milton.” Filtered searches become multi-join meta queries that
crawl at this scale on shared hosting. Around the database sit the
operational ceilings: PHP execution-time limits that kill long imports
midway, a media library duplicating every photo it touches, a
traffic-triggered cron that must fire reliably every few minutes forever,
and page caches fighting the freshness the feed exists to provide. None of
these is a bug; they are a general-purpose CMS meeting a workload it was
not shaped for.
Where WordPress copes fine
Honesty cuts both ways — several architectures keep WordPress entirely
viable. API-backed integrations leave the listing data in the provider’s
cloud and render it on request, so your database never holds the board.
Embedded/iframe search does the same with less SEO value. A filtered
import — your own listings, your office’s, one town’s actives — is hundreds
of records, not a hundred thousand, and WordPress handles hundreds of
anything. And a WordPress brochure site paired with a purpose-built search
subdomain is a legitimate hybrid many teams run. The failure mode is
specifically full-board data inside wp_posts on ordinary hosting; the
cost side of each route is tabled in
what a WordPress IDX website really costs.
The question to ask any vendor or developer
| Approach | Where listings live | Realistic ceiling | Freshness driver |
|---|---|---|---|
| Full import as posts | Your wp_posts/wp_postmeta |
Thousands, not a full board | Your cron + import speed |
| API-backed rendering | Provider’s infrastructure | Board-scale | Provider’s sync |
| Embedded/iframe search | Provider’s infrastructure | Board-scale, weak SEO | Provider’s sync |
| Filtered import | Your database, small | Hundreds–low thousands | Your cron |
| Purpose-built platform | A database designed for it | Multi-board | Operator’s pipeline |
“Where does the data live, and what happens when the feed doubles?” sorts every real estate website proposal in one question. The full engineering story of running the TRREB feed — agreements, backfill, media mirroring, monitoring — is written up first-hand in TRREB listings on WordPress, and what a platform doing this as its core job looks like is a TRREB IDX website.
Keep reading
- TRREB listings on WordPress The first-hand version: PropTx agreements, approval, and the sync engineering — rate limits, media mirroring, freshness — that the tutorials skip.
- WordPress IDX website cost The full-stack table nobody publishes: hosting, theme, plugin and feed fees, build time, maintenance, and security — CAD, sourced and dated 2026.
- TRREB IDX website A TRREB IDX website with the board's live feed: 15-minute sync via RESO Web API, photos on our own CDN, and listings that publish only when complete.