Переход Wordpress на HTTPS
Переход Wordpress на HTTPS

WordPress, переход на https, оно нам надо?

С развитием всемирной паутины, особенно коммерческого её сегмента возник вопрос надёжности передачи данных конфиденциального характера. Немалую роль в этом сыграл и технический прогресс. Всё больше людей получают доступ к web страницам посредством как стационарных устройств (персональные компьютеры, игровые приставки, умные телевизоры) так и с мобильных гаджетов. Вся эта армия устройств так или иначе (в зависимости от настроек конфиденциальности) отправляет данные о пользователе во всемирную сеть. В связи с этим поисковые гиганты начали отдавать приоритет именно сайтам с поддержкой HTTPS. Именно на них идет основная доля трафика. В статье пойдет речь о том, как технически реализовать на CMS WordPress переход на https.

Немаловажную роль в этом играет и то, что все основные браузеры начали помечать сайты, которые собирают конфиденциальную информацию как неблагонадежные, если последние не используют HTTPS — протокол, тем самым снижая конверсию. И со временем эта тенденция только будет увеличиваться. Сайты созданные с помощью WordPress, не исключение, если вы используйте авторизацию для форумов, добавления комментариев, это уже является сбором информации, соответственно не используя HTTPS вы уменьшаете свою потенциальную аудиторию пользователей.

Что же это за «зверь» такой?

Протокол HTTP (Hypertext Transfer Protocol) на момент своего создания не обладал возможностью обеспечивать приемлемый уровень шифрования в связи с чем было разработано его расширение — HTTPS (Hypertext Transfer Protocol Secure), которое работает поверх протокола SSL (Secure Sockets Layer).

Если вкратце, то перед началом передачи конфиденциальной информации создается зашифрованный канал, а уже затем передаются непосредственно данные.

Теперь подробно остановимся на технической части миграции WordPress на HTTPS.

Для перехода Яндекс рекомендует следующие действия:

Шаг 1. Получите и установите на сервер SSL-сертификат

Шаг 2. Измените внутренние ссылки на сайте

Шаг 3. Проверьте, доступен ли сайт по HTTPS

Шаг 4. Установите редирект или укажите канонические адреса



Эти 4 шага представлены Яндексом для сайтов на любых CMS, мы же рассмотрим применительно к WordPress.

Шаг 1. Получение и установка SSL-сертификата.

Установка SSL-Сертификата для WordPress ни чем не отличается от установки для любого сайта и достаточно проста. Все действие сводится к включению опции в админ панели вашего хостинга. Большинство хостингов сейчас предоставляют ssl сертификаты бесплатно. Поэтому его нужно просто включить.

Рассмотрим на примере хостинга от sprinthost.ru. Заходим в админ панель хостинга. Ищем ссылку «управление сайтами», далее выбираем из списка нужный сайт и щелкаем на включение сертификата, в моем случает сертификат называется «Let’s Encrypt Wildcard». Во всплывающем окне подтверждаем включение. Все. этого достаточно для установки.

Шаг 2. Изменение внутренних ссылок WordPress

Поисковики воcпринимают сайты c HTTP и HTTPS, как разные сайты. Для правильного перехода нужно изменить все внутренние ссылки с относительных на абсолютные. Например ссылку вида http://yrokiwp.ru/ нужно заменить на ссылку вида : //yrokiwp.ru/ . Это нужно сделать в php файлах темы вордпреса, в его базе данных и в последнюю очередь в настройках админ панели вордпреса. Обо всем по порядку.

Изменение ссылок в php файлах темы WordPress.

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

!!Перед началом, нужно обязательно сделать резервную копию файлов вашего сайта!!

Заходим в админ панель вашего хостинга и ищем обозреватель файлов. Далее переходим в папку с используемой темой WordPress. В моем случае путь к папке выглядит так: yrokiwp.ru/public_html/wp-content/themes/twentyten/.



Нажимаем на поиск, выбираем тип поиска «по содержимому» и значение для поиска «http://».

По результатам поиска у вас будет список всех файлов в которых нужно будет изменить ссылки.

Открываем каждый файл из списка и меняем найденные ссылки ( http://ваш_сайт/… ) на относительные ( //ваш_сайт/…). После заходим на главную страницу и убеждаемся, что сайт еще работает.. 🙂 Далее нужно изменить ссылки в базе данных.

Если на вашем хостинге нет файлового менеджера, тогда можно скопировать файлы сайта к себе на компьютер и сделать поиск по содержимому с помощью totalCommander-а. Получив список файлов с искомыми ссылками поправить их и загрузить только правленные файлы обратно на сайт. Делать это нужно предельно аккуратно, чтобы не нарушить структуру папок WordPress.

Изменение ссылок в базе данных WordPress.

На давно работающем сайте обычно много статей и пунктов меню в которых присутствует огромное количество абсолютных ссылок. Все их нужно изменить на относительные. Можно это делать в ручную, но это очень долгий, кропотливый и неблагодарный труд. Останавливаться на этом не будем. Благо все давно придумано и есть замечательный плагин Better Search Replace. Он делает поиск в нашей базе данных по ключевому слову и заменяет его на нужное нам.

Для этого нужно:

  1. Установить и активировать плагин Better Search Replace. Установка плагинов описана в статье — Как установить WordPress плагин.
  2. Заходим согласно рисунку ниже в настройки плагина ( инструменты-> Better Search Replace). В поле «искать» вставляем абсолютную ссылку, а в поле «заменить на» пишем относительную. В списке выбор таблиц, выбираем все таблицы кроме wp_options (в ней хранятся настройки wordpress, если изменить, сайт может быть не доступен).
Wordpress переход на https
WordPress переход на https


Жмём «запустить поиск/замену«, убрав галочку «холостой запуск«. После выполнения замены плагин для наглядности выдаст количество произведенных замен.

3. Заходим в настройки->общие, меняем ссылки в указанных на рисунке ниже строчках на ссылки с https (https://ваш_сайт), жмём сохранить. Возможно потребуется заново авторизоваться на сайте. Но заходить в админ панель нужно будет по адресу вида https://ваш_сайт/wp-admin.

4. Далее выполняем действия описанные в п.2. только в списке таблиц выбираем одну таблицу wp_options и так же делаем поиск и замену.

На этом шаге трудоемкие действия по переводу wordpress на https закончены, осталось проверить доступность сайта по защищенному протоколу и установить редирект.

Шаг 3. Проверяем доступен ли сайт wordpress по HTTPS

После того как изменили ссылки на сайте нужно убедиться в правильной доступности сайта. Правильность заключается в установлении полностью защищённого соединения о чем свидетельствует замочек в адресной строке браузера. Для этого переходим на сайт по адресу: https://ваш_сайт/. После загрузки всех элементов смотрим в каком виде наш значок. Если замочек разомкнут, значит не все элементы на странице передаются в защищённом виде. Нужно снова искать ссылки с http, где-то вы их пропустили. Чтобы облегчить поиск, на странице вашего сайта сделайте правый клик, выберите «просмотр исходного кода html страницы». Далее выполните поиск по запросу «http://», результат покажет в каких местах ещё используется старый протокол. Ищем это место в php файлах и изменяем на абсолютную ссылку. Либо проводим повторной поиск по базе, плагином bettersearchreplace.

Как только все ссылки будут относительными браузер покажет замочек замкнутым, некоторые браузеры отображают его зелёным. Поздравляю, ваш сайт доступен и полностью передает данные в защищённом режиме. Осталось настроить редирект с http версии сайта на https.

Шаг 4. Устанавливаем редирект wordpress на https.

Перед установкой редиректа ваш сайт будет доступен по обоим протоколам и согласно рекомендациям яндекса нужно добавить в Яндекс Вебмастер версию с https для того чтобы переход происходил с минимальными потерями в посещаемости. После того как Яндекс определит сайт с https как зеркало вашего http сайта, можно будет устанавливать редирект. Как правило это происходит от 2-х до 10-и дней.

Следующим шагом необходимо установить редирект (перенаправление) с http версии сайта на https. Лучше всего и проще обратиться в тех. поддержку хостинга, как правило они не отказывают в этом. Если тех поддержка не помогает, тогда в корневой папке вашего сайта имеется файл-.htaccess, в нем после строки RewriteEngine On  нужно вставить следующий код:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Файл сохранить. Проверить доступность сайта и убедиться что при переходе на сайт по адресу http://ваш_сайт/ происходит перенаправление на адрес: https://ваш_сайт/. Если это так, значит перенаправление работает и настраивать больше ни чего не надо. Если сайт не доступен, убираем строки переадресации из файла .htaccess. И настоятельно просим тех. поддержку хостинга помочь в организации редиректа. 🙂

После перехода на https. Подведем итог

Если вы не хотите терять аудиторию и оказаться на “задворках” поисковых систем, то приведенные выше примеры помогут вам не отставать от современных тенденций в области создания сайтов.

Для уменьшения времени и количества ошибок при миграции WordPress на HTTPS, мы готовы взять на себя техническую сторону дела, дабы вы не отвлекались от творческой составляющей проекта.

Добавь свой комментарий

Your email address will not be published.


*