Карточка удалена, сервер сообщает кодом 404, что страницы нет, а шаблон продолжает выводить canonical на категорию. Команда считает, что тег перенесёт страницу на новый адрес. Здесь смешаны два разных решения: статус отсутствующего ресурса и указание предпочтительной версии существующего содержимого.
Товар временно отсутствует или удалён навсегда
Google использует HTTP-статус при обработке URL; ответ 404 сообщает об отсутствии ресурса. Официальная документация.
В системе управления сайтом (CMS) запись может существовать со статусом «архив», но её публичный ресурс уже удалён. Обсудите с владельцем каталога, сможет ли покупатель снова получить этот товар, полезны ли характеристики и существует ли прямой аналог. От этого зависит ответ. Сохранённая карточка с инструкцией и честным наличием может продолжать приносить пользу. Страница с единственной фразой «ничего не найдено» выполняет другую задачу. Canonical в общем шаблоне не отвечает на вопрос, удалён товар или временно отсутствует. Сначала выберите поведение карточки, затем настройте её ответ и теги.
Три решения для карточки товара
| Что случилось с товаром | Есть ли полезная страница | Ответ старого URL | Что увидит покупатель |
|---|---|---|---|
| Товар навсегда удалён | Замены нет | 404 или 410 | Полезная страница ошибки |
| Товар заменён моделью | Есть сопоставимый аналог | Постоянный редирект | Целевая карточка доступна |
| Временно нет товара | Карточка полезна | Сохранить страницу | Честный статус наличия |
| 404 плюс canonical | Противоречивое ожидание | Проверить логику удаления | Не считать переносом |
Где посмотреть настоящий статус ответа
Откройте инструменты разработчика браузера, вкладку Network, перезагрузите старый URL и выберите запрос страницы. Запишите статус, адрес перехода из Location и полученный HTML. Попросите разработчика проверить обычный запрос страницы (GET): запрос только служебных сведений без содержимого (HEAD) сервер может обрабатывать иначе. Проверьте также неизвестный товар, который никогда не существовал. Если он получает тот же 200-шаблон, проблема может находиться в общем маршруте CMS. Сравнение двух отсутствующих адресов поможет отделить настройку снятой карточки от универсальной ошибки обработки неизвестных путей.
Выполните команду в терминале или передайте её разработчику, чтобы сохранить ответ старой карточки.
curl -sS -D headers.txt -o response.html 'https://example.com/product/old/'Без -L curl сохраняет первый ответ старой карточки: статус и возможный Location будут в headers.txt. Коды 404/410 означают отсутствующий ресурс, 301/308 — постоянный переход, 200 — успешный ответ страницы. Для удалённого товара ожидайте 404/410; для переноса — 301/308 на прямую замену. В response.html проверьте сообщение и отсутствие действующей покупки. Замените example.com своим доменом; этот GET не изменяет настройки сайта. Справка curl.
Почему canonical на категорию не переносит товар
Canonical помогает выбрать основной URL для одинаковых или очень похожих страниц. Карточка удалённого товара и категория с десятками других товаров обычно содержат разную информацию. Даже корректный тег в служебной части HTML — head — не заставляет браузер перейти и не превращает 404 в 301. Если требуется настоящий перенос на прямую замену, используйте соответствующее серверное правило и проверьте его назначение. Если нужен 404, не пытайтесь компенсировать его каноническим указанием. Для удаления проверьте 404/410, для переноса — редирект на подходящую замену. Один тег canonical не выполняет ни одно из этих действий.
Обновите старый маршрут и ссылки
Настройте в CMS или на сервере, что должен получать посетитель при открытии архивной карточки. Удалите старую запись из sitemap, обновите ссылки в подборках и рекомендации, если они больше не должны вести на отсутствующий товар. Для прямого аналога проверьте один переход без цепочки, доступность новой карточки и её собственные метаданные. Не удаляйте весь исторический контент автоматически: ссылки в обзоре старой модели могут быть редакционно оправданы, но читателю нужно понятное сообщение о том, что товар больше не продаётся.
Уберите покупку и цену со страницы ошибки
У страницы отсутствующего товара сохраняйте понятный заголовок, объяснение и рабочую навигацию. Не показывайте активную кнопку покупки снятой модели, если заказать её нельзя. Рекомендации альтернатив могут оставаться, но нужно обозначить их как другие товары. Попросите разработчика проверить машиночитаемую разметку товара Product и предложения Offer в формате JSON-LD: универсальный шаблон не должен выдавать цену и наличие отсутствующей модели на странице ошибки. Это отдельная проверка от canonical. Для временно отсутствующей полезной карточки разметка и видимый статус должны описывать тот же товар. После изменения статуса откройте страницу целиком. Посетитель не должен видеть «товар удалён» рядом с кнопкой «Купить» и ценой, а JSON-LD не должен описывать удалённую модель как доступную.
Повторите вход на старую карточку
Удалённый товар без замены отвечает 404 или 410. Старая карточка с прямой заменой ведёт на неё одним постоянным редиректом, а новая карточка отвечает 200. Неизвестный товар также показывает страницу отсутствия с соответствующим статусом.
Читайте также: HTTP статус-коды: полный справочник (200, 301, 404, 500...) и Soft 404 при ответе сервера 200. Проверки сайта доступны на странице технического аудита reChecker.