12 мин чтения
Как проверить редиректы URL и разобрать цепочку редиректов
Как проверить редиректы URL в TrueURL, curl и DevTools: разбираем каждый переход цепочки и исправляем циклы, длинные цепочки и смесь 301 и 302 редиректов.
Читать статьюБесплатная проверка редиректов
Введите домен, чтобы проверить четыре варианта адреса, по которым на него можно попасть: http и https, с www и без. Каждый должен приводить на один и тот же HTTPS-адрес одним постоянным редиректом.
Нажмите Enter , чтобы проверить
Edge-сеть Cloudflare всегда проверяет сертификаты, поэтому отключить эту проверку нельзя. Проблемы с сертификатом будут показаны в результате.
Отправляется с первым запросом, до 16 КБ. Тело в формате JSON отправляется как application/json, остальное — как данные формы, если вы не указали заголовок Content-Type.
От 1 до 50. Браузеры останавливаются после 20 редиректов.
Сайты могут по-разному перенаправлять смартфоны, поисковых роботов и ботов предпросмотра ссылок.
Отправляются с каждым запросом в цепочке.
Пользовательских заголовков нет.
Введите значение, чтобы отправить этот заголовок. Значения заголовков никогда не сохраняются.
Переходить по тегам <meta http-equiv="refresh"> и заголовкам Refresh на HTML-страницах.
Переходить по простым безусловным редиректам в скриптах страницы, например location.href = "…".
Настройки сохраняются в этом браузере. Файлы cookie, значения заголовков и тело POST-запроса никогда не сохраняются.
Для введенного хоста TrueURL составляет четыре стартовых URL и отслеживает каждый из них:
http://example.comhttp://www.example.comhttps://example.comhttps://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 или отсутствие заголовка отмечаются предупреждением.
http://example.com на https://example.com, а затем на https://www.example.com. Объедините правила для протокола и хоста, чтобы каждый вариант вел сразу на конечный URL (но учтите исключение для HSTS preload, описанное ниже).www, не покрыт сертификатом. Edge-сеть Cloudflare всегда проверяет сертификаты, поэтому для этого варианта вместо редиректа показывается ошибка TLS.www и без www ведут на разные URL, и сигналы делятся между двумя хостами.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-редиректе.
12 мин чтения
Как проверить редиректы URL в TrueURL, curl и DevTools: разбираем каждый переход цепочки и исправляем циклы, длинные цепочки и смесь 301 и 302 редиректов.
Читать статью13 мин чтения
Что означает каждый код 3xx: сравниваем 301, 302, 303, 307 и 308 по постоянству, сохранению метода, кэшированию и SEO, с примерами для nginx, Apache и PHP.
Читать статьюВведите домен в поле выше. TrueURL запросит версии с http:// и https://, с www и без, и покажет, где заканчивается каждая из них, какие коды ответа использовались и сколько переходов понадобилось. Все настроено правильно, если все четыре варианта ведут на один и тот же HTTPS-адрес и каждый редирект постоянный.
Для SEO подходит любой вариант. Важно выбрать один, перенаправлять на него второй 301 редиректом и последовательно использовать его в ссылках, тегах canonical и карте сайта. Хост с www бывает проще направить на CDN, потому что DNS не позволяет создать запись CNAME для корневого домена (некоторые DNS-провайдеры предлагают обходные решения), но это технический выбор, а не фактор ранжирования.
Этот «307 Internal Redirect» создает сам Chrome, потому что сайт есть в его списке HSTS, так что запрос по HTTP вообще не отправлялся. Настоящий редирект на сервере может быть 301 или чем-то совсем другим. У TrueURL нет кэша HSTS, поэтому он всегда показывает фактический ответ сервера.
Небольшая. Посетители все равно попадают на HTTPS, но временный редирект сообщает поисковым системам, что HTTP-адрес может вернуться, а это способно замедлить или запутать переезд. Замените его на 301 или 308.
Введите домен в поле выше и откройте проверку 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 в инструменте «Проверка цепочки редиректов» или сразу много — в инструменте «Массовая проверка редиректов».