Часть 1: Правильный переезд интернет-магазина на новую CMS

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

Часть 1: Правильный переезд интернет-магазина на новую CMS

Краткое отступление. Чтобы не повторить подобных ошибок (смены CMS-системы), рекомендуем внимательно изучить нашу статью от 2019 года про интернет-магазины на шаблоне. Там описаны основные проблемы каждого популярного движка сайта и взяты краткие интервью у программистов. Информация в статье актуальна по настоящее время (осень 2020 года), за исключением стоимости услуг программистов.

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

  • Часть 1 - Спектр работ до и после переезда на новый движок. Рассматриваем вопросы смены CMS сайта. Каких результатов удалось достигнуть.
  • Часть 2 - Планомерная работа с проектом по настоящее время. Что сделано и чего достигли.

Если после прочтения этой статьи у вас возникнут вопросы, то мы готовы развернуто ответить на них во второй части.

В кейсе присутствуют скриншоты из метрики. В целях конфиденциальности клиента и его интернет-магазина данные на графике частично скрыты (замазаны).

Краткая информация о проекте

  • Тип сайта: интернет-магазин.
  • CMS начальная: Joomla.
  • Ниша: мотосалон, продажа мототехники, лодок, снегоходов, товаров для активного туризма и отдыха.
  • Начало работ: декабрь 2018 года.
  • Суммарный трафик в месяц из обоих ПС от 10000 до 20000 визитов (рисунок 1).
  • CMS, на которую планируется переезд (смена): Bitrix.
Рисунок 1. Число визитов с распределением по месяцам из поисковых систем Яндекс и Google в диапазоне с 1 января 2018 года по 31 декабря 2018 года
Рисунок 1. Число визитов с распределением по месяцам из поисковых систем Яндекс и Google в диапазоне с 1 января 2018 года по 31 декабря 2018 года

Поставленные цели для переезда на новый движок

  • Сохранение позиций.
  • Целостность полезного контента.
  • Стабильность трафика.

Этап 1. Сбор семантического ядра

Переезд сайта был запланирован на февраль-март 2019 года (спустя два месяца после старта работ). Контент-менеджер, программист и дизайнер активно занимались доработками сайта на новом движке. Работы по SEO начались в декабре 2018 года. В запасе было несколько месяцев на сбор и проработку семантического ядра с целью дальнейшего построения структуры на новом сайте.

В данный этап также вошли работы по коммерческому анализу будущей товарной карточки. Отобраны сайты конкурентов и подготовлены рекомендации по улучшению функционала новой CMS, добавлению отсутствующих элементов в дизайн сайта.

Отчет по этапу 1

Трудозатраты:

  • Начало работ - декабрь (середина) 2018 года.
  • Завершение работ по этапу 1 - январь 2019 года.
  • Общее число отработанных часов по проекту: 29 часов.

Что сделано:

  • Собрано семантическое ядро.
  • Проведен коммерческий анализ.

Этап 2. Позиции, структура, приоритизация

На данном этапе мы начинаем ряд подготовительных работ для переезда сайта на новую CMS и смену его структуры. В нашем распоряжении уже находилось семантическое ядро численностью > 3000 ключевых слов по средней степени проработки категорий, без товарных карточек. Нами собраны позиции, разработана структура сайта и выполнена приоритизация проработки кластеров исходя из частотности кластера, его маржинальности и сезонности.

Работы, которые, с нашей точки зрения, были важны для последующего деликатного переезда сайта на новую CMS систему:

  • На старом движке осуществлен переезд с http на https. Это помогло нам в дальнейшем избежать множественных редиректов (после переезда). Обязательно дождались переиндексации сайта по новому протоколу.
  • Составлены ТЗ на контент под наполнение служебных страниц: доставка, оплата, контакты под новую CMS-систему.

Рекомендации по наполнению служебных страниц, например, “О компании” или “Контакты”, вы также можете найти в нашем блоге.

Второй этап продлился несколько месяцев: с февраля по март. Программист клиента не укладывался в срок. Работы по переносу движка сдвигаем до следующего этапа. Чтобы не терять время, договариваемся с клиентом об оптимизации страниц услуг по сервису и ремонту техники. Сайт позиционируется как интернет-магазин, оказывающий услуги сервисного обслуживания и ремонта всей реализуемой продукции. Результаты съема позиций приведены на рисунке 2.

Рисунок 2. Позиции по собранному семантическому ядру (3303 ключевых слова). Распределение видимости по ТОП-100, 50, 10, 5, 3
Рисунок 2. Позиции по собранному семантическому ядру (3303 ключевых слова). Распределение видимости по ТОП-100, 50, 10, 5, 3

Исходя из данных, представленных на рисунке 2, делаем следующие выводы:

  • Сайт относительно неплохо ранжируется в ТОП-100.
  • Плохая видимость в пределах ТОП-10.

Несмотря на низкие позиции, сайт на движке Joomla собирает относительно хороший трафик (рисунок 1) по товарным карточкам, статьям и ряду популярных категорий товаров.

Отчет по этапу 2

Трудозатраты:

  • Продолжаем работы с февраля 2019 года.
  • Завершаем в марте 2019 года.
  • Общее число отработанных часов по проекту: 94 (за два месяца).

Что сделано:

  • Сбор и кластеризация семантического ядра по разделу “Сервис”.
  • Подготовлено 7 ТЗ на контент по разделу сервиса.
  • Выстроены приоритеты проработки СЯ.
  • Сайт переведен на https.
  • Подготовлены ТЗ по наполнению служебных страниц. Именно этот пункт работы забрал большую часть времени по проекту на этапе 2.
  • Анализ ссылочного профиля конкурентов и построение плана работ по наращиванию ссылок, подготовка сводной таблицы на проработку.

На первом этапе мы проработали семантику и структуру сайта по его коммерческим категориям товаров, за исключением раздела “Сервис и ремонт”. На втором этапе собрано и кластеризовано семантическое ядро по указанному разделу с последующим переходом к составлению ТЗ на контент.

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

Около года после публикации переведенной асессорской инструкции от Google нам потребовалось на разработку чек-листов и шаблонных списков рекомендаций, которыми мы активно делимся со всеми специалистами и компаниями у нас в блоге или на тематических маркетинговых инфо-проектах.

Этап 3. Перенос метатегов и редиректы

Ранее мы выявили, что большую часть трафика на сайте приносят товары и ряд категорий. Основными задачами на ближайшие два месяца (апрель-май) являются:

  • Определить трафиковые посадочные товаров.
  • Определить трафиковые посадочные категорий.
  • Сопоставить метатеги между текущим и тестовым сайтом (новым движком). Выявить отличия. Внести исправления.

Важным условием на стадии переноса является наличие тестовой версии сайта (git), которую в дальнейшем планируется использовать после смены CMS-системы.

Алгоритм переноса метатегов

Как правило, метатеги импортируются со старого на новый сайт при использовании специальных модульных решений по импорту/экспорту. В нашем случае из-за изменения структуры сайта и “пряморукости” программиста на Joomla сделать это было невозможно. Перенос выполнялся в полуавтоматическом режиме по следующему алгоритму:

  • Выделяем трафиковые страницы через системы аналитики на старом движке. Выгружаем отдельную таблицу, в которой указан URL, количество трафика, отличное от нуля. Обратите внимание: на данном этапе мы выгружаем и выделяем только те посадочные страницы, которые имеют органический трафик. В большей степени это сделано из-за желания оставить на новом сайте (CMS) посадочные, которые признаны поисковыми системами полезными и, как следствие, ранжируются на хороших позициях. Кроме того, это также влияет на краулинговые бюджеты. Оставляя в индексе ранжирующиеся посадочные, вы позволяете распределить мощность поисковых роботов на сканирование и повысить индексацию новых страниц.
  • Сканируем боевой сайт полностью, используя любой из удобных краулеров. Для нас важны метатеги: Title, Description, H1, состав текстов. Выгружаем полученную таблицу.
  • Сканируем тестовый сайт на новом движке полностью. Здесь важно помнить, что тестовый сайт должен быть закрыт от пользователей и поисковых систем через авторизацию Apache. Выгружаем полученную таблицу.

На данном этапе мы имеем три таблицы:

  • Таблица 1. Трафик по посадочным (отчет из Google Analytics или Метрики).
  • Таблица 2. Результаты краулинга текущего сайта (старый движок), с которого планируется перенос метатегов и контента.
  • Таблица 3. Результаты краулинга сайта на новой CMS-системе.

Объединяем все таблицы в общую, примерный вид которой представлен на рисунке 3. Затем передаем таблицу контент-менеджеру для переноса метатегов на новый движок.

Рисунок 3. Примерный вид таблицы переноса метатегов
Рисунок 3. Примерный вид таблицы переноса метатегов
  • Контент-менеджер совместно с SEO-специалистом на протяжении месяца осуществляли перенос метатегов. По завершении переноса повторно сканируем тестовый сайт для проверки результатов работы.

Данный пункт рассмотрим подробнее с конкретным примером таблицы и формул Excel, так как для многих может быть непонятен сам процесс выявления отличающихся метатегов на старой и новой CMS системах сайта.

Рисунок 4. Данные о старом сайте, с которого переносим метатеги
Рисунок 4. Данные о старом сайте, с которого переносим метатеги

В столбцах с A до E (рисунок 4) указаны следующие данные:

  • URL старый сайт - url посадочной страницы на сайте, с которого осуществляется перенос метатегов.
  • Title - метатег Title на старом сайте.
  • Description - метатег Description на старом сайте.
  • H1 - Заголовок H1 на старом сайте.
  • Текст на странице - имеется в виду текст в области контента для повышения релевантности, если он присутствует. Более подробно о том, как парсить сайт подручными средствами, мы рассказываем в статье “Анализ коммерческих факторов ранжирования” или в нашем 60-минутном видео на YouTube.
Рисунок 5. Данные о новом сайте (после краулинга), на который осуществляется перенос контента и метатегов
Рисунок 5. Данные о новом сайте (после краулинга), на который осуществляется перенос контента и метатегов

В столбцах с F до J указаны данные, которые мы получили после повторного краулинга тестового сайта. Краулинг осуществлялся после переноса данных контент-менеджером.

Рисунок 6. Формулы поиска соответствующего метатега
Рисунок 6. Формулы поиска соответствующего метатега

В столбцах с K до N (рисунок 6) расположены формулы поиска соответствующего метатега в пределах одной строки и одной ячейки.

Формула выглядит следующим образом:

ЕСЛИОШИБКА(ЕСЛИ(ПОИСКПОЗ(B2;G2;0);"Совпадение";"Ошибка");"Ошибка")

Расшифровка логики формулы для тех, кто, возможно, не понимает, как она работает. Рассмотрим алгоритм справа налево:

  • ПОИСКПОЗ(B2;G2;0) - Обращается к ячейке B2, ищет значение в точном совпадении (0 из формулы) в ячейке G2;
  • ЕСЛИ(ПОИСКПОЗ(B2;G2;0);"Совпадение";"Ошибка") - В случае совпадения метатега Title в ячейке B2 с ячейкой G2 мы получаем вывод текста “Совпадение”;
  • ЕСЛИОШИБКА - Так как формула может отработать с ошибкой (не найдено значение), нам необходимо предусмотреть подобный вариант развития событий. В случае ошибки получаем значение “Ошибка”.

Итоговый вид работы формул в указанных ячейках для второй строки представлен на рисунке 6.

  • Подготавливаем карту редиректов на основании таблицы сопоставимости метатегов и систем аналитики. Для этого мы переносим URl-адреса старого и нового сайта на отдельный лист, затем обрезаем домен донор-редиректа и используем формулу сцепления.

Обратите внимание! На стадии переезда сайта и смены CMS-системы важнейшим условием является не только сохранить целостность метатегов, но и по возможности сохранить структуру сайта, вложенность категорий, товаров. В таких ситуациях помогает карта редиректов.

Для автоматической подготовки редиректов вы можете воспользоваться вторым листом из нашей таблицы, который называется “Редиректы” (рисунок 7).

Рисунок 7. Скриншот из таблицы редиректов
Рисунок 7. Скриншот из таблицы редиректов
  • В столбце A указываем URL-донор.
  • В столбце B указываем URL акцептора метатегов и контента.
  • В ячейку E1 заносим старый домен (сайт со старым движком). Обратите внимание: необходимо заносить домен с текущим протоколом и наличием или отсутствием www. В противном случае мы получим множественные редиректы.
  • В ячейку E2 заносим тестовый (новый) домен (новый движок).

Получившиеся редиректы (столбец С) отдаем программисту для внедрения в файл .htaccess.

Обратите внимание! Программист их должен занести в файл в порядке убывания длины строки начального URL, с которого осуществляется редирект (от большего к меньшему). В противном случае веб-сервер обработает редиректы из файла htaccess некорректно.

Рассмотрим более конкретный пример. В таблице 1 представлены ссылки, которые вы получили ранее в пункте 5 третьего этапа. Ссылки записаны хаотично, без соблюдения вложенности начального URl-адреса (старого).

Таблица 1. Ссылки.
Таблица 1. Ссылки.

Если мы оставим ссылки в таком виде и передадим их разработчику для внесения в файл htaccess, то сервер их обработает следующим образом:

site.ru/catalog_old/ будет иметь редирект на

site.ru/catalog_new/category_new_1/pr2/

Чтобы не повторить подобной ошибки, ссылки в столбце “Старый URL” необходимо расположить в порядке убывания вложенности или убывания длины строки.

Отчет по этапу 3

Трудозатраты:

  • Начинаем работы по переносу сайта со старого движка на новый с апреля 2019 г..
  • Завершаем работы по переносу в конце мая 2019 года.
  • Общее число отработанных часов по проекту: 108.

Что сделано:

  • Мониторинг ЧПУ у SEO-фильтра. Слетали несколько раз, приходилось подключаться разработчику для внесения правок.
  • Проверка корректности robots.txt на новом сайте в соответствии с новой структурой страниц, мусорными ссылками, о которых поисковым роботам знать не обязательно.
  • Проверка карты сайта (на новой CMS): наличие в ней всех url-адресов категорий, товаров, служебных страниц, страниц сервиса и ремонта.
  • Перенос счетчиков, пикселей, GTM и прочих систем аналитики.
  • Правка текстов. Интернет-магазин изменил адрес, выправляли все тексты, в которых было упоминание точки продаж и адреса.
  • Подготовка и публикация текстов под раздел сервиса и ремонта.

Третий этап закончился на шестом месяце. На текущем сайте (старом движке) не осуществлялось никаких внедрений. Логично предположить, что позиции и трафик могли принять тенденцию нисходящего тренда. Окончательный переезд после неоднократной проверки всего контента состоялся в конце мая.

Поисковый трафик постепенно падает в соответствии со скриншотом из метрики - рисунок 8.

Рисунок 8. Скриншот из Яндекс.Метрики за период Декабрь 2018 - Май 2019. Зеленый график - Яндекс, желтый - Google.
Рисунок 8. Скриншот из Яндекс.Метрики за период Декабрь 2018 - Май 2019. Зеленый график - Яндекс, желтый - Google.

Этап 4. Завершение работ по переносу. Чек-лист

Финальный этап заключается в контроле успешности переноса. Стараемся “держать руку на пульсе”.

Краткий чек-лист. Что в первую очередь необходимо сделать сразу после переноса:

  • Проверить коды ответа сервера для http/https и www/без www на новой CMS-системе. Код 200 ОК должен быть только у главного зеркала, остальные - 301. Например, главное зеркало сайта доступно по адресу: https://site.ru и имеет код ответа сервера 200 ОК. Прочие зеркала (http://site.ru, https://www.site.ru, http://www.site.ru) ссылаются редиректом на главное зеркало и имеют код ответа сервера 301.
  • Добавить новые карты сайтов в панели веб-мастеров Яндекс и Google. После их индексации обязательно удалить старые.
  • Просканировать сайт краулером и убедиться, что важные и трафиковые страницы из Этапа 3 имеют код ответа сервера 200 ОК. В ходе сканирования вы обязательно выявите дополнительный спектр работ в виде битых ссылок или наличия дублей в структуре сайта. Это нужно исправить.
  • Анализ логов сервера. Это трудоемкий процесс. SEO-специалист должен скоординироваться с программистом, чтобы на протяжении нескольких недель каждый из них был в курсе текущей ситуации по кодам ответа сервера для тех страниц, которые недоступны краулерам или системам аналитики.

Финальный переезд на новую CMS-систему состоялся 1 июля 2019 года рано утром в понедельник.

Трудозатраты:

  • Завершение работ по переносу с последующем контролем: июнь - июль 2019 года.
  • Общее число отработанных часов по проекту: 85.

Что сделано:

  • Контроль логов сервера.
  • Оперативные правки метатегов, контента для особо важных страниц, которые пропали из редиректов.
  • Анализ карт сайта, robots.txt.
  • Работа с семантикой на последующие этапы.
  • Анализ бэклинков и подготовка редиректов для них.

Выводы

План работ на 4 этапе позволил нам переехать с Joomla на Bitrix без потери трафика и позиций. После успешного переезда трафик из Яндекс и Google увеличился в несколько раз, о чем свидетельствует рисунок 9.

Рисунок 9. Скриншот из Яндекс.Метрики за период с декабря 2018 года по июль 2019 года
Рисунок 9. Скриншот из Яндекс.Метрики за период с декабря 2018 года по июль 2019 года

Мы работаем над проектом по настоящее время. Несмотря на “коронавирусный кризис”, нам удалось достигнуть наиболее впечатлительных результатов. Если вам интересно, какие работы проводились в дальнейшем, оценивайте статью и задавайте вопросы, которые требуют дополнительных уточнений.

Небольшой спойлер: рисунок 10 - текущая ситуация с трафиком по проекту. Спад трафика в августе соответствует сезонности интернет-магазина и разделу сервиса.

Рисунок 10. Динамика визитов с декабря 2018 года по настоящее время (сентябрь 2020 года).
Рисунок 10. Динамика визитов с декабря 2018 года по настоящее время (сентябрь 2020 года).

Мы надеемся, что приведенный список работ и алгоритм действий наиболее подробно прояснили вопрос о том, как поменять CMS-систему сайта, и многие специалисты смогут сделать предстоящий переезд без ошибок.

Автор: Дмитрий Федосеев (Ant-team.ru)

55
7 комментариев

Сколько по времени в среднем уйдет на составление карты редиректов на сайта с 10 000 товарами?

Ответить

Если ситуация стандартная, то около часа-двух максимум. 

1
Ответить

Вот про редиректы не понял. Никогда последовательности не выставлял - и нормально редиректило. Это какого сервера касается?

Ответить

апач. можно это воспринимать как рекомендацию

Ответить