Честно скажу - я очень хотел написать данную статью, что бы поделиться со всеми порядком правильных действий, которые нужно сделать при переводе сайта на HTTPS протокол. У меня в арсенале есть ряд собственных сайтов, на которых я проводил эксперименты и их результатами хотел бы поделиться с Вами, уважаемые читатели моего блога. Но не только эксперименты легли в основу данной статьи, но и официальные заявления от представителей поисковых систем, как поступить лучше всего в таком случае.
В своем изучении технологий и подходов за основу я всегда брал и беру 2 вещи - практику и официальные источники. Я практик по жизни, поэтому стараюсь писать и говорить только о том, что попробовал и протестировал сам лично. И в случае, когда перед всеми встаёт вопрос "Как не потерять позиции сайта при переходе на HTTPS?", в первую очередь я считаю нужно обращаться к рекомендациям от поисковых систем, где их представители говорят правильный порядок действий. Добавляем к этому эксперименты на ряде сайтов с последующими выводами и получаем уникальный материал о переходе на HTTPS. Именно поэтому я так хотел написать данную статью - хотел поделиться с Вами своими наработками и знаниями.
Потеряется ли ТИЦ при переезде на HTTPS?
Этот вопрос возникает одним из самых первых, когда задумываешься о переезде на HTTPS, поэтому я хочу немного рассказать и об этом. "Зеленый замочек" и защита данных путём передачи их в зашифрованном виде, о которых я говорил в первой статье про SSL и HTTPS, конечно, "подкупают", но следом идёт мысль "А что будет со всеми ссылками, весом сайта и ТИЦ показателем?". Знаю, сам об этом подумал, перед тем как начал переезжать своими сайтами на HTTPS. Ведь по факту "http://vitalik.ws/" и "https://vitalik.ws/" - это 2 разные сайта для поисковой системы.
Но, знаете, я хочу Вас обрадовать. Если всё сделать правильно, как я описал в статье, то все показатели и вес ссылок перейдут на версию сайта с HTTPS. Конечно, при наличии возможности, можно поменять ссылки на сторонних сайтах с http на https. Но все же мы понимаем, что это не всегда возможно. И я думаю, что 301 редиректа достаточно для сохранения значимости этих ссылок.
Если говорить именно о ТИЦ в частности, то после перевода сайта на защищенный протокол, он, обычно, возвращается и для HTTPS версии (тот же, что и был у обычной, HTTP). Обычно это происходит при первом ближайшем обновлении ТИЦ поисковой системой Яндекс. Об этом же говорили и представители самого Яндекса. Это же у меня получилось и на практике - ТИЦ 10 для одного из проектов вернулся буквально через несколько недель.
С чего начать переход на HTTPS и SSL?
Первым делом Вам нужно определиться, где взять SSL-сертификат. Есть два способа получения сертификата - платный и бесплатный.
Начнём с платного способа. Данный способ, обычно, предоставляют многие хостинг-провайдеры. И, обычно, такие сертификаты покупаются на год и каждый год вам нужно платить около 2 000 руб. (где-то может быть больше, где-то - меньше). Некоторые хостинг провайдеры даже заманивают "бесплатным SSL-сертификатом", но через год бесплатный сертификат станет платный и за него нужно будет отдавать ваши кровные заработанные средства. Этот способ не плох, когда у Вас один сайт. Но когда их, скажем, 10+, то данная сумма уже будет "бить по карману". А ведь везде хочется организовать безопасный протокол для посетителей!
И выход есть - это бесплатный способ получения SSL-сертификата. Самый распространенный на данный момент - это Let's Encrypt. Его можно получить абсолютно бесплатно. Единственный минус - он выдаётся только на 3 месяца. Зато, через 3 месяца, его можно так же автоматически продлить и это так же будет бесплатно для Вас. Но как же его установить? Давайте разберемся в этом подробнее.
Установка SSL сертификата
Сама процедура установки SSL сертификата на web-сервер (ну или сайт) не совсем простая, поэтому в большинстве случаев в панелях хостинга она автоматизирована. То есть для получения сертификата Вам будет достаточно нажать лишь пару кнопок в панели управления (возможно подтвердить e-mail с помощью cname записи, для платных сертификатов) и всё - сайт будет доступен по защищенному HTTPS протоколу.
Бесплатный сертификат получить не на много сложнее, но не у всех хостинг-провайдеров может быть такая возможность. Я вот, например, пользуюсь панелью ISPManager 5 и просто установил модуль Let’s Encrypt ("Интеграция" -> "Модули"). Далее захожу "Настройка web-сервера" -> "SSL-сертификаты" и удобной кнопкой "Let’s Encrypt" абсолютно бесплатно получаю сертификат для нужного мне домена. ISPManager 5 сам его получает и устанавливает для сайта. Кроме того, он сам продлевает сертификат через 3 месяца. Удобная панель в этом плане.
В ISPManager 4, к сожалению, такого модуля нет. Но зато в некоторых панелях 4 версии есть возможность добавлять свои SSL сертификаты. Способ сложный, но вполне выполнимый. Нужно только знать какой ключ и куда вписывать. Я примерно набросал Вам схему, как вписывать SSL сертификат в ISPManager 4. Только не забывайте одну вещь - в ключе не должно быть лишних пробелов. Особенно актуально это при копировании ключа из почтового письма - перед текстом ключа ставятся пробелы. Их обязательно нужно удалить. А переносы строк должны быть.
Если вы всё-таки решили самостоятельно вписать ключи от сертификата (может быть случайно его удалили или же так необходимо), то советую ещё дополнительно поискать в вопросах и ответах Вашего хостинг-провайдера как это сделать правильно, так как у любой из панели могут быть какие-то специфичные особенности.
Начинаем перевод сайта на HTTPS протокол, оптимальная настройка через зеркала
Первым шагом перед переездом на HTTPS обязательно нужно подготовить и проверить сайт. Это самое важное и тут нельзя допускать ошибки, иначе расплатой может стать понижение позиций сайта в поисковых системах. А нам этого совсем не нужно. Так вот, я выделил 4 основные пункта, которые нужно выполнить.
1) Проверяем, что бы не было редиректа с HTTP на HTTPS
Иногда, устанавливая SSL автоматически, следом ставится и редирект (или переадресация) с HTTP версии сайта на новую HTTPS (с защищенным протоколом). Это нужно обязательно отключить.Есть интересная особенность: после загрузки https версии в браузере и попытках открыть http - браузер будет автоматически перекидывать нас обратно на https (независимо от установленного редиректа). И это нормально.
Но для поисковых систем редиректа быть не должно. Как это проверить? Просто - с помощью сервиса от Яндекс.Вебмастер (инструмент "Проверка ответа сервера"). Если http версия отвечает кодом 200 OK, то значит всё нормально. Если же вы видите код ответа 301 - значит срочно ищите, где отключить редирект в настройках вашего хостинга/сервера.
2) Проверяем SSL-сертификат и HTTPS протокол на корректность
Этот пункт, наверное, не такой значимый, как другие, но всё же обязательно проверьте свой сайт (SSL, HTTPS) с помощью сервиса SSL Labs Test. Данный тест позволит Вам удостовериться, что всё настроено правильно и защищенный протокол везде работает. Если Вы получите оценку А (с зеленым фоном), то значит всё хорошо. Если А+ - значит всё отлично =)3) Заменяем содержимое сайта с HTTP на HTTPS
Сразу после загрузки сайта в браузере по HTTPS версии Вы, скорее всего, обнаружите, что "зеленого замочка" почему-то нет, хотя SSL и HTTPS настроены верно и работают. И я сразу расскажу Вам, в чём проблема. Такое может быть из-за того, что сайт открыт по защищенному протоколу, а вот изображения или какие-то сторонние скрипты загружаются как и прежде, по обычному HTTP. В итоге вы получите подобное сообщение.Поэтому следующим шагом нужно обязательно разобраться с тем, что продолжает загружаться по незащищенному протоколу. Я бы советовал поменять http на https везде, а именно проверить:
- все внутренние ссылки на сайте (лучше даже используйте относительные ссылки, а не абсолютные; например - "https://vitalik.ws/tools/" (абсолютная ссылка), а если прописать просто "/tools/" - это будет относительная ссылка; и лучше использовать второй вариант)
- все изображения (в том числе сторонние баннеры, если такие есть - всё должно загружаться по HTTPS; на внутренние изображения можете так же прописать относительные ссылки)
- все скрипты (в том числе, опять же, сторонние скрипты - статистика, сервисы, партнёры)
- все канонические URL (если используете)
- все формы (формы используют атрибут action="", в котором прописывается ссылка на сайт; если ссылка прописана не относительная - может перекидывать на незащищенный протокол, поэтому обязательно проверьте формы)
- все платежные ответы от систем (если есть оплата или пополнение баланса - OK URL, Fail URL)
Если убрать из HTML кода всё, что начинается с "https://", то знак надёжности сайта обязательно должен появиться. А это значит, что всё нормально. Обратите внимание только ещё на одну особенность - проверьте, по возможности, каждую страницу сайта (ну или типовые группы), так как где-нибудь, например, в статье может быть картинка через http.
4) Ставим HTTPS новым главным зеркалом в robots.txt
Это основной пункт, который нужно выполнить, что бы перевод сайта на HTTPS был успешным. Нужно дать понять поисковым системам, что HTTP и HTTPS версии сайта - это зеркала и главным зеркалом в данном случае должна стать версия сайта с защищенным протоколом.Делается это добавлением записи "Host: https://site.ru" в файл robots.txt. Например вот так:
Зеркала, как правило, склеиваются поисковыми системами и все показатели по сайту передаются главному зеркалу.
Что делать, что бы при переходе на HTTPS не потерялись позиции сайта в поисковом ранжировании?
Для того, что бы не потерять позиции сайта в ранжировании сайта поисковыми системами обязательно нужно на первое время отказаться от 301 редиректа и воспользоваться склейкой зеркал. То есть это пункты 1 и 4, в которых я чуть выше постарался рассказать всё более подробно. Не пытайтесь сразу перенаправить всех своих пользователей с http на https с помощью 301 первого редиректа. Это может быть расценено поисковыми работами не совсем корректно и в результате могут быть утеряны все позиции сайта в поисковых системах.
Сделайте лучше так - настройте сайт по 4 пунктам выше и подождите примерно около месяца. Этого времени должно хватить всем поисковым системам, что бы уловить запрос на склейку зеркал и переназначению главного зеркала.
Кстати, для ускорения переезда сайта в Яндекс (да и не только) можно сделать ещё кое-что.
Как ускорить переезд сайта на HTTPS в Яндекс и Google?
Начнём с того, что в Яндекс.Вебмастер есть специальный инструмент, который так и называется "Переезд сайта". Там достаточно поставить галочку "Добавить HTTPS" и нажать кнопку "Сохранить", и запрос переезда на защищенный протокол будет принят системой. Обычно переезд таким образом занимает в Яндекс всего около 1-2 недель, но всё равно я бы советовал подождать месяц.
Есть, кстати, ещё один нюанс - в Яндекс.Вебмастер нужно добавлять 2 версии сайта: "http://..." и "https://...". Они вначале будут отображаться как 2 разных сайта, а потом склеятся в один. Инструментом переезда сайта нужно будет воспользоваться на той версии сайта, что работает по обычному HTTP протоколу.
В Google Webmasters сервисе так же можно и нужно добавить 2 версии сайта. Только у Google нет таких особенных инструментов по переезду сайта. Он всё распознаёт автоматически, поэтому ускорить этот процесс в данной панели не получится и просто нужно подождать время. Зато можно наблюдать за информацией о загрузке/выгрузке страниц из поиска, что говорит о корректной смене зеркала сайта.
Кроме этого, обязательно сгенерируйте новый файл sitemap.xml, в котором будут ссылки на страницы сайта с защищенным протоколом https. Сделать отдельный файл карты сайта или же пересоздать старый? Лично я просто перегенерировал старый sitemap.xml. Хотя где-то советуют сделать отдельный файл для HTTPS. Но тут на Ваше усмотрение. Лично я думаю, что тут особой разницы не будет. Цель этого файла - оперативно сообщить о новых страницах https. И он придёт к этой цели и в том, и в другом случае. Не забудьте внести/исправить новую ссылку карты сайта с https в файл robots.txt.
301 редирект или переадресация с http на https через htaccess
301 редирект (или переадресация) - это самый последний этап перехода с http на https. Как я уже упоминал ранее, желательно добавлять данный редирект только через месяц после правильной настройки сайта.
Сам 301 редирект делается с помощью файла настройки Apache с названием ".htaccess". Этот файл обычно лежит в корне сайта. Если его нет в корне сайта, то можно создать новый и прописать там конфигурацию для переадресации всех посетителей с http на https. Мои рабочие конфигурации, которыми я пользуюсь, выглядят так:
Первая конфигурация htaccess:
RewriteCond %{REQUEST_URI} !robots.txt RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Вторая конфигурация htaccess:
RewriteCond %{REQUEST_URI} !robots.txt RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Оба варианта - рабочие, можете использовать любой. Данные правила для htaccess осуществляют полноценное 301 перенаправление посетителей, подставляя правильную ссылку. То есть они помогут перенаправить посетителей, кликнувших ссылку с http, по точно такой же ссылке, но только с https.
Обратите внимание на исключение из 301 редиректа файла robots.txt. Это ещё одна особенность, которую нужно учитывать. Даже после настройки полной переадресации с http на https, оставьте этот файл доступным для поисковых роботов. Это поможет сохранить информацию о зеркалах, хоть и по факту будет полное перенаправление для всех.
Кстати, хотел рассказать бы Вам ещё про одну интересную вещь - переезд сайта с домена на домен. Это немного не совсем по теме, но, по факту, раз "http://vitalik.ws/" и "https://vitalik.ws/" - это 2 разные сайта для поисковых систем, то Вы спокойно можете использовать данную инструкцию и для переезда, например, с сайта "http://site1.ru/" на сайт "https://site2.ru/". Единственное - Вам не нужно будет думать про SSL сертификат. Но это всё-таки отдельная тема и она заслуживает отдельной статьи. Подписывайтесь на мой блог - я постараюсь написать об этом чуть позже и сообщить Вам.
А так вроде бы обо всём рассказал. Пользуйтесь на здоровье, правильно настраивайте сайт при переходе на HTTPS протокол и SSL-сертификат и ни в коем случае не теряйте позиции в ранжировании. Создавайте свои крутые проекты и радуйте посетителей качеством во всём!
Надеюсь, что помог вам в вопросах с HTTPS и SSL.
Все комментарии к статье "Как правильно настроить сайт при переходе на HTTPS и SSL-сертификат, что бы не потерять позиции в поисковых системах?"
Оставьте свой комментарий первым!