Our CT IDX Pro plugin allows you to seamlessly connect and display listings from your local MLS, covering 99% of all homes for sale across all 50 States, and we’re adding more all the time. We’ve purposely kept the plugin integration simple, with complete plug-and-play integration, this doc will cover the settings panel aspects and some tips and tricks to help streamline your server for the best performance.
How does it work?
The CT IDX Pro plugin hosts MLS data locally by temporarily downloading it to your website’s database, doing this allows for deeper integration into our Real Estate 7 theme and CRM systems, design and customization flexibility, and SEO advantages as the listings are all 100% indexable content which your site gets credit & ranking for.
General MLS Data:
This is listing data that is not associated with yourself or your brokerage. Every 20 minutes a general pull will process chunks of MLS data to add new, update existing, and expire old out (see IDX Cache), based on the property type, location, and price min/max settings. The general data is pulled in a round-robin on all the selected zips from top to bottom, every 20 minutes a query is made and it does up to 5 queries per zip (paginated 1-5 for a total of up to 500 results per) if it sees empty results on the second query it recognizes that and skips to the next zip until it comes around again.
This does not pull and load the entirety of the MLS to your site in every run, it’s a continuous process and is designed to not overload your site with general MLS data which can lead to slow speeds, search performance degradation, and possible crashing more on that in Property Types, Location & Price Min/Max section.
Agent/Office MLS Data:
A specific pull for your agent/office listings is done every hour and this will be for the entirety of what’s available, the general settings don’t apply in this case.
Although we set up & configure the IDX initially if you’d like to make any adjustments you can do that via your WordPress Admin > Settings > CT IDX Pro panel.
This is the key that controls the licensing of the plugin, if this is removed or goes invalid for any reason the temporary IDX data on the site is automatically deleted.
This is the key that connects your site to the IDX Data API
Global Assigned User
This setting is used to assign a global user to all the IDX listings displayed on the front end of your site. The assigned user will be shown with their corresponding contact information, profile picture, etc…more on that in the Agents section of the documentation. If you’re running a brokerage site with multiple agents we suggest creating an “Office” user with general contact information and assigning that user under this setting.
Agent Assigned Users
Brokerage/Office specific feature that allows you to select agents to display their information with matched IDX listings, will override the “Global Assigned User” if data match is available (must be set as the main agent in the MLS).
The match is made from the users > Display Name, so make sure that’s properly set with “First Name Last Name”, keep in mind that has to be the exact name that’s registered with the MLS, if not the match will not be made and the default Global Assigned User will show. (If the user has a middle initial just enter that in the first name profile field, example).
This setting will not show until you have more than one agent or broker user created/added to your site, refer to the Agents section in the documentation.
Exclude listings that don’t have
This will assure that listings with incomplete address data aren’t populated to your site.
Property Types, Location & Price Min/Max
Here you’ll set the various property types, areas, and price range you’d like to pull MLS data from, we do highly recommend keeping this targeted to your demographics and markets. The more areas or types you select the more data is brought in and therefore requires more server resources. A good rule of thumb is 2GB per 3000 records populated, you can refer to the “Server Health” section in the settings panel to reference what you’re currently running and scale to meet the needs required.
We generally don’t recommend trying to recreate your own real estate portal site (e.g. Realtor.com, Trulia.com, etc…) our products and WordPress in general, aren’t built for it, and it’ll just never work. Exceeding about 6000 records on the site at any given time, even with a large server setup you start stretching the limits of the database structure and will inevitably start seeing performance degradation and possible crashing. Keeping your settings hyper-targeted to your demographics and areas marketed in is really key, your site will perform better and your leads will better find what they’re really looking for.
Be mindful in this area as selecting more than your server can handle without scaling properly can end in latency issues or complete crashing of your site, more on that in Running CT IDX Pro and seeing blank white pages on site or errors in admin.
IMPORTANT: Anytime you make settings changes you need to use the Reset IDX Data function and clear IDX Cache to let the system repopulate the site based on the new criteria. If you don’t reset the IDX data, it will take some time for the old to expire.
Show only your own office listings
This will restrict the data to only the agent and office listings (tied to the account), general MLS data will not be pulled.
This gives you the option of disabling WP-Cron and creating server-side cron jobs which will increase the overall performance of your site and reduce all the load that WP-Cron causes as it fires on every visitor hit, rather than just running the IDX data retrieval functions every 5 minutes (general MLS data), every hour (all agent/office data), and every 24 hours (expire listing data).
Turn on debug logging
This will enable debug logging for the plugin, only use when needed.
Reset IDX Data & Total Record Count
Just as it sounds, this will completely clear the current IDX data on the site, useful if you’ve made big settings changes instead of waiting for the system to process out the temporary data it’ll start from fresh and repopulate based on the new. Do keep in mind the data is not immediate and will start funneling back in over a bit of time.
Use the following steps to reset the IDX data on your website:
- Go into Settings > CT IDX Pro
- Scroll to the bottom > click Reset IDX Data
- Next scroll to the top admin bar > IDX Cache > Purge IDX Cache
- Go back to Settings > CT IDX Pro > click Save Settings
- Let things run, you’ll see data start funneling back in shortly
You can easily view the total number of IDX listings currently residing in your database under “Total record count” (this number does not include pocket or manually entered listings, strictly from the IDX itself).
This section will give you a clear view of your current server configuration and its health status per the IDX plugin recommendations. We recommend at the very bare minimum 1024M, with 2048M being optimal for PHP memory (memory_limit), and set the max execution time to 9999 to ensure it never times out. Then as data is added to the site you’ll need to scale the server appropriately for both PHP Memory and CPU, due to the nature of the IDX and how much data it runs a multi-CPU setup is ideal as well to share the load.
It’s always a good idea to periodically check your records count, with your current server CPU and Memory usage in order to avoid possible cases of maxing the available resources.
This isn’t required but for hosting we recommend getting Cloudways with Digital Ocean, it’s the same platform all of our demos are on, easily scalable if needed, very fast, free migration, and they have great customer support. You can spin up a 2GB server from them starting at $22/month and we have a coupon code for 20% off your first 2 months use “CONTEMPO20” on checkout.
CT IDX Pro will not work on Godaddy Managed WordPress hosting or any low-resource/limited shared hosting environments.
The CT IDX Cache plugin handles caching of the listings, each are expired out every 24 hours, here’s the basic process:
- The listing comes around in query processes
- Checks for cache expiration
- If true > it checks the API to see if the listing still exists
- If it does it checks for changes > updates the listing > extends the cache period for another 24 hours
- If it doesn’t exist > it’s removed from the site
To purge the IDX cache go to your admin bar > IDX Cache > Purge Cache (screenshot) to clear everything out.
If you’d like to take that one step further and delete the IDX Cache & IDX Temporary files to start 100% fresh you’ll want to use FTP or SSH (recommended, much faster) to delete the following two folders on your server in wp-content > cache > ct-idx-cache & idx_temp (screenshot) that will completely remove any temporary and cache files, the folders will be automatically regenerated.