Сайт на ocStore не отдает ошибку 404 для несуществующих страниц корректно, т.е. текст «страница не найдена», но для страницы передается код HTTP 200 OK. К примеру для страниц с отключенными товарами. По рекомендации в разделе форума Настройки, оптимизации, фичи, статьи для OpenCart, добавил в файлы движка catalog/controller/product/ - category.php, product.php, manufacturer.php конструкцию: Код: $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . '/1.1 404 Not Found'); В результате сервер стал отдавать HTTP/1.1 404 Not Found – и для включенных товаров, при этом страницы с товарами открываются. Подскажите, что сделать, что бы для отключенных на сайте товаров сервер отдавал HTTP 404?
Отдавать ошибку 404 дл отключенных товаров вообще не самый лучший с точки зрения СЕО вариант, если что. Я бы вообще тут голову не ломал и к этому не стремился. Когда вместо существовавшей страницы получаем 404-ю это всегда минус. Лучше бы думали как убрать отключенные товары с витрины и запретить их заказ (убрать кнопку "купить").
- согласен, но IMHO, это принято по-умолчанию в ОС. - они и так не отображаются. А вот запретить кнопку Купить для товаров с нулевым количеством товарного запаса - это мысль. Надо подумать
Ну вот пример на сайте магазина как выглядит страница с включенным и отключенным товаром, и в обоих случаях сервер отдает HTTP 200 OK. Страница - товар включен Страница - товар выключен Разве это правильно? Да и сточки зрения СЕО - чего хорошего если посетитель будет заходить на отключенные страницы по сохранившимся URL- ссылкам.
А что хорошего с точки зрения сео если пользователь будет ходить по битым ссылкам? Это не я придумал, факт по-моему общеизвестный. В прочем, дело Ваше, делайте так как считаете нужным.
Непорядок. Налицо косяк в работе скрипта ОС. У меня (1.5.4.1) отключенные товары вызывают появление "страницы 404". Попробуйте на чистом новом магазине - возможно проявляется влияние установленных плагинов. --- Добавлено, 18 мар 2015 --- Я отключаю товары, которые больше не планирую продавать - зачем вводить в заблуждение покупателей и поисковики? Для временно отсутствующих товаров есть состояние "нет в наличии".
Магазин рабочий, многое перепилено и переносить весь функционал с товарами - потребует много времени и усилий. Хотел бы узнать - где искать решение проблемы? В какую сторону смотреть?
Благодарю! То что нужно! P/S Рано я обрадовался. К сожалению указанные по ссылке правки проблемы не решили. Все так же открываются выключенные страницы товаров с заголовком сервера HTTP 200 OK.
Не надо ничего переносить. Надо вычислить/догадаться какой модуль "испортил малину". Насколько я понимаю, проявления косяков: - отключенные товары всё-таки показываются, - 404 страница создаётся, но с заголовком "200". Первым делом проверьте первую строку catalog\view\theme\Sh3start\template\error\not_found.tpl - есть ли там <?php header ("HTTP/1.1 404 Not Found"); ?> Ну и поиграть с локальной копией сайта на предмет последовательного отключения добавленных модулей.
Как раз 404 страница не создается, открывается страница выключенного товара без заголовка, описания, главного изображения, но с ценой, доп изображениями - и статусом - 200 ОК, - как на скриншоте выше. Полагаю правкой шаблона not_found.tpl - проблему не решить. При выводе отключенного товара выводится не not_found.tpl, как должно быть, а шаблон product.tpl - просто не наполняет всеми данными.
Не сработало к сожалению. Информация для Opencart 1.5.1.3 - я использую ocStore 1.5.5.1.2 - там местами другие фрагменты кода. Да и указанный мануал от февраля 2012г.- похоже устарел.
Я бы уже закатал рукава и последовательно устанавливал дополнения/модули на чистый движок --- Добавлено, 20 мар 2015 --- И ещё стОит кэш почистить...
Кэш, конечно чистил... Тут подсказали, что проблема может быть на стороне хостера. Сейчас пообщаюсь, и если это не поможет, придется закатать рукова.
Ура! Проблема решена - но несколько иным способом! Действовал наоборот - перенес магазин на локальный сервер - и последовательно стал удалять установленные модули. Можно сказать на старте обнаружил проблему, удалил модуль "Валютный менеджер Pro v0.2.4" - и все! Как-то интуитивно подозревал, что проблема в нем, и угадал... Страницы отключенных товаров как положено стали открываться как товар не найден - 404 статусом.