Как переехать с HTTP на HTTPS сайту на Вордпрессе
Приветствую друзья. Сегодня мы поговорим о такой актуальной теме как переезд сайта на WordPress на безопасный https протокол.
Признаться этот сайт я сам только недавно перевел на https, сомневался и медлил до последнего) Но после письма счастья от Яндекса понял что тянуть дальше уже нельзя.
Коммерческие же сайты я уже несколько лет как создаю изначально на данном протоколе, а теперь и все новые информационники буду создавать именно на https, и всем остальным рекомендую.
Для начала давайте разберемся, зачем это нужно?
Почему это важно — перевести сайт на Https
Во первых, что весьма логично, из соображений безопасности. Https обеспечивает безопасную передачу данных между клиентом и сервером за счет шифрованного SSL протокола. Это очень важно для работы онлайн сервисов, интернет-магазинов, и любых других сайтов, взаимодействующих с клиентом.
Во вторых, наличие безопасного протокола с некоторых пор является фактором ранжирования, т.е. сайты на https будут иметь более высокие позиции, чем сайты на обычном соединении, при прочих равных условиях.
Изначально только Гугл заявил о том, что он будет учитывать данный фактор при ранжировании. Но вот и Яндекс решил за ним подтянуться) На днях пришло оповещение об ошибке из инструментов вебмастера Яндекса следующего содержания: Главное зеркало сайта не использует HTTPS-протокол
Как видите, поисковики всеми силами намекают вебмастерам, что пора ребята жить в настоящем, интернет-технологии развиваются, не отставайте.
Ну а теперь перейдем к инструкции по переезду.
Как перевести сайт на WordPress на Https
Я не буду тут писать о том, как получить сертификат SSL, данная процедура может отличаться на разных хостингах и зависеть от продавца сертификата.
Могу только посоветовать тем кто еще не занялся этой задачей — переезжайте на хостинг Beget. Здесь получить SSL можно всего в пару кликов в админке, при том абсолютно бесплатно!
В течении суток приходит уведомление на почту что теперь ваш сайт доступен по https протоколу. Не нужно ничего покупать, не нужно заморачиваться с прописыванием длинных ключей, настроек.
Если обычного виртуального хостинга для ваших задач недостаточно, то здесь вы можете арендовать виртуальный сервер VDS/VPS.
Однако то что сайт доступен, еще не значит что больше ничего делать не нужно)
Открыв свой сайт на https вы почти наверняка увидите на нем какие-то ошибки, поехавшую верстку, сбитые настройки и т.д. Не пугайтесь, это нормальное явление.
Вот что нужно делать для полноценного переезда на https сайта на Вордпрессе:
- Во первых зайти в админку вордпресса и поменять адрес сайта в Настройках — Общие
- Затем прописываем 301 редирект в серверных настройках в файле .htaccess, он должен лежать в корне сайта. На разных хостингах могут работать разные варианты таких редиректов, а некоторые не работать, пробуйте что подойдет именно вам.
Мне подошел следующий вариант на Бегете:RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]еще возможен такой вариант
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}или такой
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}еще вариант
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}Копировать и вставлять нужно в самый верх файла htaccess. После того как сохраните изменения — откройте сайт и проверьте работу редиректа. При открытии страницы по обычному url должна происходить мгновенная автоматическая переадресация на безопасное соединение.
- Далее самое интересное — нужно поменять старые урлы в нашей базе данных на новые с https. Внимание! Перед данной операцией настоятельно рекомендую сделать бэкап базы данных, как на хостинге, так и себе на винчестер скиньте. Выполняйте ее только если уверены в своих силах, в противном случае вы можете потерять данные своего сайта и он вообще перестанет работать.
Для тех кто не хочет ковыряться с базой данных можно это сделать с помощью плагина Easy HTTPS (SSL) Redirection, данный плагин позволяет включить автоматические редиректы сайта и всех ссылок с обычного соединения на https.
Я же предпочитаю делать все вручную, дабы не засорять сайт лишними плагинами — т.е. захожу в phpmyadmin, экспортирую все таблицы базы данных сайта (внизу чекбокс — отметить все).
Далее кнопка Экспорт, формат SQL и вперед. Затем делаем копию этого файла и отправляем ее куда-то в безопасную папочку) А вторую копию открываем в текстовом редакторе типа Notepad ++.Открываем Поиск (CTRL+F) переключаемся на вкладку Заменить. Вводим в первую строчку свой старый адрес с http а в строчку Заменить вводим новый адрес с https, вот так:
Жмем Заменить все и сохраняем файл. Далее открываем наш phpmyadmin с базой данных, выделяем опять все таблицы и… удаляем их) Это нужно для того что бы импортировать новую исправленную БД. После удаления заходим во вкладку Импорт, выбираем наш исправленный файл и жмем Вперед скрестив пальцы. Если все прошло удачно и не вылезло никаких ошибок, то поздравляю, самое сложное позади)Если база данных не хочет импортироваться то у вас проблемы) Это может быть или ограничение хостинга на размер загружаемых файлов БД например (можно увеличить попросив хостера), или ошибки при импорте (можно попробовать изменить настройки Импорта). Если совсем все плохо то возвращайте базу данных из предварительно сделанного бэкапа на хостинге. - После того как разобрались с базой данных, иногда может возникнуть необходимость проделать похожие операции с файлами шаблона, стилей. Возникает такая необходимость как правило, если вы вносили правки и эти файлы в свое время и использовали там ссылки со старыми url с http протоколом.
Просто открываем эти файлы и исправляем на новый адрес. - Теперь перейдем к файлу robots.txt, он хранится в корне сайта (если вы его когда-то создавали вообще). Открываем его и редактируем директивы host и sitemap (если они там у вас были прописаны). Так это будет выглядеть в готовом виде:
Разумеется адрес сайта должен быть ваш. Сохраняем обновленный файл роботса на сервере. - Далее нужно обрадовать Яндекс тем, что вы наконец то решили переехать на https. Открываем инструменты вебмастера, вкладку Индексирование — Переезд сайта. Ставим чекбокс Добавить HTTPS и жмем Сохранить
Остается подождать 1-2 недели, когда этот самый переезд произойдет. Но это еще не все. В том же Яндекс Вебмастер добавьте новый сайт (по сути ваш же) с https урлом. Внесите все необходимые настройки — добавьте Sitemap, выберите региональность (или ее отсутствие). Теперь именно этот сайт в Яндекс Вебмастере будет вашим основным. Спустя пару недель в него переедут данные из старого урла, в выдаче постепенно адреса тоже заменятся. - Для Гугла все еще проще — создаем новый сайт в настройках вебмастера Гугла, опять же с адресом https. Все. Больше делать ничего не нужно, теперь это ваш основной сайт в инструментах.
Поздравляю, на этом перенос сайта на https закончен! Внимательно изучите работу сайта после переезда, походите по разным страницам, понажимайте кнопочки, особое внимание уделите функционалу, проверьте его работу.
Обратите внимание на значок в строке браузера — соединение должно быть безопасным.
Если там написано что соединение не безопасное, значит на странице скорей всего присутствуют небезопасные ссылки, найдите их и поменяйте на безопасные.
Проще всего найти такие ошибки можно инструментом Просмотреть код (CTRL+SHIFT+I) на данной странице, вкладка Security, там вы увидите все ошибки безопасности на данной странице:
Почти наверняка у вас поначалу что-то собьется, будет не работать. Такого почти не бывает, что бы после перехода не было никаких проблем на сайте, ниже опишу распространенные проблемы и варианты их решения.
Проблемы возникающие при переезде WordPress на безопасное https соединение
- Могут слететь настройки некоторых плагинов, виджетов.
Решение: настроить по новой) Тут уж ничего не поделать. - Могут слететь настройки шаблона.
Решение: опять же, прописать настройки заново. Особых проблем возникнуть не должно. - Может поехать верстка.
Решение: скорей всего вы вносили правки в файлах стилей, вроде style.css и прописывали в нем абсолютные пути. Поменяйте url в файлах стилей на относительные или пропишите новые урлы с https. Тоже самое касается и всех правок файлов шаблона — если вы вставляли в них ссылки, то нужно будет поменять урлы ссылок на безопасный протокол. - Может возникнуть циклическая переадресация. Это когда происходит бесконечное перенаправление страницы, возникает обычно в результате неправильных настроек редиректа.
Решение: попробуйте использовать другие способы 301 редиректа на https в .htaccess. Иногда ошибка может возникнуть если на вашем хостинге есть настройка перевода сайта на https, и вы дополнительно еще и в админке вордпресса поменяли адрес в настройках. - Перестали работать видео с ютуба, грузиться фреймы. Это возникает из-за того, что iframe подгружается с небезопасного соединения http.
Решение: если есть возможность и сайт, откуда грузится фрейм, поддерживает https, то достаточно будет просто изменить url на безопасный. Если же такой возможности нет, то либо придется удалять данный фрейм, либо придется потанцевать с бубном. Подробнее о способах можно почитать тут - Может упасть сайт и отказываться работать. Скорей всего вы где-то наделали ошибок, вариантов может быть множество.
Решение: если сами не можете отыскать причину проблемы — обратитесь в службу поддержки вашего хостинга, они должны помочь.
На этом все, надеюсь данная статья поможет с переездом вашего Вордпресс сайта на https, удачи!
Комментариев: 2
Добрый день. Как результаты по трафику после переезда. От Яндекса тоже получил письмо такое, но не могу никак найти реально веской причины менять протокол для информационного сайта, где никаких конфиденциальных данных нет. Много раз встречал в сети статьи, что трафик после смены на https упал и даже после восстановления ниже максимальных значений, которые были раньше.
Приветствую Дмитрий. Пока особых изменений в трафике не вижу, незначительная просадка есть, но это скорее связано с выходными днями, чем с переездом. Страницы совсем недавно в поиске начали появляться обновленные, так что буду наблюдать ближайшее время.
Но по опыту переезда на других сайтах могу сказать что я не замечал там какого-то жесткого падения. Если где трафик и проседал, то совсем ненадолго и быстро восстанавливался потом. А спустя время даже рост пошел