Как Searchengines.ru переехал на WordPress

Последнюю неделю я испытываю редкий драйв и удовольствие — неделю назад мы начали активно перестраивать Searchengines.ru и в этот понедельник запустили совершенно новую версию. На этом работа не закончилась, мы продолжаем пилить, осваиваться в новом окружении, наслаждаться удобными инструментами и, кажется, это удовольствие пока не планирует заканчиваться.

Но давайте я вам расскажу.

Я не буду вспоминать совсем старые истории, как Searchengines.ru работал вообще без движка, потом на чем-то древнем под названием phpweblog (уже и сайта от него не осталось), потом на очень мощном для своего времени Movable Type. 5 лет назад сайт переехал на 1с-Битрикс и мы, в принципе, гордились этим шагом — уникальный дизайн, много возможностей, конечно, их надо уметь реализовать, но это же мощно и здорово.

Давайте я сокращу рассказ. Я буквально сегодня объяснял наш запуск хорошим знакомым, одним из которых был Сергей Рыжиков, основатель Битрикса, поэтому могу воспользоваться отработанным текстом. К сожалению, Битрикс — это платформа для разработки. У нее масса возможностей, но для их реализации вам нужны разработчики. Причем разработчики должны хорошо знать платформу, которую мне сложно назвать очень открытой. Я совершенно не разработчик, но за более чем 15 лет научился читать код, разбираться, что делает конкретный кусок кода, и в нужные момент лезть руками в код и править, пока он не начнет делать, что мне надо. В случае с Битриксом я не справился совершенно — попытка понять, что делает тот или иной модуль, как правило, заканчивалась ничем.

При этом я уже несколько лет довольно хорошо знаком с WordPress. Не знаю, на самом ли деле 20% сайтов в мире работает на нем, как это утверждается, но, по мере освоения платформы становится ясно, что многообразие даже только готовых решений таково, что закрывает подавляющее большинство потребностей пользователей. Добавьте сюда готовые шаблоны, которые больше похожи на отдельные платформы, и вряд ли под силу небольшому коллективу разработчиков — в общем, я, к сожалению, очень медленно, но зрел в пользу решения мигрировать на WordPress.

Конечно, всё осложнялось очень специфической базой Битрикса. Но, когда стало понятно, что эту проблему надо решать, оказалось, что контент оттуда достать не очень сложно. Только надо принять, что переехать совершенно незаметно не получится. Свыкнувшись с этой мыслью, мы стали одновременно искать новый дизайн и придумывать, что мы будем переносить.

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

Но, друзья мои, какой же это кайф — несколькими кликами мышки добавлять новую функцию или вводить новую рубрику со своими правилами показа! Буквально сегодня утром мы спохватились, что забыли о трансляции в Яндекс.Новости — и оказалось, что к нашим услугами примерно 5 плагинов, готовящих правильный RSS-поток, и через минут 15 после обнаружения проблемы трансляция возобновилась. Позавчера мне показалось, что будет здорово сделать рубрику «Колонки экспертов» — и буквально за полчаса она появилась на сайте, а завтра в ней появится уже четвертый материал и они прекрасно читаются.

Что касается легкости, вот вам буквально один параметр. 5 дней. Ровно столько у нас ушло от начала разработки процесса миграции до запуска новой версии. Да, с готовыми решениями, да, релиз с недоделками. При этом в процессе участвовали два человека, которые как-то взаимодействуют с кодом и движком, и есть два редактора, которые работают с контентом.

В общем, ошибки-то еще остаются, мы знаем. Но еще мы знаем, что посетителям очень удобно и приятно. И ежедневно побиваемые рекорды по посещаемости тому доказательства.