Если в отчётах Search Console растут 404, а на сайте копятся старые редиректы, проблема обычно не в «плохом SEO», а в техническом мусоре: удалённые записи, смена структуры URL, старые вложения, дубли с параметрами и цепочки перенаправлений. Это мешает обходу сайта, размывает внутренний вес и усложняет диагностику реальных ошибок.
Ниже — рабочая схема: как найти источник мусорных URL, что закрывать редиректом, что отдавать 410, а что лучше просто исправить в ссылках и шаблонах.
Что именно считать проблемой
Не каждая 404-страница вредна. Нормально, когда бот или пользователь иногда попадает на несуществующий URL. Проблема начинается, если:
- 404 много и они повторяются изо дня в день;
- редиректы ведут через 2–3 шага вместо одного;
- старые URL продолжают попадать во внутренние ссылки;
- удалённые записи остаются в sitemap, хлебных крошках или блоках «похожие материалы»;
- один и тот же контент доступен по нескольким адресам.
Как быстро диагностировать источник
Сначала проверьте три места: отчёт Search Console по страницам с ошибкой, логи сервера и внутренние ссылки на сайте. Если URL приходит из старых материалов, меню или виджетов, редирект не решит первопричину — ссылку нужно исправить в источнике.
Для WordPress полезно отдельно посмотреть, не создаёт ли мусор сам шаблон: архивы вложений, страницы вложений, параметры сортировки, старые пагинации, ссылки на удалённые изображения.
Пошаговое решение: что делать с каждым типом URL
1. Если страница переехала на новый адрес — ставьте 301
Это базовый случай. Старый URL должен вести на ближайший релевантный новый адрес, а не на главную. Так поисковик понимает, что контент переехал, а не исчез.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^staryy-url/?$ /novyy-url/ [R=301,L]
</IfModule>Если у вас Nginx, правило настраивается в конфиге сервера, а не в .htaccess. В WordPress это важно не путать: плагин редиректов не заменяет серверную конфигурацию, если сайт большой и редиректов много.
2. Если контент удалён навсегда — отдавайте 410, а не 301 на главную
Когда записи больше не будет и замены у неё нет, корректнее вернуть 410 Gone. Для поисковика это более честный сигнал, чем бесконечный редирект на нерелевантную страницу.
add_action('template_redirect', function () {
if (is_404() && isset($_SERVER['REQUEST_URI'])) {
$path = wp_parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$gone = [
'/old-page/',
'/archive/old-post/',
];
if (in_array($path, $gone, true)) {
status_header(410);
nocache_headers();
exit;
}
}
});Этот вариант подходит только для конкретного списка URL. Не стоит превращать в 410 всё подряд: сначала убедитесь, что страница действительно удалена без замены.
3. Если URL генерируется ошибочно — исправляйте источник
Например, старый slug остался в меню, в блоке «похожие записи», в произвольном поле или в контенте старой страницы. В этом случае редирект лишь маскирует проблему. Правильный порядок такой: найти источник ссылки, заменить URL, затем оставить редирект как страховку на старые внешние переходы.
Сравнение подходов: редирект, 410 и исправление ссылки
| Сценарий | Что делать | Плюс | Минус |
|---|---|---|---|
| Страница переехала | 301 на новый URL | Сохраняет сигнал и пользователей | Нужен контроль, чтобы не было цепочек |
| Страница удалена без замены | 410 Gone | Быстрее убирает мусор из обхода | Нельзя использовать для временных удалений |
| Ссылка ошибочная внутри сайта | Исправить источник | Убирает причину проблемы | Требует ручной проверки шаблонов и контента |
Как найти и убрать цепочки редиректов
Цепочка выглядит так: старый URL → промежуточный URL → конечная страница. Для пользователя это лишняя задержка, для бота — лишний обход. В WordPress цепочки часто появляются после нескольких миграций или когда редирект настраивали поверх уже существующего редиректа.
Проверьте проблемный адрес через curl:
curl -I https://example.com/staryy-url/Если в ответе несколько переходов, нужно оставить один прямой редирект на конечный адрес. В плагинах редиректов это обычно делается через поиск по старому URL и ручную правку правила.
Чек-лист перед чисткой 404 и редиректов
- Сняли список URL из Search Console и логов сервера.
- Проверили, есть ли у старого адреса новый релевантный аналог.
- Исправили внутренние ссылки в меню, контенте, виджетах и шаблонах.
- Убрали цепочки редиректов до одного шага.
- Для удалённых страниц решили, нужен ли 301 или 410.
- Проверили, не попадают ли мусорные URL в sitemap.
Проверка результата после внедрения
После правок не ограничивайтесь открытием страницы в браузере. Проверьте код ответа и конечный адрес:
curl -I https://example.com/staryy-url/Вам нужно увидеть один понятный сценарий: либо 301 на новый адрес, либо 410 для удалённой страницы, либо 404 для случайного несуществующего URL. Если редиректов несколько, возвращайтесь к правилам и убирайте промежуточные шаги.
Ещё один практический тест — открыть страницу как незалогиненный пользователь и как администратор. Иногда редирект или 404 зависят от кэша, и в панели всё выглядит нормально, а у посетителя остаётся старая версия.
Частые ошибки и как их исправить
Редирект на главную вместо релевантной страницы
Это плохая замена: пользователь не получает ответ на свой запрос, а поисковик видит нерелевантный переход. Исправление простое — ищите ближайший аналог контента или отдавайте 410, если замены нет.
Слишком много правил в .htaccess
Когда редиректов десятки и сотни, файл становится тяжёлым в сопровождении. В таком случае лучше вынести правила в плагин редиректов или управлять ими на уровне сервера, если у вас есть доступ и понятный процесс деплоя.
Удалили страницу, но оставили её в меню и хлебных крошках
Тогда 404 будет возвращаться снова и снова из внутренних переходов. После удаления записи проверьте не только сам URL, но и все места, где он мог быть зашит шаблоном или вручную.
Путают временный и постоянный редирект
Если страница переехала навсегда, нужен 301. 302 оставляет поисковику сигнал, что переезд временный, и это мешает нормальной консолидации адресов.
Что ещё стоит проверить для безопасности и производительности
Массовые 404 и редиректы часто создают лишнюю нагрузку на сервер, особенно если сайт под кэшем, но с большим количеством правил. Полезно:
- сократить цепочки до одного перехода;
- убрать редиректы для несуществующих параметров, если они не нужны;
- проверить, не генерируют ли плагины лишние URL в архивы и фильтры;
- не ставить редиректы «на всякий случай» без понимания, куда ведёт старый адрес.
Если у вас уже есть плагин для чистки SEO-мусора и дублей, например Clearfy Pro, его можно использовать как вспомогательный инструмент для отключения лишних архивов и технических дублей, но редиректы всё равно лучше контролировать отдельно и проверять вручную.
В итоге задача не в том, чтобы скрыть 404 любой ценой, а в том, чтобы оставить только те ошибки, которые действительно случайны, и убрать всё, что создаёт лишний шум для пользователей и поисковых систем.