Dmitry86 Опубликовано 16 августа, 2019 Жалоба Поделиться Опубликовано 16 августа, 2019 (изменено) Ребят, возникла такая задача. Есть бренд, все страницы которого (карточки товаров, страницы категория+бренд и сама страница бренда) нужно скрыть от индексирования поисковыми системами. Для этого в базу для брендов было добавлено поле noindex и сделан соответсвующий чекбокс в админке. Если в админке у бренда поле чекнуто - то на каждой странице (карточка, категория+бренд и станица бренда) появляется соответствующий мета-тег <meta name="robots" content="noindex">. Сразу поясню, что через robots.txt делать не захотел, уж больно много туда урлов прописывать пришлось бы. Яндекс скушал нормально и страницы начали уходить из индекса, а вот Гугл начал ругаться: "Страница, связанная с отправленным URL, содержит тег noindex". Стало быть надо убирать эти страницы из sitemap.xml, который мы скормили Гуглу. Страницу бренда и категория+бренд я сделал, а вот с карточками товаров не получается разобраться, прошу помощи. По сути вопрос такой: если в бренде чекнуто "Не индексировать" - то товары этого бренда в sitemap не выводятся. // Товары $simpla->db->query("SELECT url FROM __products WHERE visible=1"); foreach($simpla->db->results() as $p) { $url = $simpla->config->root_url.'/products/'.esc($p->url); print "\t<url>"."\n"; print "\t\t<loc>$url</loc>"."\n"; print "\t</url>"."\n"; }Заранее благодарю. Изменено 16 августа, 2019 пользователем Dmitry86 Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 16 августа, 2019 Жалоба Поделиться Опубликовано 16 августа, 2019 // Товары $simpla->db->query("SELECT url FROM __products WHERE visible=1"); Заранее благодарю. Как-то так $simpla->db->query(" SELECT p.url FROM __products p LEFT JOIN __brands b ON b.id = p.brand_id WHERE p.visible = 1 AND (b.noindex != 0 OR p.brand_id = 0) "); Цитата Ссылка на сообщение Поделиться на другие сайты
Dmitry86 Опубликовано 16 августа, 2019 Автор Жалоба Поделиться Опубликовано 16 августа, 2019 Как-то так $simpla->db->query(" SELECT p.url FROM __products p LEFT JOIN __brands b ON b.id = p.brand_id WHERE p.visible = 1 AND (b.noindex != 0 OR p.brand_id = 0) "); Спасибо, но не получилось( Всё равно показываются товары с этого бренда. Кэш чистил, через инкогнито тоже пробовал. Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 16 августа, 2019 Жалоба Поделиться Опубликовано 16 августа, 2019 Спасибо, но не получилось( Всё равно показываются товары с этого бренда. Кэш чистил, через инкогнито тоже пробовал. b.noindex != 1 Цитата Ссылка на сообщение Поделиться на другие сайты
Dmitry86 Опубликовано 16 августа, 2019 Автор Жалоба Поделиться Опубликовано 16 августа, 2019 b.noindex != 1 Супер, спасибо, теперь всё работает! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.