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 файлы, визульно на сайте всё еще могут сохраняться повреждения внешного вида. Тут уже ничего не поделать, либо искать этот файл самостоятельно, либо пнуть разработчика чтобы поправил и больше так не делал.
Можно попросить отыскать и поправить нехороший файл техническую поддержку. Это не их зона ответственности и не их обязанность, но шансы, что они возьмутся за это, ненулевые.