BeWiki
Неофициальный справочный ресурс для клиентов хостера BeGet

Wordpress: смена домена и переезд на HTTPS

Перенёс сайт на wordpress на другой домен. После переноса сайт сломался, отображается только текст и картинки. Как чинить?

Как известно, Wordpress намертво привязывается к адресу сайта, который был указан при установке и хранит его в настройках, файловом кэше (если таковой настроен) и еще невесть где.

Чревато это тем, что при переносе сайта на другой домен перестают отображаться стили, картинки, перестают работать формы обратной связи, итд. В общем, сайт полностью ломается.

Более того, wordpress привязывается и к протоколу тоже. Т.е. если вы устанавливаете на свой сайт сертификат (даже бесплатный, без разницы) и настраиваете редирект на HTTPS не меняя настроек сайта, то сайт тоже сломается.

Неприятно, но чинится очень быстро и просто.

И так:

  • Нам нужно подключиться по SSH и выполнить команды перечисленные ниже
  • cd ~/SITEDIR/public_html #Переходим в директорию сайта.

Вместо SITEDIR - директория вашего сайта. Если вы забыли куда ставили сайт - можете посмотреть в разделе “Сайты”

  • wp option get home # Выводим текущий адрес сайта, хранящийся в настройках Wordpress - он понадобится нам в дальнейшем
  • wp option update home NEWURL # Обновляем адрес домашней странички.

Вместо NEWURL пишем новый адрес сайта. Полностью, с указанием протокола. Например, https://beget.com

  • wp option update siteurl NEWURL # Тоже самое для домена сайта
  • wp search-replace OLDURL NEWURL # Заменяем все упоминания старого адреса, во всех файлах и таблицах базы данных.

Старый адрес мы вывели на третьем шаге

Иногда (очень очень редко) нехорошие разработчики используют полный адрес сайта в CSS-файлах. Так как wp-cli не трогает css файлы, визульно на сайте всё еще могут сохраняться повреждения внешного вида. Тут уже ничего не поделать, либо искать этот файл самостоятельно, либо пнуть разработчика чтобы поправил и больше так не делал.

Можно попросить отыскать и поправить нехороший файл техническую поддержку. Это не их зона ответственности и не их обязанность, но шансы, что они возьмутся за это, ненулевые.