Создание портала недвижимости на WordPress сегодня — это борьба с раздутой базой данных и скоростью индексации тысяч объектов. При неправильном подходе время отклика сервера (TTFB) вырастает с 200мс до 2-3 секунд при достижении порога в 5 000 объявлений, что убивает конверсию на 30-40%.
Архитектура данных: CPT против мета-полей
Главная ошибка новичков — хранение всех характеристик объекта (этаж, площадь, цена) в стандартной таблице wp_postmeta. При фильтрации 10 000 объектов по трем параметрам WordPress делает десятки JOIN-запросов, что приводит к критической нагрузке на MySQL. Правильный путь — создание кастомных таблиц для метаданных через SQL или использование специализированных индексов.
Пример: переход с стандартных мета-полей на кастомную таблицу сократил время выполнения тяжелых фильтров с 1.2 сек до 0.15 сек на сервере с 8 ГБ ОЗУ. Экспертный вывод: для портала более 2 000 объектов забудьте про стандартные мета-поля в фильтрах; внедряйте индексацию через ElasticSearch или Algolia.
Выбор стека: ACF, JetEngine или Custom Code
Для быстрой сборки MVP часто используют JetEngine (от Crocoblock), который позволяет создать связи «Объект — Риелтор — Район» без кода. Однако при масштабировании до 50 000+ записей архитектура плагинов при разработке на WordPress начинает тормозить фронтенд из-за избыточных CSS/JS стилей. Стоимость разработки на JetEngine составит 80-150 тыс. руб., а написание кастомного функционала на PHP — от 300 тыс. руб.
Кейс: портал аренды квартир с 15 000 лотов переехал с JetEngine на чистый код (Custom Post Types + WP_Query), что снизило вес страницы с 3.2 МБ до 1.1 МБ. Мой вердикт: для локального агентства достаточно JetEngine, для регионального агрегатора — только кастомная разработка.
Интеграция с XML/JSON фидами и импорт
Ручное наполнение портала исключено. Стандарт индустрии — импорт из CRM или внешних агрегаторов по расписанию (Cron). Проблема в том, что стандартный WP-Cron работает нестабильно при больших объемах. Для синхронизации 500 обновлений в час требуется настройка системного Cron на уровне сервера (Linux crontab) и использование WP-CLI для обхода ограничений по памяти PHP.
Цифры: импорт 10 000 объектов через стандартный плагин-импортер занимает до 4 часов и часто падает по таймауту; через WP-CLI тот же объем обрабатывается за 12-15 минут. Экспертный вывод: любые массовые обновления данных должны идти через консоль (CLI), а не через админку WP.
Монетизация и личные кабинеты пользователей
Реализация платных объявлений требует связки WooCommerce + WooCommerce Subscriptions. Оптимальная сетка тарифов для РФ: «Бесплатно» (1 объект), «Стандарт» (до 10 объектов, ~2 000 руб/мес), «Профи» (безлимит, ~7 000 руб/мес). Важный нюанс — автоматическая деактивация объекта по истечении срока оплаты, что реализуется через хуки в functions.php.
Ошибка: использование тяжелых плагинов-конструкторов профилей, которые создают лишние таблицы в БД. Лучше использовать минимальный функционал пользователей WP с расширением полей. Мой вывод: монетизируйте не само размещение, а «поднятие» объявления в топ (Featured), так как это создает постоянный денежный поток.
SEO-стратегия для тысяч страниц объектов
Порталы недвижимости страдают от дублей контента (один объект в разных категориях). Чтобы избежать санкций поисковиков, необходимо внедрить строгие правила канонических ссылок (rel=canonical) и динамическую генерацию Title/Description по шаблону: «Купить [Тип объекта] [Кол-во комнат] в [Город] за [Цена]». Это позволяет охватить до 80% низкочастотного поискового трафика.
Пример: внедрение автоматических шаблонов для 500 страниц районов увеличило органический трафик на 25% за первые два месяца без написания уникальных текстов для каждой страницы. Экспертный вывод: делайте ставку на программное SEO (Programmatic SEO), генерируя страницы под узкие запросы на основе данных из БД.
Вывод
Создавать портал недвижимости на WordPress можно и нужно, если объем базы не превышает 100 000 объектов. Начинать стоит с архитектуры на кастомных таблицах и WP-CLI для импорта, чтобы избежать деградации производительности. Категорически избегайте перегрузки сайта тяжелыми Page Builders (Elementor/Divi) на страницах листинга — используйте легкие шаблоны или Gutenberg. Оптимальный стек: VPS от 8ГБ ОЗУ + Nginx + Redis для кэширования объектов, что обеспечит стабильную работу при нагрузке до 500-700 уникальных посетителей в час.
Подробный разбор всей темы смотрите в обзоре Разработка сайтов на WordPress.