Миграция нишевого каталога с WordPress на DLE

Портфолио | 1 декабря 2025 66

фильтрация спама, каталог товаров

Клиент: частное либо
Ниша: Региональный каталог-классифайд (специализированные услуги)
Платформа: WordPress → DataLife Engine (DLE)
Стек: PHP (чистый, без фреймворков), MySQL, jаvascript (ES5/ES6), Ajax, HTML/CSS


Вместо эпиграфа


Говорят, древнеримскому императору Веспасиану приписывают фразу «Деньги не пахнут» — когда его сын Тит упрекнул отца в введении налога на общественные туалеты. Император дал понюхать монету сыну и спросил: «Пахнет?» Тот ответил: «Нет».

Две тысячи лет спустя ничего не изменилось. Я вспоминаю эту историю каждый раз, когда берусь за проект в нише, которая у некоторых вызывает моральный зуд. В данном случае это каталог вебкам-студий. Тема специфическая, для кого-то спорная, но при этом очень даже популярная в узких кругах и, как выяснилось, технически взыскательная.

Но с точки зрения разработчика это просто еще один каталог с карточками, фильтрами и формой обратной связи. Заказчик хотел миграцию с WordPress на DLE и защиту от спама. Я это сделал. А пахнут деньги или нет — решать не мне.



Контекст: от SEO-задач к технической модернизации


Проект попал ко мне не напрямую от заказчика, а через SEO-специалиста, с которым мы уже работали над другими задачами. У его клиента был сайт на WordPress, который морально устарел и перестал справляться с текущими бизнес-задачами.

Основные болевые точки:
  • Устаревший шаблон, который не поддавался нормальному редизайну без огромного технического долга.
  • Массовые спам-атаки через формы обратной связи (десятки фейковых заявок ежедневно).
  • Невозможность обновить плагины (включая Google Captcha) из-за запутанной структуры старой темы.
  • Четкие требования от SEO-специалиста по структуре фильтров, категорий и выдаче материалов.

Исходная задача формулировалась как "редизайн вордпрессовской темы". Но после аудита стало очевидно: проще и надежнее перенести проект на другую платформу, чем пытаться реанимировать то, что накопило кучу технического долга.

Почему DLE? Историческая справка для понимающих


Когда слышишь "DataLife Engine", первая ассоциация у коллег — "олдскул", "ну это же из 2000-х". И это чистая правда. Но в этой правде есть нюанс.

Знаете, что на самом деле двигало интернет в десятых годах? Не стартапы с венчурными миллионами, а два простых явления: контент для взрослых и халявный софт. И у этих двух стихий был свой любимый инструмент — DataLife Engine.

DLE стоял на каждом втором пиратском сайте. Им клепали варезники, региональные Minecraft-серверы, пиратские кинотеатры, каталоги "для взрослых". Почему? Да потому что движок решал главную задачу: контент должен литься рекой, а поисковики — это дело любить.

Встроенная генерация метатегов, умная перелинковка статей, шаблонизатор, доступный школьнику с минимальными знаниями HTML. И при всём при этом — феноменальная производительность даже на дешёвом хостинге. Как говорят в народе: "Для варезников подходит — легко интегрировать шаблон, профили пользователей, разграничение прав". Ну а раз подходит для варезников — значит, и для любого другого каталога сгодится.

Да, львиная доля установок DLE тогда были "занулёнными" — это ни для кого не секрет. Но парадокс в другом: даже на пиратских копиях этого движка вырастали проекты, которые отлично ранжировались в Яндексе. А всё потому, что архитектура DLE из коробки была заточена под SEO лучше многих платных решений.

Так что, когда мне предложили сделать очередной каталог на DLE, я даже не удивился. Просто в очередной раз убедился: хорошая архитектура не стареет, а ниши меняются медленнее, чем фреймворки.


Технические сложности и их решения



1. Миграция данных: битва за кастомные поля


Первая и самая нетривиальная задача — переезд контента. Стандартные плагины для выгрузки из WordPress в CSV работают только с базовыми полями. Но на старом сайте активно использовались специфические дополнительные поля от сторонних плагинов.

Решение:
Были написаны специальные конвертеры, которые вытягивали "закопанные" данные и преобразовывали их в формат, понятный DLE. Финальная загрузка выполнялась через кастомную доработку плагина DLE Import News — мощного инструмента для массовой загрузки и редактирования контента. В результате мы перенесли тысячи карточек без потери атрибутики.

2. Защита от спама (Ajax + Google Captcha + Telegram)


Заказчик жаловался: через формы обратной связи сыпятся десятки спам-заявок ежедневно. Google Captcha на WordPress не подключалась — плагин ругался, обновить не могли.

Решение:
Написали свой плагин для DLE. Никакого Node.js, никаких микросервисов и прочих вундервафель — только классический PHP и Ajax. Формы уходят без перезагрузки страницы, Google Captcha на месте, уведомления дублируются в Telegram через простого бота (на чистом PHP, кстати).

Результат: спама нет. Приходят только живые люди. Заказчик перестал материться по утрам, разбирая почту.

3. Структура карточки студии под SEO и нейросети


Отдельная гордость проекта — проработка карточек студий. Современный SEO — это не только про "заголовок H1" и "мета-теги". Сейчас поисковики (и особенно нейросетевые помощники вроде Yandex GPT и Google SGE) ждут от сайта четкой, предсказуемой структуры.

Вот как выглядит типовая карточка и почему она нравится роботам:

Титульный блок:
  • Название студии (H1) — четко, без креатива.
  • Адрес (для привязки к региону и картам).
  • Процент выплат и статус — ключевые метрики, которые нейросети любят выдергивать в сниппеты.

Блок преимуществ:
  • Коротко, списком, без воды. Идеально для формирования быстрого ответа в поиске на вопрос "почему выбрать эту студию".

Блок "Частые вопросы":
  • Это буквально подарок для нейросетей. Когда пользователь спрашивает "сколько платят новичкам" или "нужен ли английский", поисковик может сразу выдернуть готовый ответ из этого блока.
  • Важно: вопрос = тег или заголовок, ответ = обычный текст. Роботы это любят.

Блок отзывов:
  • Каждый отзыв — отдельная микроразметка (по возможности schema.org). Нейросети доверяют отзывам больше, чем обещаниям администрации.

Яндекс.Карты:
  • Вшитая карта с меткой. Это сигнал для Яндекса: "я свой, локальный, имею отношение к этому адресу".

Форма обратной связи:
  • Минимум полей. Задача — не замучить пользователя, а получить контакт.

Блок "Другие студии города":
  • Внутренняя перелинковка. Пользователь листает дальше, поисковик индексирует глубже.

Все это выведено на странице в единой, логичной последовательности. Для нейросети такая страница — как хорошо структурированный документ: понятно, где что искать, чтобы сформировать ответ пользователю.

4. Фильтрация: стандартные категории + динамический JS


Каталог требует удобной навигации. В проекте мы использовали комбинированный подход:
  • Базовая структура реализована через стандартные категории DLE и облако тегов.
  • Но основной, мощный фильтр (с сортировкой карточек по параметрам) был сделан иначе.

Решение:
Отдельный плагин собирает данные из базы DLE, преобразует их в JSON-файл. На фронте работает jаvascript-фильтр, который сортирует и выдает карточки в реальном времени без перезагрузки страницы. Клик по карточке ведет уже на статическую страницу с полным контентом. Это дало и скорость, и SEO-пользу.


Архитектура и бизнес-логика


Проект построен по классической модели каталога:
  • Бесплатное размещение для базовых карточек.
  • Платное размещение с приоритетным выводом (первые места, спецразмещение).
  • Система заявок: пользователи оставляют запросы через форму «Подобрать студию». В зависимости от тарифа, заявки либо уходят администратору (для ручного подбора), либо автоматически перенаправляются владельцам конкретных карточек (для платных аккаунтов).



Универсальность решения: где еще пригодится такой подход?


Хотя проект выполнен для специфической ниши, архитектура и наработки универсальны. Аналогичный каталог-классифайд будет работать в любом регионе с населением от 100 000 человек, особенно в городах-миллионниках. Примеры подходящих ниш:
  1. Медицинские центры и клиники — фильтрация по специализациям, рейтинги пациентов, запись на прием.
  2. Образовательные курсы и тренинговые центры — агрегатор программ с отзывами учеников.
  3. Салоны красоты и SPA-услуги — витрина мастеров с портфолио и онлайн-записью.
  4. Строительные бригады и ремонтные услуги — каталог проверенных бригад с примерами работ.
  5. Автосервисы и детейлинг-центры — фильтрация по маркам авто и видам работ.


Результаты и выводы


  • Технические: Полная миграция с WordPress на DLE с сохранением всех кастомных полей. Разработано 2 новых плагина (антиспам-система и JSON-фильтр).
  • Бизнес-эффект: Спам-нагрузка сведена к нулю, выросло количество реальных заявок. Сайт получил современный дизайн и структуру, готовую к масштабированию.
  • Главный вывод: Не важно, на чем сделано — важно, как работает. DLE, PHP, Ajax — старый стек ничем не хуже модного, если руки растут из правильного места. А если не растут — ни React, ни Node.js не спасут.

И да, деньги действительно не пахнут. Особенно когда они капают от рабочего сайта, который приносит пользу заказчику и не глючит.

Используемые технологии: PHP (DLE), MySQL, jаvascript (ES5/ES6), Ajax, JSON, HTML/CSS.

P.S.


Этот проект — хорошая иллюстрация того, что в веб-разработке, как и в Древнем Риме, важны не предрассудки, а результат. Заказчик получил работающий инструмент, пользователи — удобный каталог, а я — очередное подтверждение, что DLE еще поживет.
Виталий Чуяков

Виталий Чуяков

Технологический прагматик

Веб-разработчик с 20-летним стажем, основатель веб-студии TCSE. Специализация: DLE «под ключ», Webasyst, Parts-Soft.ru, технический аудит.

🧠 20 лет 🚀 120+ проектов 📄 45+ статей
[recovery mode] Сайт на Тильде или на Wordpress: что лучше выбрать?

На чем лучше делать сайт на Tilda или WordPress? Чаще всего заказчик не понимает разницу между конструктором Tilda и...

Подробнее
Deco.cx — «убийца» WordPress (пока только в мечтах основателей)

Самая популярная в мире CMS (система управления контентом) это WordPress. Почти половина (43%) веб-сайтов в мире...

Подробнее
Блог им. yuri25 / Белый каталог IT тематики

Создал белый каталог сайтов IT тематики mobfan.net. Рубрики и подразделы пока до конца не доработал, но уже кое что...

Подробнее
[recovery mode] Тестирование 15+ виртуальных хостингов для Wordpress или как не исчезнуть из индекса Яндекса

Шаг 0: С чего все началось? У меня есть сайт-визитка на Wordpress. И в один прекрасный день скорость ответа сервера по...

Подробнее
[Перевод] XSS уязвимость по-прежнему сохраняется для WordPress

В ходе регулярных проверок и исследований была обнаружена сохранность XSS уязвимости, которая затрагивает плагин...

Подробнее
[Из песочницы] Как я создал «визард» для WordPress от своей глубокой лени

Привет всем. Все мы любим автоматизацию процессов в нашей жизни. Я также не стал исключением. Ведь лень двигатель...

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms/

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями