Внутренние ссылки через редирект

пошаговая инструкция · Около часа

← Все инструкции

1. Что произошло

Ссылки внутри сайта ведут не на итоговые адреса, а через переадресацию.

2. Почему это важно

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

3. На каких страницах обнаружено

Ссылки внутри сайта, которые ведут на адрес с редиректом. Список страниц с такими ссылками — в аудите страниц и глубоком обходе.

Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/redirects_int/ваш-сайт.ru.

4. Как исправить

Для phpBB

  1. Ссылки в стилях — в папке styles/ваш_стиль/template; ссылки в сообщениях — SQL-заменой в таблице phpbb_posts после резервной копии.

Общее для любого сайта

  1. Для каждого адреса из списка найдите конечный адрес (куда ведёт редирект) и замените им ссылку на страницах-источниках.
  2. Начните с меню, подвала и шаблонов: одна правка в шаблоне исправляет сотни страниц.
  3. Сами редиректы не удаляйте: на них могут вести внешние ссылки и закладки.

5. Готовый код

Замените example.com на свой домен. Перед правкой конфигурации сделайте резервную копию файла.

WordPress

WP-CLI: замена адреса в содержимом
wp search-replace 'https://example.com/old-page/' 'https://example.com/new-page/' --dry-run
wp search-replace 'https://example.com/old-page/' 'https://example.com/new-page/'

6. Как проверить результат

  1. Команда из блока «Как проверить» теперь показывает код 200 по адресу, который стоит в ссылке (редиректа нет).
  2. Запустите аудит страниц или глубокий обход повторно: число «ссылок через редирект» должно упасть.
Куда ведёт адрес
curl -sIL -o /dev/null -w '%{http_code} %{url_effective}\n' https://example.com/old-page/

Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».