Удвоенный alias материала в URL материала К2. Как так и как избавиться?!

  • 10 Ответов
  • 933 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Здравствуйте! Столкнулся со странной вещью...

Сам бы и не нашел, но Яндекс индексирует материалы К2 не по своему адресу, а по удвоенному!

Т.е.  в индексе Яндекса вместо 
site.ru/index.php/category/12-adres-materialaK2  страница проиндексирована по адресу
site.ru/index.php/category/12-adres-materialaK2/12-adres-materialaK2

Кто-нибудь знает что с этим делать!

Joomla! 3.2.3  -  К2 K2 v2.6.7

А что нет ни у кого даже версий!  Что это за напасть то такая!  >:(

Это дубли страниц — извечная проблема Joomla! Попробуйте вставить мой скрипт в index.php вашего шаблона (взят из моего же плагина SEF Wizard, но там поддержка K2 только планируется). А этот скрипт должен работать для всех компонентов:

Код: php
$vars = JFactory::getApplication()->getRouter()->getVars();                
$url_parts = explode('?', JRoute::_('index.php?' . http_build_query($vars), false), 2);
$path = $url_parts[0];
 
$uri = JURI::getInstance();
$canonical = $uri->toString(array('scheme', 'host', 'port')). $path;
$root = JURI::root(true);
 
if($canonical !== urldecode(JURI::current()) && $path !== "$root/index.php" && $path !== "$root/")
{
    // Просто запретить индексацию
    JFactory::getDocument()->setMetaData('robots', 'noindex');
    
    // Вызвать ошибку 404, не отображать эту страницу вообще
    // JError::raiseError(404, 'Not Found');
}

После чего все дубли страниц должны вылететь из индекса. Используйте, только проверьте всё аккуратно, чтобы не было эксцессов. Удачи! :)
« Последнее редактирование: 10.06.2016, 11:23:57 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг

*

darkghost

  • *******
  • 2100
  • 94
на Форуме о дублях говорят много и более детально

Сомневаюсь, что весь этот "трёп" может быть полезен, при всём уважении к форуму =)))
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг

Это дубли страниц — извечная проблема Joomla! Попробуйте вставить мой скрипт в index.php вашего шаблона (взят из моего же плагина SEF Wizard, но там поддержка K2 только планируется). А этот скрипт должен работать для всех компонентов:

О, отлично, собственно это и надо!  Чтобы они не индексировались! Достаточно в индексе и нормальных страниц ))  А какое правило в .htacess можно прописать, чтобы редирект 301 срабатывал с дубля  /item/item   на нормальную страницу /item  ?  Не могу сообразить как правило в таком случае прописать? Или же надо вручную    Redirect 301 /item/item /item   для каждой страницы прописывать, муторно....

на Форуме о дублях говорят много и более детально

Спасибо, но я уже смотрел - там нет такого случая....

Если в индексе присутствуют нормальные страницы, то в редиректах нет необходимости.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг

Попробуйте вставить мой скрипт в index.php вашего шаблона

К сожалению не работает у меня.  Если я правильно понимаю, что если раскомментировать     JError::raiseError(404, 'Not Found');  и закомментировать     // JFactory::getDocument()->setMetaData('robots', 'noindex');      то по адресу /index.php/category/25-item/25-item  вылететь должна 404   ?   А у меня страницы так и открываются по адресам
/index.php/category/25-item/25-item
/index.php/category/25-item/25-item/25-item
/index.php/category/25-item/25-item/25-item/25-item 

Может неправильно вставил в index.php :    Ваш код я пробовал разместить перед body, в head, в начале и в конце кода между

  <?php
...................
?>

А еще ищу сейчас как для страниц по тегам сделать адрес 
site.ru/с-питанием
или
site.ru/s-pitaniem   
вместо   
site.ru/index.php/category/item/tag/С%20питанием

Кто подскажет четкий вариант?

*****

И в продолжении:

не срабатывает 301 редирект в htaccess  в виде

301 redirect /index.php/category/item/tag/С%20питанием /index.php/s-pitaniem

видимо из-за пробела %20 , а как его по другому оформить, чтобы сработало?


Попробовал и обнаружил, что сайт спокойно себе работает на страницах 
http://site.ru/index.php/item
http://site.ru/index.php/index.php/item
http://site.ru/index.php/index.php/index.php/item

Вот жешь  жесть!