Findugo: многоязычная редакционная платформа, построенная с нуля

3 мин чтения

Findugo — это моя многоязычная редакционная платформа на WordPress: я перестроил её с нуля — от блога на одном языке до собственной темы, своего поиска и трёхъязычной платформы. Самая наглядная демонстрация того, как я работаю. В 2026 году я перестроил его с нуля — из одноязычного сайта на WordPress.com в self-hosted платформу на трёх языках, с кастомной темой, собственным поиском и корректным affiliate-слоем. Поскольку каждая часть здесь сделана мной, этот кейс — самая наглядная демонстрация того, как я работаю.

Задача

Исходный Findugo был небольшим русскоязычным блогом на WordPress.com Premium и упёрся в потолок по всем направлениям. Платформа не давала кастомную тему, собственный PHP и тонкий контроль SEO. Охват ограничивал один язык в конкурентном и дорогом по ключам сегменте. Монетизация росла стихийно, без инфраструктуры: партнёрские ссылки добавлялись вручную — без sponsored-атрибутов, страниц disclosure и отслеживания. А стандартная тема не отражала редакционный характер контента.

Мой подход

Я принял одно стратегическое решение: полная миграция на self-hosted WordPress, где всё построено вручную. Работу разбил на пять фаз примерно за восемь недель.

  1. Фундамент миграции. Переход с WordPress.com на self-hosted WordPress на Hostinger, сохранён домен findugo.com, перенаправлен DNS и сохранён весь существующий контент и изображения.
  2. Дизайн-система «Noir Editorial». Тёмная тема с нуля — почти чёрный фон, единственный золотой акцент, сочетание serif/sans, mobile-first и полностью адаптивная. Рукописный CSS, без конструкторов страниц и без фреймворков.
  3. Три языка на Polylang. Русский по умолчанию, английский на /en/, украинский на /uk/, автоматический hreflang и слой перевода на фильтрах (PHP-массивы вместо .mo-файлов — для надёжности). Модель сознательно избирательная: русский мастер, больше десятка материалов уже переведено на английский и украинский, а все новые статьи выходят сразу на трёх языках — вместо того чтобы массово переводить контент, который был бы неинтересен этим аудиториям.
  4. Полноценный слой монетизации. Кастомный тип записи «партнёр», хелпер и шорткод для партнёрских ссылок, а также автоматический фильтр, гарантирующий правильные атрибуты sponsored/nofollow на каждом партнёрском домене — плюс корректные страницы disclosure, адаптированные под каждый язык.
  5. SEO, аналитика и поиск. Rank Math для meta, schema и карт сайта; GA4 и Search Console для измерений; и собственный поиск — живой выпадающий список в шапке, сгруппированная страница результатов и инструмент «найти на странице» — на собственном REST-эндпоинте, потому что стандартный API не фильтрует по языку.

Результаты

Итог — полностью независимая production-платформа: Lighthouse 92+ по производительности и 100 по доступности и лучшим практикам, библиотека из 80+ оригинальных статей и работающий трёхъязычный издательский процесс. Affiliate-слой покрывает 27+ партнёрских доменов с catch-all на будущее, а весь сайт работает на собственном домене, DNS и базе данных — с нулём критических инцидентов безопасности за всё время проекта. Для потенциального заказчика это сквозное доказательство: разработка кастомной темы, настройка многоязычности, производительность, SEO-инфраструктура, affiliate-compliance, фронтенд-JavaScript без фреймворков и собственный REST API.

Что сделал бы иначе

Три честных урока. Я бы держал проект под Git с первого дня — сборка через файловый менеджер с ручными бэкапами стоила мне времени на восстановление, которого можно было избежать. Я бы спланировал статическое кэширование раньше, а не прикручивал его уже после запуска. И я бы полностью отказался от .mo-файлов перевода: парсер WordPress был ненадёжным в моём случае, поэтому я перешёл на inline-подход на фильтрах — именно с него и начну следующий многоязычный проект.

Стек

WordPress · PHP 8.3 · MySQL · Hostinger (LiteSpeed) · Polylang · Rank Math · кастомный CSS (~4700 строк) · vanilla JS · собственный REST API · GA4