Переезд адресов: карта соответствий до включения редиректов

2 мин чтения

Готовим карту старых и новых URL, настраиваем постоянные переходы и проверяем, что читатель попадает в нужную статью.

Переезд без потери пути к статье
  1. Старый URLДля каждого материала выбираем точный новый адрес
  2. Один редирект 301Перенаправляем сразу на конечную страницу
  3. Новый URLПроверяем ответ, canonical и внутренние ссылки

После переезда сайта статьи на месте, а ссылки из закладок перестали работать. Чтобы этого не случилось, старые адреса нужно сопоставить с новыми ещё до включения перенаправлений. Такая карта помогает сохранить путь к каждому материалу и заметить, где вместо нужной статьи получилась главная страница или цепочка редиректов.

Как составить таблицу адресов

/2019/linux/backup.html -> /linux/tar-restore-check/
/2020/ssh-profile.html -> /linux/ssh-client-profiles/
/removed-empty-note.html -> отсутствует, равноценной замены нет

Эта таблица показывает соответствие адресов; правила сервера нужно настроить отдельно. Для каждой строки определите смысл нового материала и убедитесь, что он доступен. Если несколько старых заметок действительно объединены в один полноценный разбор, общий адрес может быть оправдан. Если связи по содержанию нет, направление на случайную рубрику или главную страницу вводит читателя в заблуждение.

Выбираем постоянный переход

Для окончательного переезда используют постоянное серверное перенаправление, например 301. Временный перенос требует другого решения по смыслу. Внутренние ссылки обновляют на конечный адрес, чтобы обычная навигация не зависела от старой схемы. Проверяйте точность правил: слишком широкое совпадение способно перехватить новые страницы или направить разные статьи в одно место.

curl -sS -o /dev/null -D - https://example.com/2020/ssh-profile.html
curl -sS -L -o /dev/null -w 'final=%{url_effective} code=%{http_code} redirects=%{num_redirects}\n' https://example.com/2020/ssh-profile.html

Первая команда показывает первоначальный статус и Location. Вторая позволяет увидеть конечный адрес и число переходов. Сам по себе финальный код 200 недостаточен: проверьте, что загружена нужная статья, а не универсальная страница ошибки. Для маленького сайта такую проверку можно выполнить по всей карте, для большого — автоматизировать и дополнить ручной проверкой характерных случаев.

Убираем цепочки и наблюдаем

Старый адрес желательно направлять сразу в конечный пункт. Последовательность из нескольких прежних структур добавляет обращения и усложняет расследование ошибок. Проверьте варианты с параметрами, завершающим слешем и разным регистром, если они встречались в реальных ссылках. Не предполагается, что сервер одинаково обрабатывает все формы URL.

После переезда не отказывайтесь сразу от старого домена и перенаправлений. Следите за ошибками и проверяйте старые ссылки: они должны вести в соответствующие материалы. Внутри сайта используйте уже новые адреса. Поисковику потребуется время на обработку переезда; сохранение прежних позиций карта редиректов не гарантирует.

Источники и дальнейшее чтение