Карточка удалена, сервер отвечает 404, а шаблон продолжает выводить canonical на категорию. Команда считает, что тег перенесёт страницу на новый адрес. Здесь смешаны два разных решения: статус отсутствующего ресурса и указание предпочтительной версии существующего содержимого.
Решение начинается с судьбы товара
Определите судьбу товара: временно нет в наличии, навсегда удалён без аналога или заменён сопоставимым товаром. Для каждого случая нужен свой ответ. Ошибка 404 не становится успешным переносом благодаря дополнительному тегу в head.
Google использует HTTP-статус при обработке URL; ответ 404 сообщает об отсутствии ресурса. Официальная документация.
В CMS запись может существовать со статусом «архив», но её публичный ресурс уже удалён. Обсудите с владельцем каталога, сможет ли покупатель снова получить этот товар, полезны ли характеристики и существует ли прямой аналог. От этого зависит ответ. Сохранённая карточка с инструкцией и честным наличием может продолжать приносить пользу. Страница с единственной фразой «ничего не найдено» выполняет другую задачу. Присутствие canonical в универсальном head не сообщает, какое из этих решений команда приняла.
Разведите удаление, замену и временное отсутствие
Учебные сценарии в таблице задают ожидаемое поведение; фактические ответы своего сайта заносите отдельно.
| Сценарий | Отличие | Решение | Проверка |
|---|---|---|---|
| Товар навсегда удалён | Замены нет | 404 или 410 | Полезная страница ошибки |
| Товар заменён моделью | Есть сопоставимый аналог | Постоянный редирект | Целевая карточка доступна |
| Временно нет товара | Карточка полезна | Сохранить страницу | Честный статус наличия |
| 404 плюс canonical | Противоречивое ожидание | Проверить логику удаления | Не считать переносом |
Для замены модели сравните назначение, основные характеристики и информацию для покупателя. Совпадение категории недостаточно: переход с детской обуви на весь раздел обуви может потерять конкретный ответ. Для временного отсутствия проверьте, что страница сохраняет описание товара, его идентичность и честный статус. Для окончательного удаления без аналога предусмотрите понятную страницу ошибки со ссылками на доступные разделы. Эти ссылки помогают человеку продолжить работу, но не требуют подменять фактическое отсутствие товара успешным HTTP-ответом.
Проверьте статус GET, а не подпись в шаблоне
Запросите старый URL методом GET и проверьте фактический статус, тело ответа и цепочку переходов. Затем отдельно откройте категорию или заменяющую карточку; сходство адресов не доказывает соответствие содержания.
Откройте Network, перезагрузите старый URL и выберите запрос документа. Запишите статус, Location при наличии перехода и окончательное тело страницы. HEAD может обрабатываться иначе, поэтому основным подтверждением поведения здесь служит GET. Проверьте также неизвестный товар, который никогда не существовал. Если он получает тот же 200-шаблон, проблема может находиться в общем маршруте CMS. Сравнение двух отсутствующих адресов поможет отделить настройку снятой карточки от универсальной ошибки обработки неизвестных путей.
Почему canonical категории не заменяет перенос
В учебном каталоге удалена модель A, модель B является её прямой заменой, модель C лишь принадлежит той же категории. Перенос на B требует проверки соответствия; само наличие категории C не делает её подходящим назначением.
Canonical указывает предпочтительную версию сопоставимого документа. Удалённый товар и категория с десятками других товаров часто не являются таким сопоставимым содержимым. Даже корректная строка в head не заставляет браузер перейти и не превращает 404 в 301. Если требуется настоящий перенос на прямую замену, используйте соответствующее серверное правило и проверьте его назначение. Если нужен 404, не пытайтесь компенсировать его каноническим указанием. Технические сигналы должны описывать принятое решение, а не одновременно обещать удаление и перенос.
Исправьте маршрут и входящие ссылки
При удалении без замены отдавайте корректную страницу ошибки с 404 или 410. При настоящей замене настройте серверный постоянный редирект. При временном отсутствии сохраните полезную карточку и актуальную информацию о наличии.
Вынесите решение об архивных товарах в правила публичного маршрута. Удалите старую запись из sitemap, обновите ссылки в подборках и рекомендации, если они больше не должны вести на отсутствующий товар. Для прямого аналога проверьте один переход без цепочки, доступность новой карточки и её собственные метаданные. Не удаляйте весь исторический контент автоматически: ссылки в обзоре старой модели могут быть редакционно оправданы, но читателю нужно понятное сообщение о том, что товар больше не продаётся.
Приёмка удалённого адреса и страницы назначения
Не направляйте каждый снятый товар на главную или случайную категорию. Такая замена может не отвечать прежнему запросу, даже если технически редирект работает.
Проверьте три адреса после релиза: удалённую карточку, её предполагаемую замену и случайный неизвестный URL. Для каждого заранее назначьте ожидание. На странице ошибки должны работать ссылки продолжения, но её статус остаётся выбранным статусом отсутствия. У новой карточки не должно быть обратного редиректа или canonical на снятую модель. Если поисковый инструмент ещё показывает старую обработку, запишите дату последнего обхода. Это отдельное наблюдение; оно не отменяет свежую техническую приёмку и не позволяет обещать дату исчезновения URL.
Что должно остаться в интерфейсе ошибки
У страницы отсутствующего товара сохраняйте понятный заголовок, объяснение и рабочую навигацию. Не показывайте активную кнопку покупки снятой модели, если заказать её нельзя. Рекомендации альтернатив могут оставаться, но нужно обозначить их как другие товары. Проверьте также разметку Product и Offer: универсальный шаблон не должен выдавать цену и наличие отсутствующей модели на странице ошибки. Это отдельная проверка от canonical. Для временно отсутствующей полезной карточки разметка и видимый статус должны описывать тот же товар. Приёмка удалённого URL охватывает HTTP-ответ, интерфейс и данные товара вместе; иначе исправление статуса оставит посетителю противоречивые сведения, а разработчику — ложное ощущение, что достаточно одной строки в head.
Критерии завершения проверки
Удалённый URL отдаёт выбранный статус либо ведёт на доказанно подходящий аналог. Внутренние ссылки и sitemap обновлены, шаблон ошибки больше не используется как механизм переноса.
- Товар навсегда удалён: Полезная страница ошибки. Зафиксируйте фактический результат и адрес проверенного сценария.
- Товар заменён моделью: Целевая карточка доступна. Зафиксируйте фактический результат и адрес проверенного сценария.
- Временно нет товара: Честный статус наличия. Зафиксируйте фактический результат и адрес проверенного сценария.
- 404 плюс canonical: Не считать переносом. Зафиксируйте фактический результат и адрес проверенного сценария.
Для смежных вопросов: HTTP статус-коды: полный справочник (200, 301, 404, 500...) и Soft 404 при ответе сервера 200. Отдельные проверки сайта собраны на странице технического аудита reChecker.