Как сайту на WordPress перейти с HTTP на HTTPS
В предыдущих статьях мы уже касались вопросов по переходу сайта на безопасный протокол HTTPS. В этой статье мы рассмотрели общие моменты по установке сертификата SSL и протокола HTTPS на сайт, а в этой статье более детально рассмотрели SEO-шные моменты перехода на безопасный протокол.
Продолжим освещение данной темы и в сегодняшней статье поговорим детальнее об установке HTTPS для сайтов на одном из самых популярных движков – WordPress.
Рекомендуем вам сначала ознакомиться с вышеуказанными статьями, а потом уже переходить к прочтению данной статьи, — это позволит вам лучше понять суть вопроса.
Итак, приступим!
Вы уже прочли две предыдущие статьи и у вас уже установлены сертификаты SSL на сервере. Напомним, что практически все крупные хостинги не только продают такие сертификаты, но и помогают с их установкой на сервер. Если ваш сайт работает под управлением CMS ВордПресс и вы не знаете, что делать дальше – значит, эта статья для вас.
Основные этапы включения HTTPS`а для ВордПресс-сайта:
- Изменение настроек в Консоли
- Обновление ссылок в базе данных
- Проверка установки https
Внимание: делайте бекап файлов сайта и базы данных перед любыми изменениями
Изменение настроек в Консоли
После установки сертификата на сервер, в первую очередь изменяем настройки (Адрес WordPress (URL) и Адрес сайта (URL)) в Консоли по адресу «Настройки» — «Общие». Здесь мы изменяем начало адреса ссылки с http
на https
. Затем нажмите «Сохранить изменения» внизу страницы настроек.
Тут важно действовать осмотрительно. Если вы обновляете эти настройки, а на самом сервере еще не установлены сертификаты SSL, вы рискуете заблокировать себе доступ к Консоли из-за многократного цикла переадресаций.
Если все сделано правильно и в нужной последовательности, можете обновить главную страницу своего сайта, но уже с использованием https://
в начале ссылки. Обратите внимание, что адресная строка изменилась: начало ссылки подсвечивается зеленым («безопасным») цветом, а браузер помечает сайт как «Надежный»
Но, как вы можете заметить, ссылки на посты и страницы сайта по-прежнему содержат старый HTTP адрес. Это происходит потому, что WordPress хранит постоянные ссылки на страницы и картинки (т.е. полные ссылки контента включая и протокол) в базе данных. Чтобы весь сайт перевести на HTTPS (без предупреждений о смешанном контенте), вам необходимо обновить ссылки на все ресурсы сайта.
Обновление ссылок в базе данных
Если на вашем сайте немного постов и страниц, вы можете обновить адреса ссылок путем простого редактирования существующих страниц через Консоль. Для больших сайтов и блогов такая процедура не подходит – намного проще будет изменить все ссылки через интерфейс работы с базами данных MySQL (например, phpMyAdmin). В этом случае изменить все ссылки на сайте можно будет с помощью нескольких SQL-запросов.
Рассмотрим эту процедуру с использованием phpMyAdmin.
Откройте phpMyAdmin, а затем откройте нужную базу данных (которую использует текущая установка ВордПресс). Потом откройте вкладку SQL, здесь введите нужные SQL-запросы.
Примеры SQL-запросов для обновления ссылок в таблицах wp_posts
(ссылки, которые используются в постах и страницах сайта) и wp_postmeta
(ссылки, которые могут быть использованы в мета-данных).
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://VASH-DOMEN', 'https://VASH-DOMEN'); UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN');
Внимание: замените VASH-DOMEN
в запросах на свой фактический домен. Кроме того, если у вас свой префикс таблиц WordPress (не дефолтный wp_
), замените префикс wp_
на свой.
Пояснение SQL-запросов:
UPDATE
– этот оператор обновляет столбцы в соответствии с их новыми значениями в строках нужной таблицыwp_posts
– название таблицы в базе данных (учитывайте префикс)wp_postmeta
– название таблицы в базе данных (учитывайте префикс)SET
– в этом выражении указывается список полей таблицы, которые будут обновлены и непосредственно сами новые значения полейpost_content
– поле (столбец) таблицы wp_postsmeta_value
– поле (столбец) таблицы wp_postmetaREPLACE()
– функция, которая заменяет некие данные. Синтаксис функции в примере:REPLACE({поле таблицы, где нужно что-то заменить}, '{точное вхождение, которое следует заменить}', '{точное вхождение, которым нужно заменить старые данные}')
Введите данные SQL-запросы и нажмите ОК. Это заменит все старые ссылки новыми в нужных таблицах базы данных.
Учтите, что ссылки вашего сайта могут храниться и в других таблицах/полях базы данных, тогда вам нужно будет изменить записи SQL-запросов.
Не забудьте также:
- обновите ссылки в виджетах (если таковые используются) в Консоли Внешний вид — Виджеты
- перепроверьте статические ссылки, которые могут использоваться в файлах-шаблонах активной темы по адресу
/wp-content/themes/{Активная тема}/
- выполните все рекомендации из статьи SEO-шные моменты переезда с http на https
Проверка установки https
Чтобы убедиться, что ваш сайт полностью настроен на HTTPS, мы рекомендуем протестировать ваш сайт с помощью онлайн-инструментов (например, SSL Labs или SSL Checker).
Кроме того, если вы используете браузер Chrome, откройте сайт и перейдите в режим инструмента разработчика (нажмите клавишу F12
) во вкладку Security – там не должно быть никаких предупреждений и ошибок. Проверьте таким способом основные виды страниц на своем сайте.
Рекомендуем также ознакомиться:
- Как перейти с HTTP на HTTPS – простая инструкция установки SSL
- SEO-шные моменты переезда с http на https