Редирект меняет путь, но не исходную ссылку

Обратная ссылка — это HTML-ссылка на исходной странице. Если её цель возвращает 301, клиент может перейти по Location; href у издателя автоматически не меняется. Отдельно учитывайте ссылку, перенаправляющий URL и конечный документ. Переезд может сохранить доступ к нужному материалу, но дополнительный промежуточный адрес не равен новой редакционной рекомендации.

RFC 9110 · 301 / 302 / 307 / 308

Уточните, какие URL вы контролируете

Изменить маршрутизацию можно только на подконтрольном хосте или в приложении. Внешний издатель управляет страницей-источником. Зафиксируйте обе зоны ответственности. Обновите внутренние ссылки и при необходимости попросите издателя исправить адрес, сохранив старый путь для посетителей. Руководство не создаёт ссылки через адреса Google, не покупает просроченные домены и не отправляет сообщения.

Сопоставьте адреса по содержанию и назначению

Запишите старый URL, его назначение, замену и подтверждение соответствия материалов. Используйте свои записи, навигацию и sitemap; экспорт может быть неполным. Сохраняйте значимые варианты языка, товара и параметров. Перенаправлять всё на главную — не значит составить карту. Для окончательно удалённого материала без аналога уместен ответ об отсутствии ресурса. Соответствие в лаборатории задано условием, а не автоматической оценкой качества.

Google · Site moves

Различайте постоянный и временный переезд

Для постоянного переезда используйте 301 или 308, для временного — 302 или 307. Google описывает разные сигналы канонизации; локальный тест не показывает его окончательный выбор. Здесь используется GET. Для POST и других методов нужно отдельно проверить сохранение метода. Старые постоянные перенаправления могут остаться в кеше браузера или прокси; лаборатория отправляет no-store для повторяемой проверки.

Google · Redirects

Повторите семь примеров до и после

Набор запускает настоящий HTTP-сервер на loopback. Исходные страницы сохраняют одинаковые ссылки в обеих конфигурациях; меняются правила цели. Выберите пример и фазу, затем изучите каждый ответ. Цикл прекращается до повторного запроса. Исправный контрольный случай остаётся прежним. Это воспроизводимое упражнение, а не обход вашего сайта или модель поисковика.

Исследуйте пути перенаправления
IDОжидаемый результатДоПосле
R01Для старого руководства есть подходящий /guide, но URL возвращает 404.404 /r1/old-guide301 /r1/old-guide → 200 /guide
R02Руководство открывается через /middle; промежуточный переход устраним.301 /r2/old-guide → 301 /middle → 200 /guide301 /r2/old-guide → 200 /guide
R03Старый адрес и /r3/loop направляют друг к другу без конечного документа.301 /r3/old-guide → 301 /r3/loop · URL повторился: остановка до нового запроса301 /r3/old-guide → 200 /guide
R04Читатель ждёт руководство, а /home содержит общую навигацию. Обе фазы заканчиваются 200.301 /r4/old-guide → 200 /home301 /r4/old-guide → 200 /guide
R05Материал окончательно удалён; /home не отвечает его назначению.301 /r5/old-guide → 200 /home410 /r5/old-guide
R06Исходный сервис вернётся; /holding — временное уведомление.301 /r6/old-guide → 200 /holding302 /r6/old-guide → 200 /holding
R07Старое руководство уже достигает подходящей замены через один 301.301 /r7/old-guide → 200 /guide301 /r7/old-guide → 200 /guide

R01 · Перенесённая страница без правила

Добавьте одно постоянное перенаправление на заданную замену.

Тот же старый URL отвечает 301, затем /guide — 200 с нужным материалом.

R02 · Рабочая цепочка с лишним шагом

Направьте сразу на /guide, сохранив ещё нужные промежуточные правила.

Три запроса превращаются в два; материал и исходная ссылка не меняются.

R03 · Два URL образуют цикл

Замените начальное правило прямым переходом на /guide.

Остановка по циклу исчезает; наблюдаются ответы 301 и 200.

R04 · Главная доступна, но цель неверна

Укажите подходящий /guide вместо произвольной доступной страницы.

Проверьте путь и тело ответа. Это не наблюдённая классификация soft 404 в Google.

R05 · Удалённый материал без замены

Верните 410 для этого случая и уберите устаревшие внутренние ссылки.

Старый URL отвечает 410; замена и восстановление позиций не выдумываются.

R06 · Временный переезд помечен постоянным

Используйте 302 для данного GET и запланируйте восстановление.

То же уведомление открывается через 302 вместо 301; старый кеш и поисковую обработку проверяют отдельно.

R07 · Правильное постоянное правило сохраняется

Оставьте рабочее правило как контроль.

Доказательства до и после идентичны; ненужная правка не предлагается.

Проверьте весь путь после публикации

После разрешённого развёртывания проверьте публичный URL через реальный прокси или CDN. Сохраните первый статус, все Location, конечный адрес, ответ и ожидаемый материал. Проверьте важные параметры, протоколы и варианты хоста. Доступ для обхода, canonical и директивы индексации оценивайте отдельно. Запишите циклы, промежуточные пути и ответственного. Успешный запрос не доказывает повторную обработку изменения Google.

Google · HTTP status codes

Индексация, выбор канонического адреса, трафик и позиции не измеряются. Процент переданного авторитета не рассчитывается.

Поддерживайте карту перенаправлений

Храните датированную карту и повторяйте проверки после изменений CMS или маршрутизации. Google советует сохранять редиректы миграции как можно дольше, обычно минимум год. Использование старых ссылок посетителями может потребовать большего срока. Обновляйте внутренние ссылки и sitemap, наблюдайте известные пары источник–цель и доступные авторизованные поисковые данные. Запаздывание счётчика провайдера с иным охватом само по себе не означает сбой.

Google · Site moves

Мониторинг обратных ссылок

Нужен Python 3.10 или новее. Распакуйте ZIP локально. Проверка запускает временный loopback-сервер, тестирует все случаи, выводит JSON и завершается. Внешние сайты не запрашиваются.

Заполненная карта редиректов (CSV)

Пустая карта редиректов (CSV)

Отчёт с пояснениями (HTML)

Инструкция

Локальный набор тестов (ZIP)