IDX feed not updating in WordPress, house listing icon

BlogMaintenance

Maintenance

IDX Feed Not Updating in WordPress? How to Fix It

Published June 2026 · By Melvin Monterroza · 9 min read

If your IDX feed is not updating in WordPress, the cause is usually one of three things. WordPress’s built-in cron is not firing, a cache is serving old listing pages, or your MLS credentials or feed URL changed. New homes do not appear, sold homes keep showing as active, and price changes lag behind the MLS. The fix depends on which kind of IDX setup you have.

This guide shows you how to tell which cause you are dealing with, the exact fix for each, and how to keep listings fresh on their own. We maintain real estate sites with live IDX feeds, so these are the checks we actually run when an agent says the listings look stale.

Why Is My IDX Feed Not Updating in WordPress?

Your IDX feed is not updating because the job that pulls listings is not running, or a cache is hiding the new data. On most WordPress sites the culprit is wp-cron, which only runs when someone visits the site, so on a low-traffic listings site the sync simply does not fire. Caching, expired MLS credentials, and a changed feed URL are the other usual suspects.

Here are the causes we check, in the order we check them.

  • wp-cron not firing, so the import job never runs on a quiet site.
  • Caching, where a saved page keeps showing a sold home as active.
  • Expired credentials or a changed feed URL, which stops the feed silently.
  • Server limits, where a big sync hits PHP time or memory caps and stops halfway.
  • A theme or plugin update that overwrote your listing template or status mapping.
  • MLS compliance, where the board paused your feed for a display rule violation.

First, Which Kind of IDX Setup Do You Have?

Before you change anything, find out whether your listings live on the provider’s servers or inside your WordPress database, because the fix is completely different. Widget and iframe providers like IDX Broker, iHomefinder, and Showcase IDX host the listings and embed them on your pages. API import plugins like Realtyna, MLSImport, and Easy MLS Listings Import pull the listings into your own database on a schedule.

  • Embedded or widget providers (IDX Broker, iHomefinder, Showcase IDX): the data lives with the provider. If it looks stale, the cause is almost always your page cache or a provider-side issue, not wp-cron.
  • API import plugins (Realtyna, MLSImport, Easy MLS Listings Import): the data is imported into WordPress. These depend on wp-cron, your server, and your credentials, so they are the ones that go stale most often.

Knowing which group you are in tells you which of the sections below to focus on first. If you maintain a busy listings site, our WordPress maintenance for real estate agents page covers how we keep these running.

The Top Cause: WordPress wp-cron Is Not Firing

The most common reason an IDX import goes stale is that WordPress wp-cron only runs when someone loads a page. It is not a true scheduler, it is a task that piggybacks on visitor traffic. On a low-traffic listings site, hours can pass with no visit, so the import job that should run every 15 minutes never fires, and your listings sit frozen.

The fix is to replace wp-cron with a real server cron job.

  1. In wp-config.php, turn off the built-in scheduler with define(‘DISABLE_WP_CRON’, true).
  2. In your hosting control panel, add a real cron job that runs wp-cron.php on a fixed schedule, every 5 to 15 minutes.
  3. Confirm your IDX plugin’s import is scheduled to run on that same cadence.
  4. Watch the plugin’s sync log for a few cycles to confirm it now runs on time, with no errors.

This one change fixes the majority of stale-listing problems on import-based sites, and it is the step most agents have never heard of.

A Cache Is Showing Old Listings

If your import is running but listings still look wrong, a cache is serving the old version. Full-page caching saves a copy of your search and listing pages, so a home that sold an hour ago keeps showing as active until that cache expires. Object caches like Redis or Memcached can hold stale listing data in memory the same way.

  • Exclude your search results and single-listing pages from full-page caching, or set a short expiration of one to five minutes for them.
  • Clear the object cache after each successful import so new data is served right away.
  • If you use a CDN, make sure it is not caching the listing pages with a long lifetime.
  • After a sync, hard-refresh a listing you know changed to confirm the new status shows.

Caching is great for speed on the rest of the site. It just needs rules so it never freezes the one thing that has to stay current.

Your MLS Credentials or Feed URL Changed

A feed that worked for months and then stopped overnight usually means your MLS credentials expired or the board changed the feed URL. MLS boards rotate API keys and update endpoints, and when they do, the import fails silently while your old listings stay on the page. The plugin keeps the last good data, so nothing looks broken until you notice the dates.

  1. Open your IDX plugin’s sync log and find the last successful run and the first error.
  2. Re-enter your MLS API key or login in the plugin settings, the board may have issued new ones.
  3. Check for a new feed or endpoint URL from your MLS, especially after a board system change.
  4. Re-run the import manually and confirm the log shows a clean pull.

If the error mentions authentication or a 401, it is almost always credentials. If it mentions a host or 404, it is almost always a changed URL.

Provider-Specific Quick Checks

Each major IDX provider has its own first thing to check when listings stop updating. Start with the provider’s own status and dashboard before you touch WordPress.

  • IDX Broker (IMPress plugin): listings are served by IDX Broker, so check your IDX Broker dashboard and account status first. A stale page is usually your cache, not the feed.
  • iHomefinder: confirm the account is active and the search pages still point at the right iHomefinder embed, then clear your page cache.
  • Showcase IDX: check the plugin license and connection status in settings, and confirm your MLS is still linked.
  • Realtyna and MLSImport: these import into WordPress, so check the sync log, the cron schedule, and your server limits, in that order.

When Only Some Listings Update

If some listings update and others do not, the import is starting but not finishing, usually because of a server limit or an API rate cap. A first bulk sync of thousands of listings can blow past your PHP time limit or memory cap and stop partway, and some MLS feeds throttle how fast you can pull. The result is a half-updated site that looks random.

  • Raise the PHP max execution time and memory limit, or ask your host to, for the import to finish.
  • Set the plugin to import in smaller batches if it supports it.
  • Check the error log for timeout or memory messages right at the point it stops.
  • If the feed is being throttled, slow the import frequency so you stay under the MLS rate limit.

A heavy listings site on a weak server is the classic version of this, and it is one of the reasons a real estate site needs more than entry-level hosting.

Do Not Get Your Feed Shut Off

Sometimes the feed is not broken, the MLS paused it for a compliance violation. Boards require you to display the listing broker’s name, the MLS logo, and the right disclaimers, and they can suspend your feed if those disappear. A theme or plugin update that overwrites your listing template is a common way this happens without you realizing it.

  • Confirm the broker name, MLS logo, and disclaimer still show on your listing pages.
  • After any theme update, check that your listing template and compliance hooks survived.
  • If the board sent a notice, fix the display issue and ask them to restore the feed.
  • Keep a record of the compliant template so you can restore it fast if an update wipes it.

This is exactly why we test listing pages after every update on a maintained site. If you handle updates yourself, see our guides on how to update WordPress without breaking your site and how often you should update WordPress.

How to Keep Listings Fresh Automatically

The way to stop stale listings for good is to remove the guesswork: a real server cron, smart cache rules, and someone watching the sync. Once the import runs on a true schedule and the listing pages are excluded from long caching, the feed stays current on its own. The last piece is monitoring, so a failed sync raises a flag instead of sitting unnoticed for a week.

On the real estate sites we maintain, we set up the server cron, tune the cache so listings update fast while the rest of the site stays quick, and watch the sync log so a broken feed gets caught the same day. That is part of our WordPress care plans, and you can see what WordPress maintenance costs if you want the numbers. For an agent, a listings page that is always right is worth far more than the plan costs.

Why is my IDX feed not updating in WordPress?

Usually because WordPress wp-cron only runs when someone visits the site, so on a low-traffic listings site the import never fires. Caching, expired MLS credentials, and a changed feed URL are the other common causes. The fix depends on whether your listings are embedded from a provider or imported into WordPress.

How often should IDX listings update?

It depends on your MLS. Large boards push updates every 5 to 15 minutes, mid-sized boards every 30 to 60 minutes, and small boards a few times a day. Your site can only be as fresh as the MLS feed allows, but your import should run at least every 15 minutes to keep up.

Why do sold homes still show as active on my site?

Almost always a cache. A full-page cache keeps serving the old version of a listing page until it expires, so a home that sold an hour ago still shows as active. Exclude listing and search pages from caching or set a short expiration, and clear the cache after each import.

Why did my IDX feed stop working suddenly?

A feed that worked and then stopped overnight usually means your MLS credentials expired or the board changed the feed URL. Check your plugin’s sync log for the first error, re-enter your API key, and confirm the feed URL is current.

Is wp-cron the problem with my listings?

If your listings are imported into WordPress and the site has low traffic, very likely yes. WordPress wp-cron only fires on page visits, so the import job stalls. Disable wp-cron in wp-config and set a real server cron job to run the import on a fixed schedule.

Can you fix my real estate site’s IDX feed?

Yes. We diagnose whether it is cron, caching, credentials, or the server, set up a real cron job, tune the cache so listings stay current, and monitor the sync so it does not break again. Reach out through our contact page.

Melvin Monterroza, Founder of Sitios SV

Melvin has personally recovered more than 50 hacked WordPress sites, from casino and pharma spam to malware redirects and Google blacklists. He works hands-on in cPanel, WHM, and Linux, and runs Sitios SV, a US-based bilingual managed WordPress company.

Want your listings always up to date?

We diagnose and fix stale IDX feeds, set up a real server cron, tune your caching so listings stay current, and monitor the sync so a broken feed gets caught the same day. Stop losing buyer trust to outdated listings.

Similar Posts