Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Ребят, возникла такая задача. Есть бренд, все страницы которого (карточки товаров, страницы категория+бренд и сама страница бренда) нужно скрыть от индексирования поисковыми системами.
 
Для этого в базу для брендов было добавлено поле 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";
}

Заранее благодарю.

Изменено пользователем Dmitry86
Ссылка на сообщение
Поделиться на другие сайты

 

// Товары
$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)
");
Ссылка на сообщение
Поделиться на другие сайты

 

Как-то так

$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)
");

 

Спасибо, но не получилось( Всё равно показываются товары с этого бренда. Кэш чистил, через инкогнито тоже пробовал.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, но не получилось( Всё равно показываются товары с этого бренда. Кэш чистил, через инкогнито тоже пробовал.

 

b.noindex != 1
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...