Managed hosting is included on every plan

Every MLS Genie™ subscription includes fully managed WordPress hosting — provisioned, configured and monitored for you, with nothing on this page to set up yourself. We publish the specifications because your site should never be a black box, and because MLS Genie™ is a standard WordPress plugin that will run on any host meeting them. If you prefer your own infrastructure, that is supported at no change in subscription price — these are the numbers to check, and we will verify a host against them before you commit. Bring-your-own hosting is an accommodation rather than a cheaper plan: the platform, support and MLS licensing are identical either way.

What this looks like in practice

Specifications on their own are hard to judge, so here is a real site. A 12-agent residential team runs a full MLS import, the complete CRM and a public IDX site on four CPU cores, averaging 26% CPU across the month while serving 621,000 requests and 3,952 visitors a day — with the object cache switched off. A single-agent site on the same platform runs comfortably on two cores.

Heavy work — importing listings, refreshing prices, scanning for off-market properties — is queued and paced in the background rather than run while somebody is waiting for a page. That is why the numbers above look ordinary despite the volume of data moving through.

Server Requirements

PHP

Configured for you on MLS Genie™ managed hosting, which is included on every plan. These figures are published for reference, and for matching if you host MLS Genie™ yourself.

Requirement Minimum Recommended Notes
PHP Version 8.1 8.2 or 8.3 The codebase uses str_contains(), named arguments, and match expressions throughout. PHP 7.x will fatal on activation.
Memory Limit 256 MB 512 MB This is the PHP memory limit per request, not the size of the server. The import holds an API payload and the WordPress records it is writing at the same time, which is what sets the ceiling. 256 MB runs a solo agent comfortably; 512 MB is the sensible setting for a team.
max_execution_time 120s 300s Off-market scan steps, nightly scout refresh, and ListingGenie CMA generation all run long. WP-Cron jobs inherit this limit.
max_input_vars 3,000 5,000 The Genie Settings page and Field Config screens POST large form payloads. Default 1,000 will silently truncate saves.
upload_max_filesize 64 MB 128 MB Required for .mlsgpack boundary pack uploads and social media image processing.
post_max_size 64 MB 128 MB Must be equal to or greater than upload_max_filesize.

PHP Extensions

Configured for you on MLS Genie™ managed hosting, which is included on every plan. These figures are published for reference, and for matching if you host MLS Genie™ yourself.

Requirement Minimum Recommended Notes
sodium (libsodium) Required Required Used by MLSG_Crypto for authenticated encryption of all API credentials at rest. Plugin will not activate without this.
curl Required Required All outbound API calls — MLS data, property data, AI, license validation.
json Required Required Used throughout for API request/response handling.
mbstring Required Required Address normalization and string operations on MLS data.
zip Required Required GenieLayers™ .mlsgpack boundary pack installation.
gd or imagick Required imagick PWA icon generation and social media image processing. imagick preferred for better quality.
opcache Required Required Standard on every managed host and enabled by default almost everywhere. Configure with ≥128 MB and validate_timestamps=0 in production, clearing on deploy.

MySQL / MariaDB

Configured for you on MLS Genie™ managed hosting, which is included on every plan. These figures are published for reference, and for matching if you host MLS Genie™ yourself.

Requirement Minimum Recommended Notes
MySQL Version MySQL 5.7 / MariaDB 10.3 MySQL 8.0 / MariaDB 10.6 MLS Genie™ uses its own indexed tables rather than storing everything in WordPress post meta, which is what keeps search and CRM queries fast as a listing database grows.
max_allowed_packet 64 MB 128 MB MLS feed responses and property data payloads are written to transients in wp_options. Default 16 MB causes silent write failures on large imports.
Storage Engine InnoDB InnoDB All custom tables use InnoDB. MyISAM is not supported.
Character Set utf8mb4 utf8mb4 Required for full Unicode support in listing descriptions and agent names.
Disk Space (Database) 5 GB 20 GB A mature AOR import with full history, send log, chat history, and commission records will exceed 2–3 GB in the database alone. Allow growth room.

Web Server & SSL

Configured for you on MLS Genie™ managed hosting, which is included on every plan. These figures are published for reference, and for matching if you host MLS Genie™ yourself.

Requirement Minimum Recommended Notes
Web Server Nginx or Apache Nginx Nginx preferred. Apache with mod_rewrite is supported. Standard WordPress rewrite rules apply — no special MLS Genie™ config required.
SSL / HTTPS Required Required The PWA, SSO flows, reCAPTCHA, and license validation all require HTTPS. HTTP-only deployment is not supported.
HSTS Recommended Enabled Enable Strict Transport Security via your server config or security plugin on go-live.
Disk Space (Files) 10 GB 20 GB Ghost photo attachments store CDN URLs rather than local files, so media storage is minimal. Space is dominated by the database and WordPress core.

Caching & Performance

Configured for you on MLS Genie™ managed hosting, which is included on every plan. These figures are published for reference, and for matching if you host MLS Genie™ yourself.

Requirement Minimum Recommended Notes
PHP workers 12 50+ The single most important number, and the one most hosting plans bury. Scheduled work holds a worker for the length of the job, so imports and syncs compete with live page requests. Twelve is enough for a solo agent or a small team; a busy multi-agent site wants headroom. Ask any prospective host for this figure before comparing anything else — plans with identical CPU and memory can differ tenfold here.
Object Cache (Redis) Optional Recommended MLS Genie™ makes heavy use of the WordPress transient API. With an object cache those reads and writes stay in memory instead of hitting the database. A live 12-agent team currently runs without one, so it is a performance gain rather than a prerequisite — but it is the first upgrade worth making as a site grows.
WP-Cron System cron System cron Scheduled work runs continuously: MLS refresh, off-market scanning, client alerts, drip campaigns and task reminders. WordPress's default behavior of firing cron on page load is not sufficient — a real system cron calling wp-cron.php every five minutes is required, and every managed host offers one.
CDN Optional Recommended A CDN in front of static assets will reduce load times on listing archive and property detail pages. Note that logged-in CRM pages are dynamic by nature and will not be served from an edge cache.

Outbound HTTP

Configured for you on MLS Genie™ managed hosting, which is included on every plan. These figures are published for reference, and for matching if you host MLS Genie™ yourself.

Requirement Minimum Recommended Notes
MLS Data Feed Required Required Nightly import, refresh, and live field validation all require outbound HTTPS to the MLS data feed (RESO Web API / OData).
Property Data Required Required Property Intelligence, ListingGenie CMA, and Comps all call the property data service server-side.
Genie AI Required Required The Genie AI Help Chat calls a hosted AI service. Firewall rules must allow the outbound HTTPS endpoints provided at onboarding.
GenieLayers Required Required Boundary data for GenieLayers overlays is fetched from an open mapping data service. .mlsgpack packs can substitute for this.
reCAPTCHA (Google) Required Required GenieForms uses Google reCAPTCHA for spam protection. Required if GenieForms is active.
License Validation Required Required Periodic license checks call mlsgenie.com. Blocking this will deactivate the plugin.

Quick-reference checklist

PHP 8.1 minimum, 8.2+ recommended

sodium, curl, json, mbstring, zip, gd/imagick extensions enabled

memory_limit = 512M

max_execution_time = 300, max_input_vars = 3000 or higher

MySQL 8.0 / MariaDB 10.6, InnoDB, utf8mb4

max_allowed_packet = 64M minimum

OPcache enabled with ≥ 128 MB

validate_timestamps=0 in production, clear on every deploy

PHP workers — ask for the number

The figure hosts rarely publish. 12 suits a solo agent; 50+ suits a busy team

Redis object cache available

Not required to launch — the first upgrade worth making as a site grows

System cron every 5 minutes

Calling wp-cron.php on a schedule — not relying on page-load triggering

HTTPS enforced, HSTS enabled

HTTP-only is not supported

Outbound HTTPS unrestricted

MLS data feed, property data, Genie AI, mapping, Google, and mlsgenie.com