Один товар в двух разных категориях

10 года 10 мес. назад #4913 от es108
Здравствуйте!
Есть каталог продукции на virtuemart 2 и большинство товаров принадлежат двух и более категориям. В итоге получается один товар имеет несколько разных урлов. Например

site.ru/categoriya-1/TOVAR-1.html

и тот же самый товар, но в другой категории имеет другой урл

site.ru/categoriya-2/TOVAR-1.html

Подскажите это как-то можно победить?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

10 года 10 мес. назад #4925 от Wedal
es108, не размещать товары в разных категориях - это лучший вариант. Ну а сейчас только извращаться с "rel=canonical". Гуглите по этой фразе.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

10 года 10 мес. назад #4929 от es108
Понятно! Про каноникал в голову не пришло.
А "rel=canonical" яндекс воспринимает?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

10 года 10 мес. назад #4935 от Wedal
es108, да, еще как.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

8 года 3 мес. назад #7416 от Илья
Подскажите пожалуйста по настройке тега rel=canonical в товаре который находится одновременно в подкатегории и категории. В данном случае virtuemart автоматически присваивает каноническую страницу товару в категории, к примеру " мой-сайт.ru/название-категории/название-товара " но как быть если необходимо индексировать товар находящийся в подкатегории. В настройках virtuemart ничего подобного не нашел, видимо нужно лезть в код. Что необходимо поправить?

И вообще хочу дать совет, особенно тем кто пользуется virtuemart 3, будьте внимательны к данному тегу. Проверил категории, подкатегории, товары а также главную страницу сайта, если ничего не изменить, то в индекс будут попадать дубли, а нормальные страницы будут исключены из индекса. Приведу конкретные примеры:

каноническая страница главной: <link href=" мой-сайт.ru/?productsublayout=0 " rel="canonical" /> (таким образом главная страница исключена из индекса, в индекс попадет дубль)

каноническая страница категории: <link href="/название категории/manufacturer/" rel="canonical" /> (категория исключена из индекса, в индекс попадет дубль)

Установлен virtuemart 3.0.9

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

8 года 3 мес. назад - 8 года 3 мес. назад #7417 от Wedal
Илья, что-то везде больная тема с этим canonical. То в Joomla были проблемы, теперь вот в VM.
Вот код:
<?php 
$doc_data = $document->getHeadData();
$url        = JURI::root();
$sch        = parse_url($url, PHP_URL_SCHEME);
$server     = parse_url($url, PHP_URL_HOST);
$canonical  = $this->escape($_SERVER['REQUEST_URI']); 
$newtag     = '<link rel="canonical" href="'.$sch.'://'.$server.$canonical.'"/>'
 
$replaced = false;
foreach ($doc_data['custom'] as $key=>$c) {
    if (strpos($c, 'rel="canonical"')!==FALSE) {
        $doc_data['custom'][$key] = $newtag;
        $replaced = true;
    }
}
if (!$replaced) {
    $doc_data['custom'][] = $newtag;
}
 
$document->setHeadData($doc_data);
?>
Не идеальный, но можно подправить под себя. Вставляйте в начале тех страниц, которые нужно исправить, только прежде разберитесь что он делает и как.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 7 мес. назад #8767 от blik
Простите, я не поняла что значит " Вставляйте в начале тех страниц, которые нужно исправить" .
Вот у меня тоже такая проблема - VM3,
rel="canonical" стоит у - zakazat-pechat/manufacturer/pechati-lyubye.html
а мне надо чтобы это была /zakazat-pechat.html , у меня есть такой пункт меню.
Как изменить это? Убрать этот тег с одной и поставить другой странице?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.