Как переехать с WordPress на Cloudflare Pages

В сети Интернет можно найти много статей о том, как смигрировать с WordPress на Cloudflare Pages. Я тоже решил написать заметку на эту тему, на она будет содержать буквально пару ссылок на плагины, что я использовал.

Во-первых, надо внести ясность. Я говорю не об wordpress.com, платформе, которая позволяет вам вести свои блоги и не думать об администрировании сайта. Речь идёт о том, что у вас есть какая-то VPS/хостинг со всякими PHP, MySQL, где установлен wordpres.org. Вас все устраивает, но вы хотите хостить свой блог бесплатно, а не за условные $5. В этом случае можно переехать на Cloudflare Pages (есть и другие решения — например, GitHub Pages, но сегодня не о них).

Далее вам нужно решить, как вы будете обновлять свой блог. По сути, есть 2 концептуально разных варианта. Первый вариант более сложен в реализации, но предоставляет большую гибкость. Вы по прежнему будете иметь копию вашего старого WordPress, и запускать его для обновления контента. Это можно сделать несколькими путями — или воспользоваться одним из serverless решений, или реализовать обновление контента в GitHub Actions, или подымать вордпрес локально, в условном докере. После редактирования контента, вы будете генерировать его статический снапшоп, который уже будет публиковаться в Cloudflare Pages.

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

Я сегодня буду говорить про неудобный, второй вариант. Это как раз мой случай. У меня был статический сайт на wordpress, который не обновлялся за последний год, и мне нужно было сократить расходы на его сопровождение. Собственно, я перенес его на Cloudflare Pages, и теперь это стоит $0 вместо $5.

Плагины для переноса сайта

Я воспользовался 2 плагинами:

  1. Simply Static — плагин позволяет сгенерировать статический снапшот вашего сайта. Как бонус — можно поменять домен вашего сайта, если вы теперь решили использовать бесплатные домены от Cloudflare.
  2. Redirection — создание HTTP 301 редиректа со старого домена на новый прямо из WordPress консоли.

Весь процесс супер прост. Я сгенерировал статический сайт с помощью Simply Static, создал приватный репозиторий в Github, загрузил туда этот снапшот. В Cloudflare создал новый Pages, указал Github репозиторий, подождал 30 секунд и получил работающий сайт. После, в оригинальном сайте настроил редиректы на новый сайт с помощью Redirection плагина. Вишенка на торте — склеил новый и старый сайты в Yandex Webmaster и Google Search Console. Всё это заняло максимум 1 час времени с перерывами на обед и чай.

P.S. Вам нужно немного подумать, нет ли у вас завязок на старый домен в каких-то внешних системах. Это могут быть:

  • robots.txt
  • Яндекс Вебмастер, Гугл вебмастер, Яндекс метрика, Гугл аналитикс
  • Внешняя система комментариев, например, Disqus
  • Какие-то SDK, которые вы используете для каких-то интеграций, возможно, логов, метрик, тереметрии.

Все эти системы могут автоматически перестать работать при смене домена. Вам нужно не забыть везде обновить домен со старого на новый.

Категории: Веб-мастеринг