Редирект http на https timeweb
Перевод сайта на HTTPS и устранение Mixed Content
На сегодняшний день использование протокола HTTPS на сайте необходимо не только для защиты данных, но и для поддержания его позиций в выдаче — поисковые системы учитывают наличие SSL в качестве фактора ранжирования. Чтобы перевести сайт на HTTPS вам необходимо установить SSL-сертификат, а после провести дополнительные настройки, чтобы все работало корректно.
Если вы не хотите заниматься настройкой самостоятельно, рекомендуем вам сертификат SSL Timeweb Pro — при его заказе все необходимые работы по установке и настройке SSL, а также по настройке вашего сайта выполнят наши специалисты. Вы также можете заказать отдельную услугу по настройке сайта при заказе сертификата Let’s Encrypt.
1. SSL-сертификат
В Timeweb вы можете заказать как сертификаты Sectigo, так и бесплатный Let’s Encrypt. Подробнее о типах сертификатов, их заказе и установке см. в разделе SSL-сертификаты.
После того, как сертификат установлен, потребуется выполнить определенные настройки на сайте и устранить Mixed Content.
2. Перенаправление на HTTPS
В панели управления:
3. Дополнительные настройки для CMS
Далее для корректной работы сайта по HTTPS потребуется выполнить дополнительные настройки, в зависимости от вашей CMS.
WordPress
В случае с WordPress можно обойтись без настройки вручную и воспользоваться специальными плагинами (например, Really Simple SSL), которые настроят сайт для работы по HTTPS, а также устранят Mixed Content (по крайней мере, частично).
При ручной настройке:
Joomla
1С-Битрикс
Для CMS Битрикс рекомендуется выполнить несколько дополнительных проверок:
Drupal
Для Drupal 8 дополнительных настроек не требуется.
Для Drupal 7 в конфигурационный файл settings.php добавьте строки:
MODX Revolution
Если в работе сайта возникают проблемы, попробуйте дополнительно внести следующие изменения в конфигурационный файл config.inc.php :
OpenCart
В конфигурационном файле /public_html/config.php в блоках HTTP и HTTPS укажите URL вашего сайта с протоколом HTTPS:
В конфигурационном файле /public_html/admin/config.php также укажите протокол HTTPS в блоках HTTP и HTTPS:
Prestashop
4. Устранение Mixed Content
Ошибки Mixed Content, то есть ошибки смешанного содержимого, говорят о том, что на сайте, который работает по HTTPS, все еще есть ссылки, которые ведут на HTTP. Это могут быть ссылки как на разделы вашего собственного сайта, так и на сторонние ресурсы. Присутствие смешанного содержимого не только негативно влияет на SEO, но и является проблемой безопасности, так как часть данных оказывается не защищена, несмотря на наличие SSL-сертификата на сайте.
Проверить наличие таких ссылок и ошибок можно:
Для устранения смешанного содержимого нет универсального способа, так как разные сайты имеют свои особенности, однако в целом нужно добиться отсутствия ссылок на HTTP в коде вашего сайта.
В WordPress для этой цели можно использовать специальные плагины, например:
При ручной настройке можно:
1) Заменить во всех ссылках, где возможно, протокол HTTP на HTTPS, то есть вместо ссылок вида:
Если ссылка ведет на сторонний ресурс ( http://некий-сайт/page/file.jpg ), сначала проверьте, что он доступен по HTTPS и ссылка останется рабочей. Если это не так, попробуйте воспользоваться вторым вариантом.
2) Второй вариант — заменить ссылки на относительные вместо абсолютных, то есть вместо ссылок вида:
Это же касается ссылок на сторонние ресурсы, в них необходимо полностью отбросить указание протокола. То есть вместо ссылок вида:
Если ссылка такого вида работает некорректно, а по HTTPS ресурс недоступен, то можно рассмотреть варианты:
Как правильно перейти на HTTPS
В 2014 году корпорация Google внесла изменения, благодаря которым у сайтов с протоколом HTTPS появился приоритет в поисковых запросах. Спустя три года алгоритмы ужесточились – без надлежащего сертификата веб-страницы вовсе стали отображаться с надписью «ненадежный». Вместе с этим Google выпустила ряд рекомендаций и правил, которые должны были помочь пользователям перейти на защищенный сертификат, однако у многих все равно возникли некоторые проблемы после переезда: посещаемость сайта заметно упала, страницы стали исчезать из топа и т.п.
В сегодняшней статье мы разберемся, что такое HTTPS-протокол, какие существуют SSL-сертификаты и как с их помощью правильно перевести сайт в защищенный режим.
HTTPS: что это такое и зачем на него переходить
По умолчанию все сайты начинают свой путь с HTTP-протокола передачи данных в интернете. Он использует технологию «клиент-сервер», работающую следующим образом: клиент инициирует соединение и отправляет запрос серверу, который в свою очередь ожидает соединения для получения запроса, выполняет определенные действия и отправляет обратно сообщение с результатом.
Во время передачи данных по HTTP устанавливается незащищенное соединение, поэтому злоумышленник может легко перехватить запросы: получить пароль пользователя, увидеть данные банковской карты и многое другое.
На смену HTTP пришел HTTPS — особое расширение протокола, включающее в себя настройки шифрования. Благодаря этому все платежи, покупки, пароли и прочие данные защищены, и добраться до них злоумышленнику практически невозможно. Также этот интернет-протокол позволяет повысить доверие пользователей, разместить рекламные баннеры в Google AdWords, получить приоритетное ранжирование в поисковых системах и многое другое.
Использование HTTPS сопровождается получением специального SSL-сертификата. Сертификаты разделяются на три вида:
Каждый из вышеупомянутых сертификатов обеспечивает шифрование трафика между сайтом и браузером.
Резюмируя, стоит сказать, что переадресация с HTTP на HTTPS — надежный способ обезопасить свой сайт от злоумышленников и обеспечить пользователям конфиденциальность. О том, как правильно перейти на защищенное соединение, поговорим далее.
Переходим на HTTPS
Перенос сайта на другой протокол выполняется в несколько этапов. Сперва нужно приобрести SSL-сертификат у хостинга (достаточно открыть нужный раздел в личном кабинете и заказать сертификат). Также нужно изменить все внутренние ссылки на относительные и установить автоматическую переадресацию сайта на защищенный протокол. Подробнее о том, как это быстро и правильно организовать, поговорим в нижеуказанной инструкции.
Шаг 1: Подготовка сайта
Перед выполнением редиректа с HTTP на HTTPS рекомендуется исправить некоторые моменты в строчках кода, чтобы избежать возможных ошибок. Первый — внутренние ссылки.
Чтобы избежать предупреждения, указанного выше, необходимо изменить все внутренние ссылки с абсолютных на относительные. Например, ссылку http://ssl.ru/testpage/ потребуется заменить на /testpage/. Также стоит внимательно проверить все ссылки на скрипты в коде страниц.
Второй момент — проверка медиаконтента, в который входят изображения, видеоклипы, презентации и прочее. Необходимо посмотреть, какой на страницах сайта используется контент и по какому протоколу он запрашивается. Если используется HTTP, то рекомендуется загрузить все файлы на сервер и установить относительные ссылки. В противном случае указывайте только проверенные сайты: YouTube, Facebook, VK и так далее.
Теперь можно переходить к подключению SSL.
Шаг 2: Установка SSL-сертификата
Как мы уже выяснили, чтобы перейти на HTTPS, требуется установка специального сертификата. Для начала его нужно заказать — сделать это проще всего в личном кабинете хостинга, обычно такие услуги предоставляются всем пользователям. Алгоритм везде одинаковый, поэтому рассмотрим, как эта процедура выполняется на Timeweb.
После установки также рекомендуется убедиться, что сайт работает на обоих протоколах. Затем нужно сделать переадресацию с HTTP на HTTPS. Зачем это нужно, расскажем уже в следующем разделе.
Шаг 3: Настройка редиректа на HTTPS
Также мы можем сделать редирект с HTTP через административную панель CMS системы. В OpenCart для этого нужно открыть файл config.php и прописать в него следующее:
В WordPress изменить wp-config.php:
Для получения подробной информации о редиректах на других CMS обратитесь к их документации.
Ш аг 4: Настройка для поисковых систем
Если ваш сайт индексируется Google, Яндекс или другими поисковиками, то после перехода на HTTPS необходимо им об этом сообщить. В частности, нужно:
Готово! На этом переход с HTTP на HTTPS завершен. Надеюсь, что у вас не возникло сложностей. Спасибо за внимание!
Переезд на HTTPS: как сохранить позиции в Яндексе и Google
Введение
Вопрос переезда сайтов с HTTP на HTTPS волнует все больше пользователей. Тех, чей сайт занимает лидирующие позиции в поисковиках, больше всего пугает подобное изменение – а вдруг позиции сайта значительно просядут? О том, как правильно организовать переход на HTTPS, и будет рассказано в этой статье.
Начнем с того, зачем это вообще нужно? Если кратко и в пределах поисковых систем, то использование на вашем сайте протокола HTTPS повышает рейтинг сайта в глазах Google и Яндекс. Это логично – сайты, обеспечивающие надежную передачу данных, вызывают большее доверие, чем остальные, и поэтому имеют право получать некое преимущество в поисковых системах.
Сейчас, если у сайта есть две версии ( HTTP и HTTPS ), то Google в первую очередь показывает версию сайта с безопасным протоколом. Более того, в январе 2017 года браузер Chrome начнет помечать как небезопасные все сайты, которые передают данные о паролях и банковских картах, и при этом работают по протоколу HTTP (по крайней мере, такая информация в сентябре появилась в блоге компании). Но это будет лишь шаг к тому, чтобы в будущем помечать как сомнительные все сайты с небезопасным протоколом.
Переход на HTTPS – это уже не возможность, а необходимость, если вы хотите развивать свой сайт и привлекать на него новых пользователей.
Следующим будет логичный вопрос: почему смена протокола так важна для поисковых систем? Дело в том, что хотя чисто внешне меняется немногое (название-то сайта остается прежним, как и его содержание!), но передающиеся по двум разным протоколам ( HTTP и HTTPS ) сайты поисковая система воспринимает как два разных ресурса. Поэтому происходит то же самое, что и при смене одного домена на другой – позиции сайта могут просесть, количество страниц в выдаче и их позиции также могут измениться.
Подготовка
Первым делом вам необходимо начать с главного – приобрести и установить SSL-сертификат. Если вы являетесь клиентом Timeweb, то у вас есть два основных варианта: Comodo Positive SSL и Let’s Encrypt. Более подробно о них вы можете прочитать в этой статье. Перейдем к самому процессу перехода.
2. Оба сайта должны содержать файл robots.txt (который помогает ботам индексировать сайт); в нем необходимо прописать сайт, который будет являться главным зеркалом вашего ресурса.
Обратите внимание, что в файле robots.txt должно быть указано только одно доменное имя в одной единственной директиве Host! Если вы укажете несколько директив Host, то к рассмотрению будет принята только первая. Если же вы захотите в одной директиве написать сразу несколько доменов, то такая директива будет проигнорирована.
В итоге ваша директива должна выглядеть примерно вот так:
Обязательно пропишите протокол – собственно, это основное, ради чего вы и прописываете эту директиву. Но на этом работа с файлом robots.txt не заканчивается.
Для этого в robots.txt необходимо прописать следующее:
Яндекс
Следующий шаг – известить о тех изменениях, которые вы произвели, поискового бота Яндекса.
1. Новый сайт необходимо добавить в форму «Переобход страниц» (addurl): http://webmaster.yandex.ru/addurl.xml
Либо добавить сайт отдельно в список своих сайтов в Яндекс.Вебмастере: https://webmaster.yandex.ru/sites/add/
После склейки зеркал
Установите серверный 301 редирект; при этом, если это возможно, желательно для каждой страницы старого сайта прописать редирект на соответствующую страницу нового сайта.
Обычно для перенаправления нужно добавить вот эти строки:
Если этот вариант оказался нерабочим, посмотрите другие возможные варианты в разделе «Типовые перенаправления» Справочного центра Timeweb.
Если же самостоятельно решить данные вопросы не получилось, тогда вам точно лучше обратиться с этой работой к программистам.
После всех правок проверьте, что все работает корректно!
Проблема смешанных протоколов
На деле это выглядит примерно так: у вас есть страница https://mysite.com/, на которой должен загружаться скрипт http://mysite.com/script.js или картинка http://mysite.com/image.png. Оба этих элемента относятся к смешанному контенту и, скорее всего, будут заблокированы вашим браузером (если речь идет о скриптах, то страница просто не будет отображаться).
Что же делать в таком случае?
Нужно заменить все полные ссылки на относительные.
Вместо http://mysite.com/script.js вам нужно прописать //mysite.com/script.js, то есть убрать протокол, либо даже /script.js, убрав также и домен. Ваш код будет выглядеть примерно так:
Имейте в виду: ссылки нужно менять только на свои ресурсы, менять адреса чужих сайтов не нужно! Однако если вы не знаете, доступен ли данный сайт по защищенному протоколу или нет, поставьте ссылку без указания протокола – браузер самостоятельно выберет подходящую версию.
Если же вы используете чьи-то чужие скрипты, то желательно у них также изменить адреса на ссылки без указания протокола либо вообще загрузить их себе на сервер.
Общие сведения
1. Перейдите в раздел «Файловый менеджер» панели управления.
4. Нажмите кнопку «Создать файл».
Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.
В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #. Настройки, указанные в таких строках, учитываться не будут.
Примеры настроек
Перенаправления
Настройка редиректов описана в отдельной статье: Типовые перенаправления.
Параметры PHP
Управление доступом к сайту
Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.
Разрешить доступ конкретным IP (для остальных доступ запрещен):
Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.
Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки :
При использовании Allow,Deny:
Разрешить доступ всем, кроме конкретного IP:
Запретить доступ всем, кроме конкретного IP:
Запретить доступ для всех:
Защита сайта или директории паролем. Базовая аутентификация
В первую очередь задайте логин и пароль, которые будут использоваться для входа. Для этого подключитесь к аккаунту по SSH и выполните команду ниже, указав нужные вам значения:
Блокировка запросов по User-Agent
Можно ограничить доступ к сайту для определенных User-Agent. Например, при нежелательной активности ботов MJ12bot и SolomonoBot, используйте:
Ограничения по видам запросов
Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки :
Индексная страница по умолчанию
Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:
Вы также можете указать несколько страниц, в этом случае сервер «пройдет» по списку слева направо и отобразит первую доступную страницу:
Собственные страницы ошибок
С помощью директивы ErrorDocument вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:
Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.
Кодировка
Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:
При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:
Отображение листинга (содержимого директории)
.htaccess позволяет создать собственную конфигурацию управлением сервера Апач в директориях или настройках хостинга.
Глобальные настройки сервера Апач могут содержать запрет на исполнение некоторых команд, обычно это вызывает ошибку 500. Также подобную ошибку может вызывать неправильный синтаксис или ошибка, например пропуск пробела.
Запрет доступа для определенных IP-адресов или диапазонов IP-адресов
Запрет доступа с IP-адреса 123.123.123.123.
Разрешаем доступ только с определенных IP-адресов
Принудительное задание кодировки
Иногда требуется очистка кэша браузера.
Отмена перекодировки сервером
Создание собственных страниц с сообщениями об ошибках
При переходе, например, на несуществующий адрес, посетитель увидит сообщение сервера об ошибке, можно создать собственные страницы ошибок либо перенаправлять посетителя на другой адрес, как главная страница. Но для правильной индексации желательно не перенаправлять, а показывать страницу ошибки.
Строка ErrorDocument 404 http://site.ru/error/404.html указывает, что при ошибке 404 будет показан файл 404.html, который должен находиться в корне директории сайта. Если файл расположен в другой директории, измените путь к файлу или ссылке.
Редиректы
Редирект на .html
Пример, редирект с c site.ru/blog на site.ru/blog.html.
Редирект на страницу без слеша в конце адреса
Пример, редирект с c site.ru/blog/ на site.ru/blog.
Редирект на страницу со слешем в конце адреса
Редирект на страницу без index.php в адресе
Редирект на страницу без index.php в конце адреса
Редирект с www на без www
Редирект без www на www
Склейка доменов
Пример, у вас несколько доменов, но посетитель должен переправляться на один.
Редирект со старых статических url на новые
Пример редирект со страницы http://site.com.ru/id=21.
Защита от хотлинка
Если вы хотите запретить вставку изображений с сайта по прямой ссылке.
Защита от брутофорса
Разрешаем доступ к директории administrator только по протоколу HTTP, что отсеет некоторых ботов. Для каждой CMS нужно указать свой адрес, например wp-login, wp-admin и так далее.
Бытует легенда, что происхождения названия сервера Апач происходит не от названия индейского племени. Когда сервер был еще в самом начале пути, группа энтузиастов небольшие дополнения к коду, патчи (англ – patch), и «a patchy server» превратилось в Апач, а знаменитое перо на логотипе появилось позже.
В материале перечислены наиболее часто используемые примеры, а большинство возможностей даже не упомянуто, как модуль mod_rewrite, предоставляющий множество возможностей.
Статья писалась эпизодическими «набегами», так что если увидите ошибку, поправьте.