[Помогите] Сайт не отдает ошибку 404 к отключенным товарам.

Тема в разделе "OpenCart", создана пользователем Voland70, 16 мар 2015.

  1. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Сайт на 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?
     
  2. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Отдавать ошибку 404 дл отключенных товаров вообще не самый лучший с точки зрения СЕО вариант, если что. Я бы вообще тут голову не ломал и к этому не стремился. Когда вместо существовавшей страницы получаем 404-ю это всегда минус. Лучше бы думали как убрать отключенные товары с витрины и запретить их заказ (убрать кнопку "купить").
     
  3. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    - согласен, но IMHO, это принято по-умолчанию в ОС.
    - они и так не отображаются.
    А вот запретить кнопку Купить для товаров с нулевым количеством товарного запаса - это мысль. Надо подумать :Smile:
     
  4. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Ну вот пример на сайте магазина как выглядит страница с включенным и отключенным товаром, и в обоих случаях сервер отдает HTTP 200 OK.
    Страница - товар включен
    [​IMG]


    Страница - товар выключен
    [​IMG]

    Разве это правильно? Да и сточки зрения СЕО - чего хорошего если посетитель будет заходить на отключенные страницы по сохранившимся URL- ссылкам.
     
  5. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    А что хорошего с точки зрения сео если пользователь будет ходить по битым ссылкам? Это не я придумал, факт по-моему общеизвестный. В прочем, дело Ваше, делайте так как считаете нужным.
     
  6. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    Непорядок. Налицо косяк в работе скрипта ОС. У меня (1.5.4.1) отключенные товары вызывают появление "страницы 404". Попробуйте на чистом новом магазине - возможно проявляется влияние установленных плагинов.
    --- Добавлено, 18 мар 2015 ---
    Я отключаю товары, которые больше не планирую продавать - зачем вводить в заблуждение покупателей и поисковики?
    Для временно отсутствующих товаров есть состояние "нет в наличии".
     
  7. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Магазин рабочий, многое перепилено и переносить весь функционал с товарами - потребует много времени и усилий.

    Хотел бы узнать - где искать решение проблемы? В какую сторону смотреть?
     
  8. cobalt

    cobalt

    Регистрация:
    18 окт 2012
    Сообщения:
    278
    Симпатии:
    128
    Смотреть в эту сторону.
     
  9. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Благодарю! То что нужно!

    P/S Рано я обрадовался. К сожалению указанные по ссылке правки проблемы не решили. Все так же открываются выключенные страницы товаров с заголовком сервера HTTP 200 OK.
     
    Последнее редактирование: 19 мар 2015
  10. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    Не надо ничего переносить. Надо вычислить/догадаться какой модуль "испортил малину".
    Насколько я понимаю, проявления косяков:
    - отключенные товары всё-таки показываются,
    - 404 страница создаётся, но с заголовком "200".
    Первым делом проверьте первую строку catalog\view\theme\Sh3start\template\error\not_found.tpl - есть ли там <?php header ("HTTP/1.1 404 Not Found"); ?>
    Ну и поиграть с локальной копией сайта на предмет последовательного отключения добавленных модулей.
     
  11. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Как раз 404 страница не создается, открывается страница выключенного товара без заголовка, описания, главного изображения, но с ценой, доп изображениями - и статусом - 200 ОК, - как на скриншоте выше.

    Полагаю правкой шаблона not_found.tpl - проблему не решить. При выводе отключенного товара выводится не not_found.tpl, как должно быть, а шаблон product.tpl - просто не наполняет всеми данными.
     
  12. cobalt

    cobalt

    Регистрация:
    18 окт 2012
    Сообщения:
    278
    Симпатии:
    128
  13. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Не сработало к сожалению. Информация для Opencart 1.5.1.3 - я использую ocStore 1.5.5.1.2 - там местами другие фрагменты кода. Да и указанный мануал от февраля 2012г.- похоже устарел.
     
  14. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    Я бы уже закатал рукава и последовательно устанавливал дополнения/модули на чистый движок :Smile:
    --- Добавлено, 20 мар 2015 ---
    И ещё стОит кэш почистить...
     
  15. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Кэш, конечно чистил... Тут подсказали, что проблема может быть на стороне хостера. Сейчас пообщаюсь, и если это не поможет, придется закатать рукова.
     
  16. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Ура! Проблема решена

    - но несколько иным способом!

    Действовал наоборот - перенес магазин на локальный сервер - и последовательно стал удалять установленные модули. Можно сказать на старте обнаружил проблему, удалил модуль "Валютный менеджер Pro v0.2.4" - и все! Как-то интуитивно подозревал, что проблема в нем, и угадал...

    Страницы отключенных товаров как положено стали открываться как товар не найден - 404 статусом.
     
    Последнее редактирование: 21 мар 2015