There are three ways MLS listings end up on a WordPress site, and they behave differently enough that the choice shapes everything you can do afterwards. MLSImport uses the third one: it imports listings into your database as real WordPress posts.
If you are choosing a brokerage website, start with the difference between framed IDX and indexable IDX. The guide shows what each term means and how to check a real listing page before you buy.
This page explains the three approaches and what each costs you, so the trade you are making is clear before you build on top of it.
What is the difference between an IDX plugin that imports listings and one that shows them from the vendor’s server?
The difference is where your listings live. An import plugin copies each MLS listing into your own WordPress site as a real page on your domain. A vendor-hosted IDX keeps the listings on the vendor’s computers. It shows them to your visitors through a frame, a subdomain, or a page the vendor builds when someone asks for it. That one choice decides who gets the Google credit, what you can design, and what is left if you cancel.
| Import plugin (MLSImport works this way) | Vendor-hosted IDX | |
|---|---|---|
| Where listings live | Your WordPress database | The vendor’s servers |
| Listing page address | yoursite.com/property/123-main-street | Inside a frame, on a subdomain like search.yoursite.com, or a page the vendor builds on your domain |
| Who gets the SEO juice | Your domain | Frame: mostly the vendor. Subdomain: kept apart from your main site. Built on your domain: you get the page, the vendor keeps the data |
| Design | Your own theme’s templates | The vendor’s templates, with some styling |
| How listings stay current | Your site checks your MLS every hour, and a daily pass removes listings that are gone | The vendor keeps them current for you |
| Load on your hosting | Higher, because your database grows with every listing | Low, because the vendor carries it |
| If you cancel | The listing pages stay in WordPress. Updates stop. | The listing pages leave with the vendor |
| Setup | Install the plugin, get approval from your MLS, pick your fields, run a test import | Paste a code or install the vendor’s plugin |
Thinking about leaving the vendor you have now? Check your website contract, and read what happens to your website, leads and Google rankings when you leave your platform before you give notice. It covers the risks of moving from hosted IDX to imported listings: board rules, listings that stop updating, sold homes and hosting.
The three kinds of vendor-hosted IDX are not the same for Google:
- Frame (iframe). Google can read what is inside, but it credits that content to the vendor’s address, not yours.
- Subdomain. Pages like search.yoursite.com can show up in Google, but they build trust for the subdomain, not your main site.
- Built on your domain. Some vendors build listing pages at your own address without saving anything in WordPress. Those pages can rank. The data still lives with the vendor, and you cannot edit the listings in WordPress.
Don’t take any vendor’s word for it, ours included. Open a listing page, right-click, choose View Page Source, and search for the street address. Then paste the listing address into Google Search Console’s URL Inspection tool and check the rendered page. That check settles it.
Where MLSImport fits: it is an import plugin. It costs $49 a month or $504 a year, with a 30 day free trial. It connects one MLS per site. It writes into WpResidence, Houzez, Real Homes and WpEstate, or runs in Standalone mode on any theme. Listing photos stay on the MLS image servers, so your disk barely grows. Saving listing records on your site does not give you ownership of the MLS data, and your board’s rules still apply. You still need your own approval from your MLS, and hosting that can handle the import. See the requirements before you buy.
1. Listings served from the vendor’s servers
Vendor-hosted IDX keeps listing records on the vendor’s servers and shows them in one of the three ways above. A vendor-hosted page can appear in Google without becoming a WordPress post you can edit. Design tools, search tools, and what you can keep when you cancel depend on the service and your board’s rules.
The full listing address matters more than who runs the server. yourbrokerage.idxvendor.com uses the vendor’s domain. search.yourbrokerage.com uses yours. See what an IDX vendor’s subdomain means for your brokerage in Google before you choose a setup.
2. A live query on every page load
Nothing is stored. Each visitor’s search triggers a request to the MLS API, and results are rendered from the response.
Listings are as current as the API, and your database stays empty. The cost is that every page view depends on the MLS server answering quickly, there is no stored page for a search engine to return to, and what visitors can filter or sort by is limited to what the API accepts in a single request.
3. Importing into your database
Listings are copied into WordPress as property posts, then kept in step with the MLS by a scheduled sync. This is what MLSImport does.
The listings become ordinary content. Your theme templates them, your search queries them, your page builder can loop over them, they have URLs on your domain, and they keep working while the MLS API is briefly unavailable. The cost is that your database grows with the number of listings you import, and the data is only as fresh as your last sync.
What each approach actually costs you
Three differences decide most setups.
- Who owns the page. Live queries produce pages that exist only for the moment they are rendered, so there is nothing to own.
- What your theme can do with the data. An iframe is opaque to your theme. A live query gives your theme a response to render but nothing to store, relate, or reuse. Imported listings sit in the same tables as the rest of your content, so anything WordPress can do to a post it can do to a listing.
- Where the load goes. A live query puts it on the MLS API on every visit. Importing puts it on your hosting once, at import time, and on your database from then on.
The database growth is the part people plan for and the image storage is the part they overestimate. MLSImport does not copy photo files onto your server, so a large import grows your database rows without growing your disk or your backups by much.
How fresh imported listings are
MLSImport syncs hourly. Each run asks the MLS what changed since the last one and applies price, status, description, and photo changes to the posts you already have. A separate daily reconciliation pass removes listings that are gone from the MLS.
So an imported listing is up to an hour behind the MLS, plus whatever delay your MLS applies to its own feed. For every practical purpose on a public website that is current. It is not the right approach if you need to show something that changes minute to minute.
Both passes run on WordPress cron by default, which only fires when someone visits your site. On a site with little traffic, listings drift. Pointing a real server cron job at your site removes that dependency.
What your MLS allows
The approach you choose is partly your decision and partly your MLS’s. Your IDX or Web API agreement sets what you may display, how it must be attributed, and how quickly your site must reflect changes and removals. Rules differ between MLSs, and the fact that the data is technically available does not mean every use of it is permitted.
Two settings exist for the most common rule. An import task can filter on InternetEntireListingDisplayYN and InternetAddressDisplayYN, which are the RESO fields that record whether the seller allowed the listing, or its address, to appear on the internet. Set them when your MLS requires those opt-outs to be respected.
Ask your MLS for the display rules in writing before you build, not after. Attribution requirements, required disclaimers, and rules about which statuses may stay visible are easier to satisfy while you are still choosing filters and templates.
What MLSImport is not
MLSImport does not embed a vendor’s search on your site, and it does not query the MLS on each page load. It imports. If your requirement is a search box over the entire MLS with nothing stored on your side, importing is the wrong tool and no amount of configuration turns it into the right one.
Frequently asked questions
Who signs the MLS paperwork, me or the IDX company?
With an import plugin, you or your broker do. Your MLS gives the feed approval and the login details to you or your brokerage, not to the plugin. MLSImport holds no MLS data and sells none. With a hosted IDX vendor, the vendor’s own account is often the one on file with the MLS, and you sign the vendor’s onboarding instead.
Why it matters:
- Who keeps access if you switch. When the approval is in your name, it can outlast any one vendor.
- Who handles the board rules. On your own site, the attribution and display rules are yours to follow.
- Your broker usually has to sign. Most MLSs give feeds to the broker of record, so ask your broker early.
More detail: direct MLS feed or IDX vendor and who needs to hold the credentials.
What happens to my listing pages if I cancel my IDX?
It depends on where the listings live. With an import plugin like MLSImport, your imported listings stay in WordPress as ordinary posts when you cancel. Nothing is held hostage. With a vendor-hosted IDX, the listing pages live on the vendor’s system, so they usually go away when the subscription ends.
Two honest catches with importing:
- Updates stop. Price and status changes no longer come in, so you need to remove or hide old listings yourself to stay within your MLS rules.
- Photos can stop loading. Photos load from the MLS image servers, not your server, so a photo stops showing once the MLS removes it.
See cancelling MLSImport for the exact steps.
Do imported listings stay visible if the MLS API goes down?
Yes. The listings are posts in your database, so your site keeps serving them. The next sync picks up whatever changed while the API was unreachable. Photos are the exception, because they load from the MLS image source rather than from your server.
Will visitors see the same listings as on the MLS public site?
Only where your filters and your MLS’s rules agree. Your import tasks decide which listings arrive, and listings whose seller opted out of internet display can be excluded with the internet display filters. Both narrow what you show compared to the full feed.
Can I run imported listings and an embedded IDX widget at the same time?
Technically nothing stops you, and some sites do it during a migration. It usually confuses visitors, because the two systems have separate searches, separate detail pages, and separate result counts for the same market.
How much hosting do imported listings need?
More than a brochure site and less than most people expect, since no image files are stored. The load is database queries, not disk. A few hundred listings run on ordinary shared hosting. Tens of thousands need a VPS or a dedicated server, mostly because of the import runs rather than the front end.
Related
- What MLSImport is and how it works
- Requirements before you buy
- Building a Zillow or Redfin style site: what is realistic
- How many listings can you import
If you are weighing this against a specific vendor or a specific MLS agreement, open a support ticket from your MLSImport account and tell us which MLS you are in.