Как перевести сайт на протокол https
SSL (англ. secure sockets layer) – это протокол, обеспечивающий безопасную связь. Например, при подключении к сайту банка или интернет магазина, все транзакции шифруются (это ваши логин, пароль, имя, данные кредитной карточки и т.д.). И их никто не может расшифровать без ключа, который только у владельца сертификата.
Для того, чтобы SSL протокол заработал на вашем ресурсе, на сервере должен быть установлен SSL-сертификат, который в свою очередь можно купить или получить бесплатно.
HTTPS (англ. HyperText Transfer Protocol Secure) – это расширение широко используемого и всем известного протокола HTTP, которое поддерживает шифрование. В результате пользователь использует защищенное соединение при совершении финансовых операций и передачи личных данных.
Например, пользователь вводит логин и пароль, а сервер получает их в зашифрованном виде и с помощью своего приватного ключа расшифровывает их.
Буква «S» — расшифровывается как Secured (защищенный). В строке браузера появляется зеленый замок или строка.
Из каких шагов происходит подключение https к сайту? Заказ, переадресация https:// на https://, внутренние замены ссылок и внешняя оптимизация.
Подготовительные работы, которые нужно будет произвести с сайтом до полного перехода на протокол https.
Это важный этап, над которым нужно тщательно поработать. В зависимости от размера и сложности сайта на это потребуется наибольшое количество времени. И только после подготовки приступить к покупке и установке сертификата.
Первое, меняем абсолютные урл на относительные вне зависимости от протокола.
Во-первых, все содержимое сайта (в том числе, картинки, скрипты и иные файлы) должно подгружаться по https. Иначе зеленого значка не будет.
Для этого, перед переходом исправьте, где нужно абсолютные ссылки вида https://www.master-live.ru/contact.html на относительные вида: /contact.html вне зависимости от домена.
Вне зависимости от протокола ссылки заменяются так:
Абсолютная ссылка https://www.master-live.ru/contact.html на относительную //www.master-live.ru/contact.html
Второе, проверяем и меняем ссылки для медиа контента.
Если картинки подгружаются со сторонних сервисов (CDN или другие), то они должны быть с протоколом https.
Такие сайты, как ютуб, вконтакте, фейсбук и другие, встраивающие контент на ваш сайт, используют защищенное соединение и с ними никаких проблем нет.
Третье, исправляем урл подключения внешних скриптов.
Подгружаемые скрипты, которые имеют в адресе простой http, нужно перевести на относительный адрес. Например:
Примечание. Софт для поиска урлов с оставшимися http — SEO Spider или Xenu.
Для WordPress есть плагин HTTP / HTTPS Remover: SSL Mixed Content Fix, который заменит ручную работу переписывания протокола для урл.
Настройки в админке для сайта на вордпресс:
Как видите, подготовительной работы перед переносом может быть много и занять длительное время. Поэтому, сначала подготовьте сайт. Отсюда и стоимость переноса для разных проектов будет отличаться.
1 шаг. Заказ сертификата SSL
Примечание. RapidSSL, QuickSSL Premium, True BusinessID работают с www и без. При заказе сертификата следует указывать домен с www.
Регистрируемся на сайте центра сертификации.
Выбираем и заказываем сертификат для информационных блогов, визиток и других аналогичных) типа Domain Validation — DV.
Генерируем CSR-запрос на сертификат. CSR (Certificate Signing Request) — это запрос на получение сертификата, это текстовый файл, содержащий в закодированном виде информацию об администраторе домена и открытый ключ. Чаще CSR генерируется в процессе заказа SSL-сертификата.
Файл ключа, который у вас получится при генерации CSR-запроса, нужно обязательно сохранить, он вам еще понадобится.
Следующий шаг – оплата.
Затем нужно подождать пока его выпустят (моментально или через несколько дней) и скачать.
После этого можно его установить на сайт. Описание всех шагов и подсказки вас будет сопровождать на каждом этапе.
Большинство популярных хостеров предоставляют панель управления сайтами с этой возможностью. Вы можете обратиться в поддержку или нанять специалиста. Убедитесь, что SSL протокол поддерживается. Если нет, то меняйте хостинг. (Сертификат не привязан к хостеру или айпи, а просто устанавливается там, где будет сайт.)
Примеры установки и настройки бесплатного сертификата Lets Encrypt для разных хостингов.
Пошаговая инструкция бесплатного перевода сайта на хостинге TimeWeb с помощью некоммерческого центра сертификации Lets Encrypt
Справка: Let’s Encrypt — центр сертификации работает с 2015 года. Процесс выдачи сертификатов автоматизирован, выпускаются на 90 дней, регулярные обновления происходят автоматически, но не забывайте контролировать. Подходит для любительских сайтов, также можно применять для сайтов-визиток, которые не собирают и не хранят пользовательские данные.
1 шаг — заказ сертификата у хостера.
2 шаг — настройки в админке таймвеб.
3 шаг — настройка файла .htaccess
- В админ-панели хостинга таймвеб выберите бесплатную услугу по переводу домена на https-протокол с помощью сервиса Lets Encrypt. Меню: раздел «SSL-сертификаты» — «Заказать (Купить и установить новый сертификат)», выбрать тип «SSL Lets Encrypt». Из списка выбирайте нужный домен, для которого устанавливаете сертификат, отмечаете галочкой «Я согласен» и «Оформить заказ». Хостер пришлет письмо на E-mail о том, что сертификат выпущен и установлен. В панели через несколько минут тоже обновился статус с заказанного на установленный. После этого вам нужно будет настроить и активировать услугу в админке хостера (см. следующий п. 2).
- Для настройки переадресации вашего сайта на защищенное соединение «https» нужно перейти в меню «Сайты» и выбрать нужный сайт из списка, затем для внесения изменений жмете на шестеренку (это настройка сайта). Для активации выбираете «Использовать Безопасное Соединение //» с помощью переключателя. Затем «Сохранить».
Проверяем здесь: https://www.sslshopper.com или https://www.digicert.com/help/ и видим все данные сертификата, и что он подключен.
Через некоторое время (не сразу) все браузеры покажут зеленый замочек и описание. Нажмите на него и убедитесь, что у вас теперь безопасное подключение и сертификат действительный. Если замочек будет еще серый, то выполняем третий шаг.
Заходим в админку в вордпресс в меню «Настройки» — «Общие» и проверяем две формы «Адрес сайта» и «Адрес сайта WordPress«. Меняем в них протокол на https.
Если вы сделали переадресацию через админ панель хостинга, то ничего менять не нужно. Иначе получится циклическая переадресация.
3. Редактируем файл .htaccess.
В низу файла добавьте строчку: SetEnvIf X-HTTPS 1 HTTPS
Сразу скажу, что на таймвеб мне это не понадобилось, т.к. через минут 5-10 во всех браузерах сайт итак получил зеленый замок и стал отображаться корректно после активации в панели хостера нового протокола.
Также переадресация с http на https произошла автоматически без дополнительных записей с моей стороны. Что проверяем сразу, чтобы наш ресурс был доступен только по новому протоколу.
На заметку: через год обнаружилось, что переадресация 301 не работает. Помогла эта запись в начало файла .htaccess:
4. Редактируем wp-config.php — определяем администратора сайта в новом SSL сертификате
Мое примечание: не увидела никакой разницы с этой строкой и без нее. Поэтому совет оставляю, может кому пригодится, но сама не воспользовалась.
5. Mixed Content — Смешанный контент при небольшом количестве веб-страниц легко проверить в хроме. Ниже я об этом написала в пункте «2 шаг. Что нужно проверить после перехода на защищенное соединение». Также используя плагин HTTP/HTTPS Remover: SSL Mixed Content Fix можно преобразовать ссылки за секунды автоматом. На поиск проблемных ссылок вручную у меня ушло полчаса.
Кстати, в этом же плагине предлагается добавить две строки в файл wp-config.php перед фразой (Далее не редактировать.):
После проведения всех работ пройдет немало времени, возможно около месяца, когда в браузере пользователь увидит одобрение Google в виде слова «Надежный» и видимый для всех протокол HTPPS.
Как получить и установить Let’s Encrypt сертификат на хостинг NIC.RU быстро и бесплатно
Сегодня многие хостеры предлагают быстрое подключение SSL сертификатов одним нажатием мыши, в том числе и бесплатного Let’s Encrypt и автоматическое его продление. Но такой раскрученный хостер, как NIC.RU даже не планирует ввести такую услугу для вебмастеров и представил дорогие варианты. Во всяком случае, так пишут на своем форуме. NIC.RU предлагает акцию по приобретению бесплатного сертификата, если вы покупаете у них, например, продление хостинга. Но из отзывов узнаю, что этот подарок только на один год, далее он превратится в платный.
Вебмастер в такой ситуации может либо сменить NIC.RU на более лояльного хостера или самостоятельно получить Let’s Encrypt. Затем обновлять сертификат каждые 3 месяца.
Мы рассмотрим пошагово второй вариант.
1 шаг. Приобретение сертификата Let’s Encrypt
Заказать его выпуск на сайте https://www.sslforfree.com/, который предлагает б есплатные сертификаты SSL & Free Wildcard SSL сертификаты в считанные минуты
- Вводим адрес сайта и жмем create certificate
- Затем нужно подтвердить права, выбираем manual Verification
- Жмем на зеленую кнопку и нам будет предложено скачать 2 файла (на алиаcы с www и без www) и даны подробные инструкции в какую папку на сервере их положить.
- В корне сайта создаем 2 папки: .well-known/acme-challenge/, куда закачиваем полученные тестовые файлы.
- Затем жмем «Download SSL Certificate»
- На следующем этапе будет предложено скачать архив с сертификатами или скопировать данные для установки (Certificate, Private Key, CA Bundle — (Contains Root And Intermediate Certificates — перевод: Содержит корневые и промежуточные сертификаты), а также следующие пояснения:
Срок действия SSL-сертификатов истекает через 90 дней, поэтому обязательно сгенерируйте свой SSL-сертификат раньше, иначе ваш веб-сайт может перестать работать. Все проверочные папки, файлы или записи TXT также можно удалить, если вы хотите, поскольку они используются только один раз для целей проверки.
- Также для того, чтобы получить уведомление об истечении срока действия и управлять всеми своими сертификатами в одном месте, создайте учетную запись. Вы будете уведомлены за 1 неделю до истечения срока действия сертификата.
Выпуск сертификата Let’s Encrypt состоялся
2 шаг. Установка на хостинг RU-Center
-
Войдите в панель управления ttps://www.nic.ru/hcp2/sites/ и выберите сайт.
Во вкладке «безопасность» включите переключатель «Защищенное HTTPS-соединение».
Система предложит установить сертификат. Загружайте скачанные файлы сертификата: в окно сертификат — файл certificate, в окно приватный ключ — файл с буквами key на конце. Жмем «установить». Если все прошло успешно, то получим уведомление об успешности установки.
3 шаг. Далее настраиваем сервер и сайт по изученной инструкции выше.
- После проверки сайта на доступность по двум протоколам http и https, мы видим, что автоматической переадресации нет и сайт на nic доступен по обоим протоколам. Следовательно, настраиваем переадресацию с http на https.
- В начало файла .htaccess добавьте строки для редиректа:
Еще эти строки, но у меня и без них все заработало:
SetEnvIf X-HTTPS 1 HTTPS
SetEnvIf X-HTTPS 1 HTTPS=1
- После этого дополнительно в вордпресс (Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress) поменяйте в обеих формах адрес сайта на новый с протоколом https.
- Внимание: если вы выбрали переадресацию http на https в панели хостинга, то менять адреса в «Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress» НЕ НУЖНО. Иначе будет циклическая переадресация и сайт станет недоступным. Не волнуйтесь, это легко исправляется.
- Если в браузере видите предупреждение о том, что подключению к сайту защищено не полностью, то значит вы не все ссылки преобразовали и есть смешанный контент с разными протоколами. Для вордпресс я ставлю плагин HTTP / HTTPS Remover: SSL Mixed Content Fix, который преобразует абсолютные ссылки с протоколом http на относительные без указания протокола сразу после активации.
- Для битрикс читайте документацию CMS.
- Для Joomla в разделе «Общие настройки → Сервер → Включить SSL».
- Для Drupal настройте переадресацию в .htaccess и отредактируйте ссылки.
- Для Opencart в разделе «Сервер → Безопасность» и включите «Использовать SSL», затем добавьте ключ шифрования конфиденциальной информации при обработке заказа.
- Для MODX в разделе «Системные настройки → Система и сервер» в типе сервера поменяйте протокол на HTTPS.
- Далее редактируем robots.txt, меняя протокол HTTPS в sitemap.
- И все внешние сервисы: вебмастер яндекса и google, аналитика, социальные сети. Выше я писала подробную инструкцию по внесению изменений.
Самый быстрый и простой переход на https оказался на хостинге fastvps.ru для сайтов, работающих на Drupal!
]]>
]]>
Особо отмечу, что кроме высокого качества хостинга, здесь супер классная поддержка. Отвечают в любое время суток, я в одно время обращалась только по ночам и никаких проблем с ответами. Ни разу не отправили к создателям cms, куда частенько любят посылать некоторые другие хостеры. Всегда решают положительно все поставленные задачи.
И подключение сертификата порадовало минимализмом — всего 2 быстрых шага и 2 ваших по сео!
Инструкция подключения сертификатов на Fastvps.ru
1 шаг.
Подключаем бесплатный сертификат от Let’s Encrypt по инструкции хостера.
Идем в карточку нужного сайта, затем в разделе « Сертификаты» выбираем из предложенного списка «Let’s Encrypt» и «Сохранить». Все!
Обновление сертификатов Let’s Encrypt будет производиться автоматически.
2 шаг.
Идем в настройки сайта в панели хостера и включаем переадресацию с http на https.
Также включаю http2 – должно ускорить работу сайта.
Шаг 3.
Если не появился зеленый или серый замочек в поисковой строке браузера, то нажимайте на значок рядом с адресом и читайте «сведения о сайте». Будет предупреждение, что ресурс защищен не полностью. Обычно это означает, что на странице смешанный контент, т.е. есть урл с незащищенным протоколом http.
Это могут быть внешние ссылки на счетчики и иные веб-ресурсы.
1) Зайдите в хроме на веб-страницу и справа в браузере нажмите на значок из трех точек «Настройка и управление Google Chrome».
2) Затем выбирайте «Дополнительные инструменты» — «Инструменты разработчика»
3) Выберите вкладку «Security» и в ней увидите информацию по наличию смешанного контента.
После исправления протокола в ссылках, вы увидите, что проблемы смешанного контента больше нет.
Таким образом, при небольшом размере сайта, можно все проверить через хром. Если же у вас опубликовано много материала, то используйте программы SEO Spider или Xenu для поиска ссылок с http.
Шаг 4.
Выполняем все шаги, связанные с Seo.
В яндексе это вкладка «переезд» на https, а в гугл добавляем этот же сайт, но с новым протоколом.
Решение проблем в друпал:
Если возникли проблемы при отображении сайта, то это значит, что не подключились стили и другие файлы.
В друпал исправляется легко. Достаточно внести изменения в файл settings.php:
раскомментируйте строку $base_url и измените протокол:
$base_url = ‘https://имя_вашего_домена’;
Бывает, что разные сайты на друпал и ведут себя по-разному. С одним все на лету получается, и картинки все корректно отображаются с новым протоколом, и страницы. А с контентным ресурсом столкнулась с большим количеством ссылок в статьях (которые когда-то вставилялись в текст вручную) и картинок с http (которые втавлялись через редактор), что помечается как небезопасный смешанный контент.
В итоге, нашла свеженький модуль Search and Replace Scanner, который имеет два поля: поиск и замена.
На оф. сайте https://www.drupal.org/project/scanner
Настройки находятся на странице «конфигурации», найдете в списке. А поиск/замена будет доступна во вкладке «Содержимое», там появится новая вкладка «Search and Replace Scanner».
В первое для поиска вбиваете http, а во второе на что будем менять — https. Настройки оставляем дефолтные. Модуль нашел все ноды с непереведенными ссылками и благополучно заменил в них протокол.
К сожалению, картинки, вставленные ранее через редактор остались в неизменном виде. При этом, во всех настройках стоят относительные ссылки. Массовой замены изображениям сделать не получилось. Остается только точечно заходить в каждую ноду и добавлять в редакторе в урл буковку s.
Если кому-то приходилось сталкиваться с этой проблемой, то с удовольствием воспользуюсь вашим решением! Только напишите!
2 шаг. Что нужно проверить после перехода на защищенное соединение
После установки SSL сертификата убедитесь, что сайт доступен по обоим адресам. Если это не так, то ищите причину. Должен работать и по http, и по https.
Это были работы, связанные с сервером.
Дополнительно проверить на наличие смешанного контента на каждой странице можно в браузере Google Chrome.
- Для этого открываем страницу в хроме и правой кнопкой мыши выбираем «Просмотр кода».
- Справа или внизу будет открыто окно инструментов.
- Нам понадобится вкладка «Security», где можно посмотреть подключенные сертификаты и сообщение о наличии Mixed Content.
Также произвести настройки на сайте:
- отредактировать файл роботс, изменив в урле сайтемапа протокол.
- проверить настройки плагинов.
Что нужно обязательно настроить:
Настройка директивы Host в файле robots.txt
Для яндекса требуется указать главное зеркало, т.к. для него это два разных веб-ресурса. И чтобы оставить в индексе нужный, и прописывается хост в роботсе с указанием нужного протокола.
Нужно настроить редирект 301 с http страниц на https.
В настоящее время можно сразу перенаправить страницы. Раньше нужно было подождать, пока яндекс произведет переклейку и определит главное зеркало. И только после этого прописывать 301 редирект для Google.
Многим серверам подойдет такой код:
RewriteCond %
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Или обращайтесь в поддержку хостинга.
Затем проверьте правильность работы по всем пунктам: доступность, редирект, ссылки, картинки и т.д.
Проверить корректности работы веб-сайта на сервисе www.ssllabs.com/ssltest
3 шаг. Оптимизация переезда: Seo действия для того, чтобы не потерять наработанные позиции в поисковых системах.
Оповещение поисковиков о смене протокола.
- В панелях вебмастера яндекса и ]]>Google Search Console ]]>добавьте новый сайт https и подтвердите его. У вас получится два сайта.
- В яндексе есть вкладка » ]]>Переезд ]]> «, где нужно поставить галочку «Добавить HTTPS». Инструкции от яндекса: https://yandex.ru/support/webmaster/yandex-indexing/https-migration.html
- Для Google вы уже сделали 301 редирект, больше ничего не нужно.
В яндекс панели для вебмастера у сайта с HTTP нужно указать главное зеркало HTTPS.
Идем: «Настройка индексирования» — «Главное зеркало» — «Установить протокол HTTPS».
- Все настройки, которые вы делали для старой версии сайта, повторите и для новой. (Это настройки регионов — геотаргетинг, карта сайта Sitemap.xml, ссылки Disawov Tool для Google.)
- Также внесите изменения в Google Analytics и в другие сервисы аналитики и статистики.
- Не забудьте про социальные профили.
На этом все, ждем переиндексации.
Определимся какого типа существую SSL-сертификаты и где их приобрести. А также какой подойдет вашему конкретному ресурсу.
По происхождению различаются два вида:
- Самоподписанные (Self-Signed) вы можете выпустить и подписать сами. Имеют низкую степень доверия. Браузер будет выдавать предупреждение о том, что не удалось проверить подлинность и то, что с этого сайту лучше уйти. Подходит только для внутренних целей, но не для публичных.
- Доверительные (Trusted) – выдаются специальными центрами.
Типы с различием уровня проверки:
- Простые – проверяется на соответствие домен (Domain Validation — DV). Заявитель должен иметь право на указанное доменное имя. Почту указывать только в домене или ту, что прописана в whois. Выпуск происходит моментально, но возможно попадание под ручную проверку случайным образом. В этом случае придется подождать. Подойдет для физических и юридических лиц. Хорошо использовать на простых сайтах, визитках, развлекательных и т. д. Цена самая низкая.
- Проверяется организация и домен (Organization Validation — OV). В этом сертификате будет указана организация (ряд соответствий по организации, вашему адресу, городу и пр.) Он не для физических лиц. Выпуск продлится от 3 до 10 дней.
- Расширенная проверка. (Extendet Validation — EV). Это самый дорогой вариант. Проверяется все, что в первых пунктах и дополнительно правовая деятельность субъекта, соответствие фирмы и официальных документов. Подходит для бизнеса, в том числе государственных и некоммерческих организаций. Выпуск от 10 до 14 дней.
Приятная плюшка – это зеленый бар – в адресной строке вы увидите зеленые замочек и надпись о подлинности и безопасности веб-ресурса.
У комодо:
У яндекса:
Виды по цене:
- самоподписные бесплатные,
- платные.
Каждый сертификат имеет дату окончания. Если его в срок не продлить, то сайт может выпасть из индекса. Поисковики считают сайт на http и https разными ресурсами, при этом они оказываются дубликатами.
1. Самый простой и бесплатный – это самоподписной. Его подключить просто. В популярной панели хостинга (Cpanel, ISPmanager и др.) все встроено по умолчанию. Поэтому на этом останавливаться не будем.
Все бы хорошо, но браузер будет выдавать сообщение, что сертификат сайта не является доверенным. Как понимаете, это будет отпугивать пользователя и плохо влиять на поведенческий фактор. Продающим ресурсам он тем более не подходит.
2. Платные сертификаты отличаются от free SSL тем, что все подаваемые данные проверяются сертификационным центром. А значит, ваш посетитель никогда не увидит предупреждения об острожном переходе на веб-страницу.
Реализацией занимаются центры сертификации. Самые популярные – это , , , , . Есть еще много других.
Покупать в крупных центрах невыгодно из-за высокой цены. Лучше приобретать у партнеров, которые скупают их оптом и имеют возможность продать намного дешевле. Это аналогично выбору домена. У партнеров вы приобретаете за 140 рублей, а у крупного регистратора его же за 600 руб. Плюс и продлевать каждый год будете по этим же ценам.
Отличие от количества поддерживаемых доменов и других параметров.
- Цены для обычных сертификатов SSL для всех типов сайтов от 20 у.е в год;
- Цены на SGC сертификаты с повышенным уровнем шифрования от 300 у.е. в год. Подходят для старых компьютеров.
- Wildcard сертификаты, которые поддерживают шифрование и под-доменов стоят от 180 у.е. в год. Его выгодно ставить при большом количестве под-доменов. Иначе дешевле отдельно.
- SAN сертификаты на несколько доменов (количество кратно 5) – 395 у.е. в год.
- EV сертификаты – с плюшкой зеленого бара в адресной строке стоят от 250 у.е. в год.
Где найти самые дешевые сертификаты
Советов в интернете много, поэтому о каждом нужно почитать отзывы, о плюсах и минусах.
Вот несколько центров с низкими ценами: Geotrust (выгодно брать SAN для разных доменов), RapidSSL (с проверкой только домена и wildcard), Geotrust (EV – с зеленой строкой в браузере), Thawte (SGC для устаревшей техники).
Comodo – недорого при покупке на несколько лет.
StartSSL – бесплатные для некоммерческих ресурсов.
Сертификаты для кириллицы – поддержка IDN доменов
Использование https на сайте с кириллицей в имени домена усложняется тем, что не все центры поддерживают их и не всегда эта опция есть в описании сертификата. В этих центрах, как Thawte и Symantec, вы решите эту задачу. Например, посмотрите на Thawte SSL123 Certificate или Symantec Secure Site. Также там есть еще несколько аналогичных.
Какие отличия могут быть между различными центрами
1 отличие – в каком количестве браузеров установлен корневой сертификат. Если корневого не будет в браузере, то при входе на сайт с Https все равно увидите ошибку. В списке выше (Comodo, Geotrust, Symantec, Thawte, Trustwave ) охват всех браузеров почти 100%.
В хроме «настройки — показать дополнительные настройки – настроить сертификаты — доверенные корневые центры сертификации» можно посмотреть сколько установлено и какой срок действия. Они обновляются автоматически вместе с браузером. Мы этот процесс не замечаем.
В каждом центре также есть ссылки на скачивание нового корневого сертификата.
2 отличие — цена.
Практический пример покупки и установки SSL
Рассмотрим покупку сертификата в Comodo, тип PositiveSSL.
Comodo Positive SSL на сегодня самый доступный по цене и при этом надежный. Выпуск этого вида происходит в течение нескольких минут.
Полезные ссылки для проверки данных и генерации ключа
· OpenSSL — самая распространенная утилита для генерации открытого ключа (запроса на сертификат) и закрытого ключа.
https://www.openssl.org/
· CSR Decoder — утилита для проверки CSR и данных, которые в нем содержаться, рекомендую использовать перед заказом сертификата.
WordPress SEO: Настройка безопасного подключения с HTTPS
Мы начинаем цикл статей о пошаговой технической оптимизации новых сайтов на базе WordPress для начинающих специалистов и вебмастеров. После серии этих материалов вы сможете выстроить обязательный SEO-фундамент для дальнейшей работы и продвижения вашего сайта.
Начнём мы с настройки безопасного подключения и знакомства с .htaccess.
1. Почему важно перейти на HTTPS
Возможно, у вас возникли вопросы: «Зачем мне HTTPS?», «Какое отношение он имеет к SEO?» и «Почему мы начинаем именно с него?».
- Протокол HTTPS защищает данные пользователя от перехвата и использования в мошеннических целях. Это особенно важно, если на вашем сайте осуществляются платёжные операции.
- При переходе на HTTPS иконка «незащищённого соединения» сменится зелёной иконкой «безопасного». Например, Google Chrome сейчас отображает сайты с HTTP как небезопасные и в будущем будет ещё больше акцентировать на этом внимание.
- Протокол HTTPS относится к числу факторов ранжирования Google, и, исходя из данных многочисленных исследований, «безопасные» сайты имеют приоритет в выдаче. При прочих равных условиях, разумеется.
- Переезд сайта с HTTP на HTTPS может повлечь за собой множество ошибок. Так что чем раньше вы его совершите, тем лучше.
Кстати, в данный момент Netpeak Spider опознаёт все страницы с протоколом HTTP как страницы с ошибками. И он прав 🙂
2. Подготовка к переезду
Для того чтобы осуществить успешный переезд, вам необходимо выполнить небольшую подготовку:
- Выбрать сертификат: платный или бесплатный. Они могут отличаться по назначению (личные и корпоративные, к примеру), размеру страховки (гарантии безопасности) и по степени «солидности», высвечивая только зелёный замочек, название компании или же целую зелёную панель в адресной строке браузера.
- Сверить требования сертификата и параметры вашего хостинга.
- Получить доступ к хостинговой панели и FTP (предоставляются хостинг-провайдером).
3. Переезд на HTTPS в 7 простых шагов
В качестве примера мы используем сайт на базе CMS WordPress с хостингом под управлением cPanel. Если у вас сервер nginx, а не apache, план работы будет отличаться. Пишите в комментариях, если вам нужна помощь для переезда с подобными серверами, и мы постараемся подготовить отдельный материал на эту тему.
3.1. Шаг первый
Заходим в контрольную панель в раздел «Безопасность» и нажимаем на кнопку Let’s Encrypt SSL. Let’s Encrypt — это бесплатный базовый сертификат, который подходит для небольших сайтов. Его необходимо обновлять каждые 90 дней. Под заголовком ‘Issue a new certificate’ выбираем интересующий нас домен и кликаем ‘Issue’ в графе ‘Actions’. Что ж, первый этап завершён.
3.2. Шаг второй
Переходим в панель управления сайтом, то есть в консоль WordPress. Заходим на главную страницу настроек и в строках «Адрес WordPress (URL)» и «Адрес сайта (URL)» прописываем существующий адрес сайта уже с HTTPS.
На данном этапе наш сайт уже отображается в браузере как безопасный, но только тогда, когда мы указываем в адресной строке HTTPS. Это значит, что параллельно с HTTPS-версией сайта продолжает существовать «небезопасная» HTTP-версия сайта. Это дублирование контента, которое плохо сказывается на ранжировании сайта.
3.3. Шаг третий
Чтобы избежать этого, придётся модифицировать файл .htaccess в корневом каталоге сайта. Если домен настраиваемого сайта основной — файл будет расположен по адресу /public_html/. Если дополнительный — в одноименной папке вида /site.com/. Это серверный файл-конфигуратор, который мы будем использовать для настройки редиректов.
3.3.1. Во-первых, нас интересует редирект с HTTP на HTTPS.
3.3.2. Во-вторых, важно с самого начала настроить редирект на одну-единственную версию сайта — с www или без него. Вы не обнаружите между ними никакой разницы, но любая поисковая система воспринимает их как две дублирующие друг друга версии сайта.
3.3.3. Кликаем правой кнопкой по иконке файла .htaccess и выбираем «Просмотр/Правка».
3.3.4. В открывшемся файле нужно вставить инструкцию для редиректа с кодом 301 на HTTPS-версию сайта без префикса www. В данном примере мы используем следующий код:
RewriteCond %
RewriteRule ^(.*)$ https://snhd.%1/$1 [R=301,L]
3.3.5. После закрытия файла сохраняем изменения и подтверждаем загрузку файла обратно на сервер.
3.4. Шаг четвёртый
Для упрощения переезда советуем заменить все абсолютные внутренние ссылки на относительные. Убедитесь в том, что абсолютные ссылки вашего сайта исправлены, и вместо HTTP везде стоит HTTPS. Пример абсолютной и относительной ссылки:
- http://site.com/page1.html — абсолютная;
- /page2.html — относительная.
3.5. Шаг пятый
Вы можете воспользоваться готовыми решениями и просто установить соответствующий плагин, который поможет заменить ссылки на HTTPS. В случае с WordPress это Really Simple SSL. Активируйте его в консоли WordPress, в меню «Плагины». Там же можно перейти в настройки плагина. Так как мы уже настроили серверную переадресацию с помощью файла .htaccess, вам нужно отметить галочками только два пункта:
- Enable javascript redirection to ssl;
- Auto replace mixed content.
3.6. Шаг шестой
Теперь мы можем совершить финальное сканирование в Netpeak Spider и убедиться, что все редиректы работают правильно.
SSL-сертификаты: что это такое, какие они бывают и зачем их получать
Рассказываем, почему каждый веб-разработчик должен шифровать данные, когда они передаются от пользователей на серверы.
Иллюстрация: Катя Павловская для Skillbox Media
Когда пользователь заходит на сайт, он в первую очередь хочет убедиться, что он надёжный — не обманет и не украдёт данные. А также не даст сделать это другим. Чтобы подтвердить свою благонадёжность, разработчики получают специальные документы — SSL-сертификаты. О них мы сегодня поговорим.
Всё о SSL-сертификатах:
Что такое SSL-сертификат
Он подтверждает подлинность сайта и гарантирует, что данные от пользователя к серверу будут передаваться по зашифрованному соединению.
Аббревиатура SSL расшифровывается как secure sockets layer, или «защищённый сокетный слой». Это протокол безопасности, который создаёт защищённое браузер-серверное соединение. Вся передаваемая по нему информация шифруется одноразовыми ключами, чтобы обеспечить конфиденциальность данных и защитить их от перехвата.
Например, когда вы вводите на сайте номер кредитной карты, чтобы оплатить покупку, браузер отправляет эти данные на сервер. Если отправить их в незащищённом виде — не зашифровать, — мошенники теоретически смогут перехватить их, а затем прочитать. А если данные будут зашифрованы, то разгадать такой шифр будет очень непросто.
Компании должны подтверждать свои сайты сертификатами, если они используют личные данные пользователей — например, логины и пароли. Их имеют все крупные организации: банки, интернет-магазины, социальные сети, платёжные системы, а также другие коммерческие платформы.
Чтобы узнать, есть ли сертификат, можно взглянуть на адресную строку браузера. В её левом углу вы должны увидеть значок с закрытым замком. Если он есть — значит, у сайта имеется сертификат и на нём безопасно.
Как работают SSL-сертификаты
Они гарантируют, что любая информация, которая передаётся от браузера к серверу, будет зашифрована. Для этого протокол использует алгоритмы шифрования данных — например, EIGamal, RSA, DSA или PKCS.
Весь процесс работы протокола выглядит так:
- Пользователь пытается подключиться к сайту, защищённому протоколом.
- Браузер пользователя уточняет у сервера сайта, подлинный ли он.
- Сервер в ответ пересылает копию своего сертификата, если она, конечно, есть.
- Браузер пользователя удостоверяется в его подлинности (сверяется с пунктами выдачи сертификатов), а затем говорит серверу, что всё ок.
- Теперь сервер создаёт защищённый сеанс: отправляет браузеру подтверждение с уникальной цифровой подписью, которая зашифрована протоколом SSL.
- И наконец — данные начинают передаваться по браузер-серверному соединению.
Задача проверки — убедиться, что соединение будет защищённым. Может показаться, что пошаговая схема выглядит длинной, хотя в жизни это занимает миллисекунды.
После того как браузер убедится, что сайт защищён, в адресной строке будет надпись HTTPS. Последняя буква как раз сообщает, что соединение защищённое: S — secured. Но если достоверность не была подтверждена, то в адресной строке будет надпись HTTP, а данные от пользователя к серверу будут передаваться в незашифрованном виде.
Браузеры позволяют посмотреть подробные сведения об SSL-сертификате для каждого сайта. Для этого нужно кликнуть на значок замка и прочитать информацию. Обычно туда входят следующие данные:
- имя домена;
- компания, лицо или устройство, для кого был создан сертификат;
- центр сертификации, который выдал сертификат;
- цифровая подпись из центра сертификации;
- поддомены;
- дата выдачи;
- срок действия;
- открытый ключ.
Зачем нужен SSL-сертификат
Они нужны сайтам, чтобы подтвердить безопасность передачи данных от пользователей на сервер, а также чтобы указать права собственности и не допустить его подделки злоумышленниками. В каком-то смысле это юридически заверенный договор, который сайт подписывает, чтобы доказать свою честность.
Сайтам важно сохранять конфиденциальность данных и гарантировать пользователям безопасность их ввода. Например, если нужно ввести пароль или данные банковской карты, то пользователи будут доверять только тем сайтам, которые прошли проверку. SSL как раз помогают удостоверить это.
Крупным компаниям сертификаты полезны тем, что они предоставляют доступ к HTTPS-протоколу. Он использует все функции протокола HTTP, но при этом шифрует данные с помощью протокола SSL. Браузеры даже помечают сайты с протоколом HTTP как небезопасные, что может стать тревожным сигналом для пользователей и вызвать недоверие — особенно при вводе персональных данных.
Кто выдаёт SSL-сертификаты и какие они бывают
Получить их можно в центрах сертификации, которые ещё называют удостоверяющими центрами. Среди самых крупных из них — DigiCert, Symantec, GlobalSign. Все они занимаются подтверждением ключей для шифрования. Чтобы получить сертификат, придётся заплатить деньги, зато вы будете уверены в его подлинности.
Сертификаты от этих компаний идут вместе с печатью доверия. Она подтверждает, что соединение надёжно защищено.
SSL-сертификат можно получить бесплатно — например, через сервисы Cloudflare и Let’s Encrypt. Они выдают их на три месяца, а затем их нужно будет продлить. Но есть несколько нюансов, которые стоит учесть при выборе этих сервисов:
- Cloudflare выдаёт один сертификат на 50 сайтов одновременно. Поэтому он будет принадлежать не только вам, но и сайтам других компаний. А ещё — у него не будет печати доверия.
- Сертификат Let’s Encrypt поддерживает не все браузеры, не гарантирует сохранность данных, а также не имеет печати доверия.
Поэтому иногда стоит выбрать платный сертификат, если важно убедить пользователей, что соединение надёжно защищено.
Виды SSL-сертификатов
Глобально их можно разделить на два типа:
- Самоподписанные. Это когда они подписываются на сервере компании. И, по сути, это значит, что его может сделать любой пользователь. Поэтому каждый раз при посещении сайта браузеры будут выдавать предупреждение о незащищённом соединении.
- Подписанные в удостоверяющих центрах. Их получают как раз в удостоверяющих центрах. Их подлинность будет подтверждена во всех браузерах.
Второй тип делится ещё на три вида — по тому, как они проверяют данные:
- DV (domain validation) — умеет шифровать данные, но ничего не знает о компании. Это базовый сертификат, который гораздо дешевле, чем остальные, и который подходит любым компаниям.
- OV (organization validation) — шифрует данные и знает о существовании компании. Подойдёт юридическим лицам.
- EV (extended validation) — нужен тем, кто хочет обеспечить высокий уровень защиты. А чтобы получить его, компания должна пройти сложную проверку: подтвердить законность и предоставить права на домен.
Все они обеспечивают надёжность в шифровании при передаче данных от браузера к серверу. Но также есть другие, более специфичные сертификаты:
- Wildсard — объединяет домены с поддоменами, а также защищает соединение между ними.
- SAN — защищает только те домены, которые указаны в сертификате.
Простым сайтам можно обойтись бесплатным сертификатом, если они, конечно, не используют персональные данные. А вот для тех, кто хочет проводить онлайн-транзакции или создать систему личных профилей, нужно будет приобрести один из подтверждённых сертификатов.
Как выбрать SSL-сертификат
Чтобы не потратить лишние деньги, нужно сначала определить, что делает ваш сайт и какие данные он собирает. Мы рассмотрим некоторые из вариантов и дадим пару советов по выбору.
Личный блог. Часто в личном блоге авторы пишут свои мысли, выкладывают фото и видео, при этом данных никаких не собирают, кроме, может быть, почты. Поэтому если вы ведёте личный блог, можно обойтись бесплатным сертификатом от Cloudflare или Let’s Encrypt. Но если вам не нравятся их условия, то выбирайте DV — он станет самым подходящим решением.
Интернет-магазин. Здесь люди покупают товары, тратят деньги и выбирают место, куда им нужно доставить посылки. Без надёжного соединения не обойтись — нужно обеспечить максимальную защиту персональных данных, чтобы пользователи не боялись вводить номера карт и адреса мест жительства.
Лучшим решением будет выбрать сертификат EV, чтобы подтвердить подлинность информации о компании и обезопасить данные. Но также подойдёт OV, если у вас небольшой магазин, у которого не так много клиентов.
Новостной портал. Всё зависит от специфики. Например, если у вас есть медиа, где пользователи входят в свои аккаунты, оставляют комментарии, ставят лайки, то стоит выбрать сертификат OV, чтобы обеспечить надёжность этих данных. Ну а если это новостное издание, где пользователи только читают статьи, можно обойтись DV.
Чтобы выбрать оптимальный сертификат, стоит изучить, что разные центры сертификации предлагают, и учесть следующие пункты:
- совместимость с популярными браузерами;
- уровень защиты персональных данных;
- сложность проверки компании;
- наличие печати доверия.
Если каждый из этих пунктов вас устраивает, можно смело приобретать сертификат.
Где приобрести SSL-сертификат
После ухода многих зарубежных компаний купить его стало намного сложнее. Оплатить подписку на иностранных сайтах с помощью российских карт стало невозможно, поэтому приходится выбирать только среди отечественных аналогов. Но аналогов практически нет.
Самый простой способ получить сертификат сегодня — подать заявку на сайте reg.ru. Там можно получить его бесплатно, но при условии, что вы купите у них домен. Также стоит учесть, что этот сервис сотрудничает с удостоверяющим центром GlobalSign, который может закрыть доступ для пользователей из России. Поэтому при покупке учитывайте этот риск.
Минцифры уже пытается разработать нормативную базу, чтобы российские компании могли получать бесплатные сертификаты. Сейчас заказать его можно через портал «Госуслуг». Поэтому советуем оставить заявку там, чтобы получить надёжный сертификат.
6 простых способов защитить свой браузер от угроз
Важный совет, которым многие пренебрегают. Обычно все необходимые настройки включены по умолчанию, но стоит хотя бы ознакомиться с ними.
Вы можете запретить доступ к нежелательным элементам, таким как камера или микрофон, запретить отслеживание геолокации. Это не панацея, но так вы по крайней мере убедитесь, что браузер не настроен против вас.
2. Регулярно обновляйте браузер
Не успели разработчики залатать очередную дыру в безопасности браузера, как появляется новая, поэтому так важно, чтобы была установлена свежая версия.
Во многих современных браузерах есть служба автоматического обновления. Если вы отключили её по какой-то причине, не забывайте регулярно проверять наличие обновлений вручную. Подскажем, как это сделать, в разных браузерах.
Firefox
Запустите браузер. Найдите пункт «Настройки» → «Основные» → «Обновление Firefox» → «Автоматически устанавливать обновления».
Чтобы проверить наличие обновлений, запустите браузер и выберите пункт «О Firefox».
Chrome
Запустите браузер. Нажмите на три точки в верхнем правом углу. Выберите меню «Справка» → «О браузере Google Chrome».
Opera
Запустите браузер. Нажмите на значок Opera в верхнем левом углу. Выберите пункт «О программе».
Яндекс.Браузер
Запустите браузер. Нажмите на три параллельные полоски в правом верхнем углу. Найдите пункт «Дополнительно» → «О браузере».
3. Будьте внимательны при установке расширений
Большинство расширений безвредны, а многие вообще незаменимы в работе. Но не теряйте бдительности, особенно когда дело касается доступа к вашим данным. Перед установкой браузер покажет, к какой информации и функциям расширение хочет получить доступ. Обязательно ознакомьтесь со списком.
Например, получив доступ к вашим данным на всех веб-сайтах, расширение может блокировать рекламу или, наоборот, добавлять лишние баннеры.
Всплывающая реклама — самое безобидное, с чем вы можете столкнуться. Гораздо хуже, если злоумышленники смогут получить доступ к вашим данным и паролям.
Никакой надёжной защиты на этот случай нет, так что придётся быть ответственными и следить за тем, что устанавливаете. Несколько советов:
- Устанавливайте расширения только из официального магазина.
- Обращайте внимание на количество людей, которые установили расширение, и отзывы.
- Старайтесь устанавливать расширения от официальных разработчиков.
- Если уже установленное расширение запрашивает доступ к новым данным, задумайтесь. Возможно, его продали или взломали.
4. Используйте антифишинговые расширения
Фишинговые сайты — бич современного интернет-пользователя. Сотрудники AdGuard утверждают, что на 15 миллионов веб-сайтов приходится 1,5 миллиона фишинговых. И это только те страницы, которые проверили разработчики.
Как и в случае с расширениями, будьте бдительны и осторожны. Не переходите по ссылкам на сайты, которые требуют вводить личную информацию, не поддавайтесь на провокации мошенников.
Чтобы было спокойнее, воспользуйтесь антифишинговым расширением для браузера, например AdGuard. Оно не только заблокирует всплывающую рекламу, но и защитит от утечки данных.
Чтобы активировать расширение для «Яндекс.Браузера», зайдите в раздел «Дополнения». Затем прокрутите страницу вниз до пункта «Блокировка рекламы», найдите AdGuard и переставьте переключатель на «Вкл».