+7(812) 942 - 66 - 64          942 - 46 - 84

нужные программы
наши сотрудники

Вызов мастера






Бесплатная консультация





Акции

Последние статьи

❄❄❄Сервисные Центры Computest поздравляют с наступающим новым…

далее→

Изготовление ключей для домофонов в Приморском районе. Новая услуга!

далее→

Данный рейтинг основан на количестве пользователей по…

далее→

Разработанная инструкция усилиями ИТ специалистов компании «Компутест»…

далее→

В этой статье ИТ специалисты компании «Компутест»…

далее→

Политика ужесточения и повышенного контроля над соблюдением…

далее→
Способы оплаты

Мы работаем с физическими и юридическими лицами, а также с госучреждениями.

Переход на https

Переход сайта на HTTPS.

Для перехода сайта с HTTP на HTTPS нам потребуется несколько этапов.

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

Let’s Encrypt

Первое, что необходимо сделать – приобрести SSL сертификат (платный или бесплатный) и подключить его к домену. Это можно сделать самостоятельно в панели управления хостингом (ISPmanager, CPanel, VestaCP) или обратиться за помощью в техподдержку. Некоторые хостеры предлагают подключить бесплатный SSL с автоматическим продлением в один клик.

Но сегодня я не стану затрагивать вопросы, связанные с выбором и установкой SSL сертификата – это отдельная тема. Сейчас у меня подключены сертификаты Let’s Encrypt. До этого использовал StartSSL, но после шумихи с бесплатными SSL-сертификатами StartCom и WoSign последовала закономерная блокировка этих удостоверяющих центров в популярных браузерах.

2. Внесение изменений в robots.txt

Давайте перейдем к файлу robots.txt и изменим директиву Host, указывающую на главное зеркало:

1
Host: https://computest.ru

Если директива Host не использовалась раньше, тогда добавьте ее в любом месте, т.к. она является межсекционной. Согласно справке Яндекса, если сайт работает по защищенному каналу связи, то обязательно указывать протокол.

3. Переезд сайта с http на https в сервисе Яндекс Вебмастер

Теперь необходимо зайти в Яндекс Вебмастер и в разделе Индексирование перейти на страницу Переезд сайта. Отметьте флажком Добавить HTTPS и сохраните изменения.

https-sait-computest

Появится информационное сообщение о том, что Яндекс не гарантирует сохранение количества страниц сайта в поиске, его позиций или посещаемости в случае изменения главного зеркала:

Заявка от 10.08.2017 на переезд сайта с домена computest.ru на https://computest.ru обрабатывается (это может занять некоторое время).
Также стоит добавить новый сайт с HTTPS протоколом, после склейки они будут объединены в группу зеркал.

4. Замена внутренних ссылок на HTTPS, решение проблемы

Дальнейшее действие подразумевает замену всех абсолютных путей к стилям, скриптам, изображениям, а также замену всех внутренних ссылок по протоколу HTTP на относительные или простую замену протокола Я предпочел сменить протокол путей и ссылок на HTTPS и ниже поделюсь с Вами как это можно быстро сделать с помощью SQL-запросов к базе данных.

При сохранении записи в таблицу wp_posts в поле guid записывается глобальный уникальный идентификатор (Globally Unique Identifier). Давайте изменим это поле для смены протокола, выполнив следующий запрос к БД через phpMyAdmin:

UPDATE wp_posts SET guid = REPLACE(guid, 'http://computest.ru','https://computest.ru');

Произведем замену протокола всех ссылок в контенте, то есть выполним запрос к полю post_content в таблице wp_posts нашей базы данных:

UPDATE wp_posts SET post_content = REPLACE(post_content, ‘http://computest.ru’, ‘https://computest.ru’);

Не забываем про замену протокола ссылок и в комментариях. Для этого внесем изменения в поле comment_content таблицы wp_comments следующим образом:
UPDATE wp_comments SET comment_content = REPLACE(comment_content, ‘http://computest.ru’, ‘https://computest.ru’);

На что следует обратить внимание при выполнении этих SQL-запросов:

  • обязательно замените адрес сайта на свой,
  • измените префикс таблиц, если он отличается от стандартного wp_.

SQL-запросами мы внесли львиную долю изменений, но есть места, где все же придется заменить поработать вручную — это могут быть файлы темы и виджеты, где используются внутренние ссылки с HTTP протоколом. Также стоит обратить внимание на загрузку внешних стилей, скриптов, фреймов и картинок — все они должны загружаться по HTTPS, иначе они не будут загружены, а в консоли появятся ошибки смешанного содержимого (Mixed Content).

5. Ожидание склейки зеркал в Яндексе

Ждем письма от Яндекс Вебмастера (или уведомления, если не настроена рассылка) о смене главного зеркала. До тех пор, пока это уведомление не поступит, ни в коем случае нельзя ставить редирект! В противном случае все страницы сайта будут исключены из индекса поисковой системы Яндекс, склейка займет значительно больше времени из-за отсутствия доступа к robots.txt для HTTP версии сайта.

ssl-https-wordpress

Но есть исключение из этого правила. Допустимо использовать редирект только в том случае, если исключить из общего правила файл robots.txt. Этого можно добиться, используя в .htaccess:

1
2
3
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/robots.txt
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Все наши сайты переводили на безопасный протокол только дождавшись склейки через Host.

6. Настройка 301 редиректа с HTTP на HTTPS

Теперь, когда процесс склейки зеркал в Яндексе завершен, можно приступать к завершающему этапу. Заходим в консоль WordPress, в разделе Настройки — Общие меняем в полях Адрес WordPress и Адрес сайта протокол нашего сайта на HTTPS.

301-й-редирект

Открываем phpMyAdmin и выполняем следующий SQL-запрос к базе данных, с помощью которого делаем замену полей с опциями home и siteurl в таблице wp_options:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://computest.ru', 'https://computest.ru')
 WHERE option_name = 'home' OR option_name = 'siteurl';

В файле .htaccess ставим постоянный редирект с HTTP на HTTPS:

1
2
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

7. Настраиваем заголовок HTTP Strict Transport Security

Последний штрих — устанавливаем форсированное защищенное соединение через протокол HTTPS с помощью механизма HSTS (HTTP Strict Transport Security). Браузер будет принудительно загружать сайт по защищенному протоколу, для чего в .htaccess нужно добавить строку:

1
Header always set Strict-Transport-Security "max-age=31536000; 
includeSubDomains; preload"

Подведение итогов

Подводя итог проделанной работе, ниже я подготовил сводную таблицу по своим сайтам. Ориентируясь на эти сведения можно сделать некоторые выводы о сроках склейки зеркал, переносе показателя тИЦ.

 

Несколько ссылкок, где можно проверить результаты своих и чужих трудов:

1. SPDY Check

2. SSL Labs — проверка качества защиты вашего сервера.