TrueURL
TrueURL

Меню

Бесплатная проверка редиректов

Проверка редиректа на HTTPS

Введите домен, чтобы проверить четыре варианта адреса, по которым на него можно попасть: http и https, с www и без. Каждый должен приводить на один и тот же HTTPS-адрес одним постоянным редиректом.

Что проверяет инструмент

Для введенного хоста TrueURL составляет четыре стартовых URL и отслеживает каждый из них:

  • http://example.com
  • http://www.example.com
  • https://example.com
  • https://www.example.com

При правильной настройке все четыре заканчиваются на одном каноническом URL с HTTPS. Эта версия сразу отвечает 200 OK, а остальные три попадают на нее одним редиректом 301 или 308. Любой переход с HTTPS обратно на HTTP помечается.

TrueURL также проверяет HSTS. Сервис читает заголовок Strict-Transport-Security из последнего HTTPS-ответа (обычно это ваш канонический URL) и показывает исходное значение, max-age и наличие директив includeSubDomains и preload. Значение max-age от одного года считается достаточным. Более короткий max-age, max-age=0, заголовок без корректного max-age или отсутствие заголовка отмечаются предупреждением.

Типичные проблемы с редиректом на HTTPS и их решение

  • Нет редиректа с HTTP: версия с http:// показывает страницу, а не перенаправляет. Добавьте редирект на HTTPS для всего сайта: один только тег canonical посетителей не защищает.
  • Два перехода и больше: например, с http://example.com на https://example.com, а затем на https://www.example.com. Объедините правила для протокола и хоста, чтобы каждый вариант вел сразу на конечный URL (но учтите исключение для HSTS preload, описанное ниже).
  • Временный редирект: 302 или 307 с HTTP на HTTPS. Используйте 301 или 308, чтобы поисковые системы индексировали только HTTPS-версию.
  • Редирект с HTTPS на HTTP: переход с https:// обратно на http://. Обычно виновато случайное правило или приложение за прокси или CDN, которое строит абсолютные URL с неправильной схемой.
  • Ошибки сертификата: один из вариантов, часто с www, не покрыт сертификатом. Edge-сеть Cloudflare всегда проверяет сертификаты, поэтому для этого варианта вместо редиректа показывается ошибка TLS.
  • Варианты расходятся: версии с www и без www ведут на разные URL, и сигналы делятся между двумя хостами.

HSTS и исключение для preload

HSTS указывает браузерам автоматически использовать HTTPS для вашего домена, не запрашивая сначала HTTP. Типичный заголовок — Strict-Transport-Security: max-age=31536000; includeSubDomains. Браузеры принимают его только в HTTPS-ответах и игнорируют в обычных HTTP-ответах.

Если вы хотите добавить домен в список предварительной загрузки HSTS (HSTS preload) на hstspreload.org, первый переход с HTTP должен оставаться на том же хосте: с http://example.com на https://example.com и только затем на https://www.example.com. Такая цепочка из двух переходов — признанное исключение из правила одного редиректа. Кроме того, заголовок должен содержать max-age не меньше одного года, includeSubDomains и preload, и его нужно отправлять также в самом HTTPS-редиректе.

После перехода на HTTPS

  • Обновите внутренние ссылки, теги canonical, атрибуты hreflang и карту сайта, указав в них HTTPS-адреса, чтобы поисковые роботы не натыкались на редиректы.
  • Сохраняйте редирект с HTTP на HTTPS навсегда: старые ссылки будут годами указывать на http://.
  • Убедитесь, что HTTPS-версия сайта подтверждена в Google Search Console, и отправьте обновленную карту сайта.
  • Проверяйте все заново после любых изменений в CDN, хостинге или сертификате.

Руководства

Частые вопросы

Как проверить редирект с HTTP на HTTPS?

Введите домен в поле выше. TrueURL запросит версии с http:// и https://, с www и без, и покажет, где заканчивается каждая из них, какие коды ответа использовались и сколько переходов понадобилось. Все настроено правильно, если все четыре варианта ведут на один и тот же HTTPS-адрес и каждый редирект постоянный.

Что выбрать: с www или без www?

Для SEO подходит любой вариант. Важно выбрать один, перенаправлять на него второй 301 редиректом и последовательно использовать его в ссылках, тегах canonical и карте сайта. Хост с www бывает проще направить на CDN, потому что DNS не позволяет создать запись CNAME для корневого домена (некоторые DNS-провайдеры предлагают обходные решения), но это технический выбор, а не фактор ранжирования.

Почему Chrome DevTools показывает 307 для редиректа с HTTP на HTTPS?

Этот «307 Internal Redirect» создает сам Chrome, потому что сайт есть в его списке HSTS, так что запрос по HTTP вообще не отправлялся. Настоящий редирект на сервере может быть 301 или чем-то совсем другим. У TrueURL нет кэша HSTS, поэтому он всегда показывает фактический ответ сервера.

302 с HTTP на HTTPS — это проблема?

Небольшая. Посетители все равно попадают на HTTPS, но временный редирект сообщает поисковым системам, что HTTP-адрес может вернуться, а это способно замедлить или запутать переезд. Замените его на 301 или 308.

Как проверить, отправляет ли сайт HSTS?

Введите домен в поле выше и откройте проверку HSTS в результатах. TrueURL читает заголовок Strict-Transport-Security из последнего HTTPS-ответа и показывает его значение, max-age (с предупреждением, если он меньше года) и наличие includeSubDomains и preload. Без этого заголовка каждый визит по введенному вручную домену или старой ссылке http:// начинается с незашифрованного запроса, который может перехватить кто-то в той же сети. С ним браузеры, которые уже видели заголовок, в следующий раз сразу переходят на HTTPS. Начните с небольшого max-age, перед добавлением includeSubDomains убедитесь, что все поддомены работают по HTTPS, а затем увеличьте значение до года или больше.

Можно ли проверить сайт с недействительным или просроченным сертификатом?

Проблему вы увидите, но дальше нее проверка не пойдет. Проверку сертификатов в edge-сети Cloudflare нельзя отключить даже при включенной настройке «Игнорировать ошибки SSL», поэтому для затронутого варианта на этом переходе показывается ошибка TLS. Обычно именно это и нужно знать: браузеры в этом месте тоже покажут посетителям предупреждение.

Нужен ли редирект для каждой страницы или только для главной?

Для каждого URL. Правило для всего сайта должно отправлять http://example.com/any/path?query на тот же путь с теми же параметрами по HTTPS. Проверьте несколько глубоких URL в инструменте «Проверка цепочки редиректов» или сразу много — в инструменте «Массовая проверка редиректов».