Генератор 301 редиректов для Apache и Nginx
При переезде сайта или смене URL нужны сотни редиректов, а одна ошибочная строка может создать цикл. Сгенерируйте правила по своей таблице соответствий и проверьте их до развёртывания.
Когда правила начнут действовать, инструмент откроет до 50 старых URL и сверит, куда они ведут на самом деле, с картой. Для относительных путей нужно заполнить поле с доменом.
При онлайн-проверке на сервер IndexFix Tools передаётся только адрес: сервер загружает эту общедоступную страницу и возвращает ответ. Ничего не сохраняется.
Ваши данные остаются в браузере. Ничего не передаётся на сервер и не сохраняется.
Главное
- При смене URL Google рекомендует постоянные серверные переадресации, например 301 и 308.
- Перенаправляйте сразу на конечный адрес; если без цепочек не обойтись, в идеале делайте их не длиннее 3 переходов и не допускайте 5 и более.
- Поисковые роботы Google проходят до 10 переходов переадресации; 301 и 308 — сильные сигналы, 302 и 307 — слабые.
- Сохраняйте переадресации как можно дольше — как правило, не меньше 1 года.
Скачайте чек-лист «Диагностика проблем с индексацией»
Пошаговая проверка: статус в Search Console, доступность страницы, robots.txt, noindex, канонический URL, переадресации, файл Sitemap и обратные ссылки — и что делать в каждом случае.
Скачать PDF PDF · страниц: 3Как пользоваться
- Подготовьте таблицу соответствий: в каждой строке старый URL и его новый URL, разделённые запятой, табуляцией или стрелкой.
- Вставьте её или выберите CSV-файл и, если старые URL записаны полными адресами, укажите хост сайта.
- Выберите сервер (Apache, Nginx или оба) и код статуса.
- Нажмите Создать правила и исправьте всё, что попало в раздел «Что проверить в первую очередь».
- Скопируйте или скачайте правила, проверьте их на тестовом сервере и только потом разверните.
Где взять данные
Результаты сканирования старого сайта
Полный список старых URL, включая URL с параметрами.
Старые файлы Sitemap и аналитика
Старые файлы Sitemap и самые посещаемые страницы — чтобы не пропустить важные URL.
Ваша таблица соответствий
Два столбца — старые и новые URL, экспортированные в CSV.
Точные совпадения в Apache
Директива Redirect в Apache сравнивает адреса по префиксу, поэтому правило для /old срабатывает и для /old-page. Для точных совпадений генератор использует RedirectMatch с ^ и $. URL со строкой запроса требуют mod_rewrite, поэтому для таких строк генерируются директивы RewriteCond и RewriteRule с флагом QSD, который отбрасывает старую строку запроса (Apache 2.4 и новее).
Nginx и map
Для Nginx генератор создаёт map по $request_uri (эта переменная включает строку запроса) и один блок if, который возвращает переадресацию. Блок map размещается в контексте http, а блок if — в блоке server.
Цепочки и циклы
Если новый URL сам переадресуется дальше по списку, старый URL направляется сразу на конечную цель. Цикл, в котором URL переадресуют друг на друга, в правила не попадает и выводится отдельным списком, чтобы вы исправили таблицу соответствий.
Следующий шаг
После развёртывания пройдитесь по SEO-чек-листу после переезда сайта.
Вопросы и ответы
301 или 308?
Оба кода — постоянные переадресации, и Google обрабатывает их одинаково. Код 308 к тому же указывает клиентам сохранить метод запроса.
Поддерживаются ли шаблоны и подстановочные знаки?
Нет. Генератор пишет точные правила «один к одному» — это самый безопасный вариант для карты URL.
Что делать, если старые URL на другом домене?
Укажите хост старого сайта; строки, где старый URL находится на другом хосте, пропускаются и выводятся отдельным списком.
Как долго должны действовать переадресации?
Google советует, как правило, не меньше года, а по возможности — дольше.
Источники
- Site moves with URL changes — Google Search Central: https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes
- How HTTP status codes and network errors affect Google Search — Google Search Central: https://developers.google.com/search/docs/crawling-indexing/http-network-errors
- mod_alias — Apache HTTP Server documentation: https://httpd.apache.org/docs/2.4/mod/mod_alias.html
- ngx_http_map_module — nginx documentation: https://nginx.org/en/docs/http/ngx_http_map_module.html