Прежде чем переводить сайт на https протокол, нужно иметь четкий план того, что делать и в какой последовательности. Такая тактика хорошо работает и в других случаях :).
Но до составления плана давайте задумаемся — зачем нам нужен защищенный протокол передачи данных.
Зачем подключать HTTPS?
Представители яндекс и гугл однозначно намекали на то, что поисковая машина с бóльшим доверием относятся к веб-ресурсам, работающим по защищенному протоколу. Т.е. это новый фактор ранжирования.
Данные, передаваемые пользователями через цепь серверов, шифруются. Таким образом, вероятность перехвата отправляемой пользователем информации уменьшается. Раз вебмастер заботится о пользователе, то ему полагается какая то плюшка… Звучит логично, все довольны.
План действий
Итак, с чего начать? Давайте рассмотрим последовательность действий.
Получение SSL сертификата
Хостинг провайдеры могут предлагать SSL сертификаты. Есть различные организации (центры сертификации), которые занимаются выпуском сертификатов. Это стоит не очень больших денег — можно найти годовой сертификат от 1500 рублей.
Кроме разного срока действия и отличия в цене, сертификаты могут быть нескольких видов:
- Сертификаты, которые подтверждают только доменное имя (Domain Validation — DV).
- Сертификаты, которые подтверждают домен и организацию (Organization Validation — OV).
- Сертификаты, с расширенной проверкой (Extendet Validation — EV).
О сертификатах и центрах сертификации можете почитать на хабре.
Получить DV сертификат самостоятельно, быстро и бесплатно — это реально. Процесс получения и установки описан вот тут.
Настройка сервера
Ваш сервер должен начать обрабатывать запросы приходящие через специальный порт (используется 443 порт, в отличии от 80 для http). Наличия дополнительно IP адреса не требуется (не знаю откуда происходит вообще этот миф).
Требуется соответствующая настройка вашего веб-сервера, подключения модулей (например, mod_ssl.so в apache на unix), возможно, настроек firewall. Ничего в этом не понимаете? — тогда лучше обратитесь к специалисту, пока не стало слишком поздно :).
Если вы воспользовались ссылкой на «описание процесса получения и установки» в прошлом пункте, то настройка сервера и получение SSL сертификата у вас будут совмещены в одно действие.
Редирект запросов с http на https
Ссылки с других сайтов пока ведут на ваш по обычному протоколу, их нужно перенаправить на https. Рассмотрим как это сделать.
Если ваш сервер — это аpache, то в корневой файл .htaccess, в начало, нужно добавить вот такие строки:
1 2 3 4 5 6 7 8 |
<IfModule mod_rewrite.c> # включить rewrite RewriteEngine On RewriteBase / # выполнить 301-й редирект на https RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L] </IfModule> |
Если запрос направлен не на 443 порт, то выполним перенаправление c 301 кодом на адрес с протоколом HTTPS.
Для WP, у которого как раз есть этот грешок с абсолютными ссылками, вы можете попробовать плагин Easy HTTPS (SSL) Redirection.
Так вы сохраните ссылочную массу и начнете намекать поисковым машинам, что страницы находятся по новому адресу.
Для nginx редирект нужно вставить в конфигурацию сервера:
1 2 3 |
location / { rewrite ^(.*)$ https://mysite.ru$1 permanent; } |
Указание протокола в robots.txt
Укажите, что основное зеркало вашего сайта доступно через https. Для этого явно пропишите в директиве host https (пример для моего сайта):
1 |
Host: https://shra.ru |
Это уже будет не намеком, а явным указанием поисковым машинам, как обращаться к вашему сайту. После переиндексации в выдаче станут появляться страницы с https в URL.
Добавление сайта с https в панелях вебмастера
В панели вебмастера Яндекс выполните «переезд» (индексирование -> переезд сайта -> поставить галку добавить HTTPS).
В Google придется добавить новый сайт.
Настройки сайта
Некоторые движки могут требовать специальных настроек. К примеру, для сайта на WordPress (как мой блог) нужно будет в настройках (настройки -> общие) изменить протокол :
Настройки карты сайты
Не забудьте к «новым» сайтам добавить новую XML карту сайта в панели вебмастера. Возможно, её нужно перестроить — это зависит от того, как устроен модуль (плагин), создающий карту сайта.
Правки контента, статей сайта
Если вы используете абсолютные адреса в ссылках на внутренние страницы, то придется вручную (или как то автоматизировав этот процесс), поправить ссылки на ваш сайт, меняя протокол (http на https).
Пока страница сайта содержит хоть одну ссылку c незащищенным протоколом, браузер будет сообщать, что страница содержит mixed content. Но если все ссылки — с https, то Opera покажет зеленый замочек рядом с адресной строкой.