Битые ссылки в SEO
Битая ссылка - это ссылка, которая ведет
на страницу с кодом 404 или 410.
Пользователь кликает и попадает на «страница
не найдена». Поисковый робот идет по такой
ссылке и тоже упирается в тупик.
Если битых ссылок много, робот тратит время на мусор и хуже обходит полезные страницы. Поэтому битые ссылки находят и чинят.
Как найти битые ссылки
Самый быстрый способ - краулер. Это
программа, которая обходит сайт по ссылкам
и собирает статусы ответов. Часто для
этого берут
Screaming Frog,
а из терминала -
curl.
Проверим одну ссылку через curl:
curl -I https://example.com/old-page
Флаг -I просит только заголовки.
В ответе смотрим первую строку:
HTTP/1.1 404 Not Found
Код 404 - ссылка битая. Код 200 -
все хорошо. А вот коды 301 и 302
означают редирект. Про них дальше.
Цепочки редиректов
Редирект - это перенаправление с одного адреса на другой. Иногда редиректы выстраиваются в цепочку: A ведет на B, B ведет на C. Каждый переход - лишний шаг для робота и потеря скорости.
Проверим цепочку через curl:
curl -I -L https://example.com/a
Флаг -L заставляет curl идти по
всем редиректам до конца. В выводе будет
видно каждый шаг:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/b
HTTP/1.1 301 Moved Permanently
Location: https://example.com/c
HTTP/1.1 200 OK
Здесь два лишних прыжка. Правильно -
сразу вести с /a на /c одним
редиректом 301.
Инструменты
Для разовой проверки хватает curl.
Для обхода всего сайта используют краулеры:
Screaming Frog, Sitebulb, а также отчеты
в Яндекс Вебмастере и Google Search Console.
Проверить сразу пачку URL можно так:
curl -I https://example.com/page1
curl -I https://example.com/page2
Смотрим коды ответов и выписываем проблемные адреса в список на починку.
Что чинить и в каком порядке
Порядок такой. Сначала страницы, которые
отдают 404, но на них ведут внутренние
ссылки. Это прямые потери и для людей,
и для робота.
Потом цепочки редиректов - их схлопывают
в один 301. Затем внешние ссылки
с других сайтов на битые адреса: их
перенаправляют на живые страницы.
В конце - битые ссылки в самом контенте: в текстах, меню, подвале. Их либо убирают, либо заменяют на рабочую страницу.
Правильный редирект на постоянный адрес выглядит так:
RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]
Практические задачи
Расскажите, чем опасны битые ссылки для поискового робота.
Дан ответ сервера:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/b
HTTP/1.1 301 Moved Permanently
Location: https://example.com/c
HTTP/1.1 200 OK
Что здесь не так и как это исправить?
Дана команда:
curl -I -L https://example.com/a
Расскажите, что она делает и что покажет в выводе.
Дана команда:
curl -I https://example.com/old-page
Сервер ответил кодом 404. Что это
значит и что делать со ссылкой?
Дан файл .htaccess:
RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]
Расскажите, что делает этот код
и почему выбран код 301.
Расскажите, в каком порядке чинят битые ссылки и цепочки редиректов.