← На главную

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

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

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


Говорят, древнеримскому императору Веспасиану приписывают фразу «Деньги не пахнут» — когда его сын Тит упрекнул отца в введении налога на общественные туалеты. Император дал понюхать монету сыну и спросил: «Пахнет?» Тот ответил: «Нет».
Две тысячи лет спустя ничего не изменилось. Я вспоминаю эту историю каждый раз, когда берусь за проект в нише, которая у некоторых вызывает моральный зуд. В данном случае это каталог вебкам-студий. Тема специфическая, для кого-то спорная, но при этом очень даже популярная в узких кругах и, как выяснилось, технически взыскательная.
Но с точки зрения разработчика это просто еще один каталог с карточками, фильтрами и формой обратной связи. Заказчик хотел миграцию с WordPress на DLE и защиту от спама. Я это сделал. А пахнут деньги или нет — решать не мне.

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


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

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

Почему 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) ждут от сайта четкой, предсказуемой структуры.
Вот как выглядит типовая карточка и почему она нравится роботам:

Титульный блок:

Блок преимуществ:

Блок "Частые вопросы":

Блок отзывов:

Яндекс.Карты:

Форма обратной связи:

Блок "Другие студии города":

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

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


Каталог требует удобной навигации. В проекте мы использовали комбинированный подход:

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

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


Проект построен по классической модели каталога:


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


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

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



И да, деньги действительно не пахнут. Особенно когда они капают от рабочего сайта, который приносит пользу заказчику и не глючит.
Используемые технологии: PHP (DLE), MySQL, jаvascript (ES5/ES6), Ajax, JSON, HTML/CSS.

P.S.


Этот проект — хорошая иллюстрация того, что в веб-разработке, как и в Древнем Риме, важны не предрассудки, а результат. Заказчик получил работающий инструмент, пользователи — удобный каталог, а я — очередное подтверждение, что DLE еще поживет.
[xfgiven_xml2tpl_price]
💰 Цена: [xfvalue_xml2tpl_price] руб.
[/xfgiven_xml2tpl_price] [xfnotgiven_xml2tpl_price]
💰 Цена не указана
[/xfnotgiven_xml2tpl_price] [xfgiven_xml2tpl_vendor]
🏭 Производитель: [xfvalue_xml2tpl_vendor]
[/xfgiven_xml2tpl_vendor] [xfgiven_xml2tpl_vendorcode]
📦 Код товара: [xfvalue_xml2tpl_vendorcode]
[/xfgiven_xml2tpl_vendorcode]
Отладка:
ID новости: 2387
Скин: minimal
Путь к шаблону: /home/u495743/tcse-cms.com/www/templates/tcseby/amppage/skins/minimal/
Длина контента: 18074 символов (было: 19071)
Настройки: Video=1, Audio=1, Images=1, Scripts=1