Создание сайта для автора блога о путешествиях по России и Кавказу: статьи, маршруты, обсуждения читателей и авторские туры теперь в одном месте. Содержимое хранится в headless CMS Strapi, страницы собираются заранее и открываются быстро. Над сайтом работал Евгений Росляков: сайты — его занятие с 2016 года. Платить ему можно как самозанятому, по договору, а юрлицам он отдаёт закрывающие документы. Знакомство и встречи — в Москве, остальная работа — удалённо.
Автор ведёт блог больше десяти лет и продаёт собственные туры. За это время хозяйство разрослось до четырёх сервисов. Старый блог со статьями и фотографиями остался на TypePad, и там сотни записей. Читатели обсуждали маршруты в сообществе на Ning. Сайт-визитку собирали в MotoCMS. Лендинг с турами жил на Wix.
За каждый сервис платили отдельно. Ссылки вели в разные места: читатель, пришедший из поиска на статью, не видел тура, а покупатель тура не видел статей, которые убеждают в поездке. Поиск по статьям работал плохо, и за старым материалом про перевал автор сам листал архив.
Нужно было свести всё в один сайт, который автор ведёт сам, без программиста. И не потерять накопленное: статьи, фотографии, лучшие обсуждения и главное — поисковый трафик на старые адреса.
Основу сделал на Strapi. Это headless CMS: она хранит содержимое и отдаёт его сайту, а как оно выглядит, решает отдельный фронтенд. Для блога о путешествиях схема удобна тем, что один маршрут можно показать и в статье, и на странице тура, и в списке региона.
В Strapi завёл типы содержимого: статья, маршрут, тур, регион. Они связаны между собой. У статьи есть регион и маршрут, у маршрута — связанные туры. Читатель на странице перевала видит, куда съездить и что купить. Есть медиабиблиотека: автор загружает снимки и подписывает их.
Статьи из TypePad переехали так. Блог отдаёт экспорт записей в текстовом файле, но сами фотографии в него не входят, на них только ссылки. Поэтому скрипт разобрал записи на заголовки, текст и даты, скачал картинки по ссылкам и загрузил всё в Strapi. Разметку внутри статей там, где скрипт не справился, почистил вручную.
Обсуждения из Ning разбирал вместе с автором. Сервис выгружает архив сообщества, из него автор отметил лучшие ветки, и я перенёс их как комментарии к соответствующим маршрутам. Совет человека, который в этих горах уже бывал, остался на странице и не пропал вместе с сервисом.
Страницы визитки из MotoCMS и туры с Wix переписал в новые шаблоны. Дизайн, который нравился автору, сохранил, но собрал заново, чтобы всё выглядело как один сайт.
Фронтенд статический: страницы собираются заранее и отдаются готовыми файлами. Когда автор публикует материал в Strapi, сайт пересобирается сам, по вебхуку. Открывается быстро, в том числе у читателя в горах на слабом интернете.
Все четыре сервиса были подключены к доменам автора, поэтому 301-редиректы со старых адресов поставил на своей стороне. Это постоянная переадресация: по ней поисковые системы понимают, что страница переехала, и переносят вес на новый адрес.
Автор пишет в Strapi из браузера, как в обычном редакторе.
Автор ведёт один сайт вместо четырёх. Пишет статью, привязывает её к региону и маршруту, и тур, связанный с этим маршрутом, сам встаёт под текстом. Читателю не надо искать, где купить поездку: предложение рядом с рассказом.
Поиск по статьям находит материалы по региону, маршруту и словам из текста. Архив, по которому раньше приходилось листать страницы, стал рабочей базой для читателей, и автор сам к нему возвращается, когда собирает новый маршрут.
Платить за четыре сервиса больше не нужно, остаются хостинг и небольшие расходы на панель управления. Ссылки из старых публикаций и поисковой выдачи работают: читатель попадает на переехавшую статью, а не на страницу с ошибкой.
Есть ограничения. Часть обсуждений из Ning я не переносил: ветки без содержания и старые ответы на давно устаревшие вопросы остались в архиве сервиса. Комментарии, которые читатели добавляют уже на новом сайте, автор пока модерирует вручную, встроенной защиты от спама нет. Позиции в поиске после переезда выправляются не сразу: поисковикам нужно время, чтобы заметить переадресацию.
Следующим шагом автор хочет подключить защиту комментариев от спама и подписку на новые маршруты по региону.
Если ваши материалы разбросаны по нескольким сервисам, а нужен один сайт, которым вы будете управлять сами, пришлите мне через freelance.ru список мест, где они лежат, и примерное число статей. Отвечу, как организовал бы перенос.