velos 0 Опубликовано 29 января, 2016 Жалоба Share Опубликовано 29 января, 2016 Добрый день Подскажите, пожалуйста, такая ситуация: На страницах фильтра, выдает ошибку 404 Товары на данной странице не отображаются, т.к. значение выбранных фильтров не пересекаются. Как это можно исправить и заменить код 404 на 200 на страницах не пересекающихся фильтров? Пример:https://vamvelosiped.ru/products_filte...8/25-28%29 Спасибо Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 января, 2016 Жалоба Share Опубликовано 29 января, 2016 Попробуйте удалить код в /includes/application_top.php внизу: $url = vam_href_link(basename($PHP_SELF), vam_get_all_get_params(array ('page', 'cPath', 'info', 'x', 'y'))); if ($cID && PRODUCT_LIST_RECURSIVE == 'false') { $listing_sql = "select p.products_fsk18, p.products_shippingtime, p.products_model, p.products_ean, pd.products_name, m.manufacturers_name, p.products_quantity, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, p.products_id, p.manufacturers_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id from products_description pd, products_to_categories p2c, products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id left join specials s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '1' and p2c.categories_id = '".$cID."' ORDER BY p.products_price DESC"; $max_result = MAX_DISPLAY_SEARCH_RESULTS; $listing_split = new splitPageResults($listing_sql, (int)$_GET['page'], $max_result, 'p.products_id'); $number_of_pages = ceil($listing_split->number_of_rows / $max_result); if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') { $end_page_url = $url.'/page/'.$number_of_pages; } else { $end_page_url = $url.'?page='.$number_of_pages; } if($number_of_pages < $_GET['page']){ header("HTTP/1.1 301 Moved Permanently"); header("Location: $end_page_url"); exit(); } } if(trim($_GET['page']) == '1' && $url != ''){ header("HTTP/1.1 301 Moved Permanently"); header("Location: $url"); exit(); } if($_SERVER['REQUEST_URI'] != DIR_WS_CATALOG && $PHP_SELF == DIR_WS_CATALOG.'index.php' && !$_GET ){ header("HTTP/1.1 301 Moved Permanently"); header("Location: ".DIR_WS_CATALOG.""); exit(); } Что б выяснить, в этом коде дело или нет. Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 Не нашел у себя в файле этот код application_top.php Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Да, у Вас старая версия, ещё не было этого кода. Попробовал Вашу ссылку, пишет, что нет товара. А как этот глюк проверить?! Можете проверить на онлайн-демке http://demo.vamshop.ru Попробуйте, есть там такой глюк?! Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 Этот глюк появляется если выбрать фильтр с нулевым значением, Я выбираю 2 параметра фильтра, второй выбирается со значением. В онлайн демке не дает выбрать значения фитра с нулевым значениемhttp://demo.vamshop.ru/products_filter.php?f2=2+%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B8%2C+30+%D0%92%D1%82*%D1%87&cat=1&cPath=1 а у нас дает.https://vamvelosiped.ru/products_filter.php?cat=21&cPath=4_21&f75=20&f213=%D0%97%D0%B8%D0%BC%D0%BD%D0%B8%D0%B5 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Я по Вашей ссылке тоже по кликал на значения с 0 товаров, пишет, что ничего не найдено. Так а что не так?! Раз 0 значений этого фильтра, то и выводится текст, что товары не найдены. Всё логично ведь. Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 Все логично, но эта страница, в которой ничего не найдено отдает 404 ответ Можно ли как то исправить и заменить код 404 на 200 на таких страницах? Либо не давать возможности выбирать нулевые значения.. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Лично я не понимаю, в чём ошибка. По-моему, всё правильно. Какой смысл 200 кода на пустой странице?! Хорошо, показали 200 код, но страница ведь без контента, в чём смысл?! Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 Задача от рекламщиков-маркетологов, исправить или удалить битые ссылки с сайта Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Так 404 для того и отдаётся, что б не были дубли в поисковиках. Это не битая ссылка. 404 - значит этой страницы не будет в поисковике, т.е. не будет пустых страниц без контента в поисковике. Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 2 февраля, 2016 Автор Жалоба Share Опубликовано 2 февраля, 2016 Добрый день404 все же могут быть в индексе. А при использовании фильтров, образуется много дублей, которые просто потом засоряют сайт, и он плохо индексируется из-за этого. Можно ли на нашей версии закрыть такие страницы для пользователей, как это реализовано в обновленном движке? Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 2 февраля, 2016 Жалоба Share Опубликовано 2 февраля, 2016 18 минуту назад, velos сказал: Добрый день404 все же могут быть в индексе. А при использовании фильтров, образуется много дублей, которые просто потом засоряют сайт, и он плохо индексируется из-за этого. Можно ли на нашей версии закрыть такие страницы для пользователей, как это реализовано в обновленном движке? страницы фильтра закрыты от индексации как в robots.txt так и в коде шаблона $robots_tag = ''; if ( (isset ($_GET['sort'])) || (preg_match ('/[1-9][ad]/', $_GET['sort'])) ) { $robots_tag = '<meta name="robots" content="noindex,follow">'; } Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 2 февраля, 2016 Автор Жалоба Share Опубликовано 2 февраля, 2016 2 часа назад, KoVaLsKy сказал: страницы фильтра закрыты от индексации как в robots.txt так и в коде шаблона $robots_tag = ''; if ( (isset ($_GET['sort'])) || (preg_match ('/[1-9][ad]/', $_GET['sort'])) ) { $robots_tag = '<meta name="robots" content="noindex,follow">'; } Добрый день, спасибо Подскажите, пожалуйста, в каком файле можно посмотреть этот код? Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 2 февраля, 2016 Жалоба Share Опубликовано 2 февраля, 2016 /products_filter.php но он не срабатывает ))) ыыы открываем /includes/modules/metatags.php меняем <meta name="robots" content="<?php echo META_ROBOTS; ?>" /> на <?php if ($robots_tag ==''){ ?> <meta name="robots" content="<?php echo META_ROBOTS; ?>" /> <?php }else{ echo $robots_tag;} ?> тогда на странице фильтров будет <meta name="robots" content="noindex,follow"> Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 2 февраля, 2016 Автор Жалоба Share Опубликовано 2 февраля, 2016 Видимо у меня старая версия файла. Такого кода нет. Александр, можете прислать файлы products_filter.php и robots.txt, посмотрю как сделано и попробую сделать у нас Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 2 февраля, 2016 Жалоба Share Опубликовано 2 февраля, 2016 17 минуту назад, velos сказал: Видимо у меня старая версия файла. Такого кода нет. Александр, можете прислать файлы products_filter.php и robots.txt, посмотрю как сделано и попробую сделать у нас так возьмите из демо версии Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 февраля, 2016 Жалоба Share Опубликовано 2 февраля, 2016 Да, в демке можно взять - http://vamshop.ru/download.html Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 2 февраля, 2016 Автор Жалоба Share Опубликовано 2 февраля, 2016 1 час назад, KoVaLsKy сказал: /products_filter.php но он не срабатывает ))) ыыы открываем /includes/modules/metatags.php меняем <meta name="robots" content="<?php echo META_ROBOTS; ?>" /> на <?php if ($robots_tag ==''){ ?> <meta name="robots" content="<?php echo META_ROBOTS; ?>" /> <?php }else{ echo $robots_tag;} ?> тогда на странице фильтров будет <meta name="robots" content="noindex,follow"> Не помогло, больше ничего нигде менять не нужно? Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 2 февраля, 2016 Жалоба Share Опубликовано 2 февраля, 2016 35 минуты назад, velos сказал: Не помогло, больше ничего нигде менять не нужно? екараный бабай конечно надо! products_filter.php $robots_tag = ''; if ( (isset ($_GET['sort'])) || (preg_match ('/[1-9][ad]/', $_GET['sort'])) ) { $robots_tag = '<meta name="robots" content="noindex,follow">'; } меняем на $robots_tag = ''; //if ( (isset ($_GET['sort'])) || (preg_match ('/[1-9][ad]/', $_GET['sort'])) ) { $robots_tag = '<meta name="robots" content="noindex,follow">'; //} т.е теперь вся страница products_filter.php закрыта от индексации Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения