AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« : 05.12.2011, 05:19:53 » |
|
Пост обновлен 06.04.2012Во все файлы шаблона, КРОМЕ index.php, и html/com_content/form/edit.php, добавлено условие запрета генерации ссылки каноникал для главной страницы. Это сделанно для избежания дублирования ссылки каноникал на главной и редиректа, если в качестве главной указывается определенный материал. Что такое каноническая страница? Зачем нужно указывать rel="canonical"? Каноническая страница представляет собой предпочитаемую версию из набора страниц с очень похожим содержанием. На сайтах часто бывает несколько страниц, перечисляющих один и тот же набор продуктов. В частности, на одной странице продукты могут быть указаны в алфавитном порядке, а на других – упорядочены по цене или рейтингу. Рассмотрим пример.
http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=alpha&sessionid=5678asfasdfasfd http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=price&sessionid=5678asfasdfasfd
Если Google будет знать о том, что содержание этих страниц одинаково, то сможет добавить в результаты поиска только одну из них. Наши алгоритмы выбирают ту страницу, которая, по нашему мнению, лучше всего отвечает на запрос пользователя. Тем не менее, теперь пользователи могут указывать поисковым системам каноническую страницу, добавив элемент <link> с атрибутом rel="canonical" в раздел <head> неканонической версии страницы. Добавление этой ссылки и атрибута позволяет владельцам сайтов определять наборы идентичного содержания и сообщать Google: "Из всех страниц с идентичным содержанием эта является наиболее полезной. Установите для нее наивысший приоритет в результатах поиска." Атрибут rel="canonical" тега <link> В том случае, если на сайте присутствуют группы схожих по контенту страниц, вебмастер может выбрать предпочитаемый (канонический) url от группы, который будет участвовать в поиске. Например, документ сайта доступен по двум url:
www.examplesite.ru/pages?id=2 www.examplesite.ru/blog
Если предпочитаемый url — /blog, в документе, доступном по неканоническому url, достаточно указать:
<link rel="canonical" href="http://www.examplesite.ru/blog"/> Иными словами, страницы-дубли у которых урл будет отличатся от каноникал, будут исключены из поиска. Пример работыПриступим к убийству страниц-дублей.1. Не используйте ссылку тега base в качестве canonical! Это вредно. 2. Читайте комментарии в коде. 3. Нашли ошибку? Пишите, попробуем разобраться. 4. При обновлении заменяем весь код находящийся между строками // ------------ Start Canonical-Mod и // ------------ End Canonical-Mod Ссылка Canonical для главной страницы. Открываем файл templates/МОЙ ШАБЛОН/index.phpпосле // No direct access. defined('_JEXEC') or die; добавляем // ------------ Start Canonical-Mod $document = JFactory::getDocument(); $mainmenu =& JSite::getMenu(); if($mainmenu->getActive() == $mainmenu->getDefault()) : $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. //$docpagenr = '?start='.$docstart; endif; //$docroute = JRoute::_('index.php?Itemid='.$mainmenu->getDefault()->id); // Если в качестве канонической ссылки хотим использовать системную ссылку Joomla типа http://мойсайт.рф/home.html , то раскомментируем сроку выше, и закомментируем строку ниже. $docroute = '/'; $document->addHeadLink( $livesite . $docroute . $docpagenr, 'canonical', 'rel', '' ); endif; // ------------ End Canonical-Mod Ссылка Canonical для страниц компонента материалов ( com_content) Открываем файл templates/МОЙ ШАБЛОН/html/com_content/archive/default.phpпосле // no direct access defined('_JEXEC') or die; JHtml::addIncludePath(JPATH_COMPONENT . '/helpers'); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $app = JFactory::getApplication(); $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница архива //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_('index.php?Itemid='.$app->getMenu()->getActive()->id); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл templates/МОЙ ШАБЛОН/html/com_content/article/default.phpпосле // no direct access defined('_JEXEC') or die; JHtml::addIncludePath(JPATH_COMPONENT . '/helpers'); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $requrl = trim($_SERVER['REQUEST_URI']); $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница материала //$docpagenr = '?start='.$docstart; endif; $docroute = $this->item->readmore_link; // Начало проверки системной ссылки в запросе. (для редиректа 301 или отдачи ошибки 404.) (bool)$valideurl = strpos( $requrl, $docroute ); if ($valideurl === false) : header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $livesite . $docroute); header("Connection: close"); exit(); // Если хотим отдать ошибку 404, то закомментируем 4 строки выше этой, и раскомментируем 1 сроку ниже. //JError::raiseError(404, JText::_('PAGE COULD NOT BE FOUND')); endif; // Конец проверки системной ссылки в запросе. $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл templates/МОЙ ШАБЛОН/html/com_content/categories/default.phpпосле // no direct access defined('_JEXEC') or die; JHtml::addIncludePath(JPATH_COMPONENT.'/helpers'); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница категории //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_(ContentHelperRoute::getCategoryRoute($this->parent->id)); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл templates/МОЙ ШАБЛОН/html/com_content/category/blog.phpпосле // no direct access defined('_JEXEC') or die; JHtml::addIncludePath(JPATH_COMPONENT.'/helpers'); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница категории //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->id)); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл templates/МОЙ ШАБЛОН/html/com_content/category/default.phpпосле // no direct access defined('_JEXEC') or die; JHtml::addIncludePath(JPATH_COMPONENT.'/helpers'); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница категории //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->id)); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл templates/МОЙ ШАБЛОН/html/com_content/featured/default.phpпосле // no direct access defined('_JEXEC') or die; JHtml::addIncludePath(JPATH_COMPONENT . '/helpers'); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $app = JFactory::getApplication(); $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница архива //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_('index.php?Itemid='.$app->getMenu()->getActive()->id); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Необязательный шаг. Чисто для указания запрета индексации формы добавления/редактирования материала. Открываем файл templates/МОЙ ШАБЛОН/html/com_content/form/edit.phpпосле // Create shortcut to parameters. $params = $this->state->get('params'); добавляем $document = & JFactory::getDocument(); $document->setMetadata('robots', 'noindex, nofollow'); //------------------------------------------------------------------------------------------------------------------------------------------// Как дополнение желательно делать запрет на индексацию страниц с параметрами ?limitstart и ?limit добавив их в файл robots.txt Disallow: *?limitstart Disallow: *?limit Для тех у кого нет файлов-шаблонов в templates/МОЙ ШАБЛОН/html/com_content/ и они не знают где их взять копируем components/com_content/views/archive/tmpl/default.php в templates/МОЙ ШАБЛОН/html/com_content/archive/default.php копируем components/com_content/views/article/tmpl/default.php в templates/МОЙ ШАБЛОН/html/com_content/article/default.php копируем components/com_content/views/categories/tmpl/default.php в templates/МОЙ ШАБЛОН/html/com_content/categories/default.php копируем components/com_content/views/category/tmpl/blog.php в templates/МОЙ ШАБЛОН/html/com_content/category/blog.php копируем components/com_content/views/category/tmpl/default.php в templates/МОЙ ШАБЛОН/html/com_content/category/default.php копируем components/com_content/views/featured/tmpl/default.php в templates/МОЙ ШАБЛОН/html/com_content/featured/default.php копируем components/com_content/views/form/tmpl/edit.php в templates/МОЙ ШАБЛОН/html/com_content/form/edit.php
PS. Следите за обновлениями поста, возможны правки!
|
|
|
|
« Последнее редактирование: 06.04.2012, 23:54:34 от AmdAveO »
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #1 : 23.12.2011, 19:55:54 » |
|
Подскажите, что делать Joomla 1.7 уже много материалов но без canonical , как сейчас можно добавить его,?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #2 : 23.12.2011, 20:12:47 » |
|
Эээм, а что мешает сделать как описанно выше?
|
|
|
|
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #3 : 23.12.2011, 20:39:40 » |
|
те этим мы добавим в уже существующие материалы - canonical? например у меня заглавная страница мойсайт.ру/категория/ а мне надо чтобы она была canonical для мойсайт.ру/категория/34-материял ...правильно я понял? спасибо
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #4 : 23.12.2011, 21:26:54 » |
|
...например у меня заглавная страница мойсайт.ру/категория/ а мне надо чтобы она была canonical для мойсайт.ру/категория/34-материял...
Это что за безобразие такое? Как описанно выше будут выдаваться ссылки каноникал следующим образом для главной страницы http://мойсайт.ру/ для категории сайта http://мойсайт.ру/категория для материала сайта http://мойсайт.ру/категория/материал ПС. Под категорией имеется в виду пункт меню привязанный к категории материалов. Обязательно читаем комментарии в коде по поводу постраничной разбивки.
|
|
|
|
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #5 : 23.12.2011, 21:37:39 » |
|
спасибо, да имел ввиду http://мойсайт.ру/категория - у меня пункт меню, как потом это все проверить можно что все работает?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #6 : 23.12.2011, 22:21:29 » |
|
как потом это все проверить можно что все работает?
Посмотрев код нужной страницы. В нем между тегами <head></head> должен быть тег типа <link href="http://мойсайт.ру/нужная/страница" rel="canonical" />
|
|
|
|
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #7 : 23.12.2011, 22:40:17 » |
|
захожу на линк материала, смотрю и у меня показывает "страница материяла" - canonical, так же неправильно?
|
|
|
|
|
Записан
|
|
|
|
|
igorksan
|
 |
« Ответ #8 : 23.12.2011, 23:15:38 » |
|
захожу на линк материала, смотрю и у меня показывает "страница материяла" - canonical, так же неправильно?
Нуда. надо "страница матери яала" 
|
|
|
|
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #9 : 23.12.2011, 23:29:14 » |
|
вот, как сделать "категория" - rel=canonical , если находишься на странице материала? вставил во все файлы как описано. получилось что на какой странице находишься на ту и canonical ребят помогите пожалуйста. или уже тока в robots.txt все линки вписывать
|
|
|
|
« Последнее редактирование: 23.12.2011, 23:33:37 от gstarr »
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #10 : 23.12.2011, 23:39:31 » |
|
gstarr А ты вообще понимаешь, что, и для чего делаешь? Может лучше для начала почитать маны на эту тему? По идеи, у каждой страницы должен быть свой линк canonical. У одинаковых страниц, если таковые имеются, лучше делать один схожий линк canonical, или закрывать одну из таких страниц от индексации.
|
|
|
|
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #11 : 23.12.2011, 23:51:37 » |
|
конечно понимаю, вот у меня категория в ней материял = ссылка , Google же видит и категорию и материял отдельно те получается 2 разных ссылки с одинаковым содержанием = дубль, мне надо чтоб ссылка материяла не была видна Google.
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +268/-42
Offline
Пол: 
Сообщений: 3956
любит наш народ всякое гавно...
|
 |
« Ответ #12 : 24.12.2011, 00:01:01 » |
|
конечно понимаю, вот у меня категория в ней материял = ссылка , Google же видит и категорию и материял отдельно те получается 2 разных ссылки с одинаковым содержанием = дубль, мне надо чтоб ссылка материяла не была видна Google. Тут надо структуру сайта переделывать, а не хаки применять. И да, понимать что есть категория,а что материал
|
|
|
|
|
Записан
|
|
|
|
gstarr
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #13 : 24.12.2011, 00:08:40 » |
|
какой подскажите выход,? я вроде ничего сверх нового не придумал везде именно с такой проблемой как у меня и сталкиваются, ищут плагины для 1.7 canonical и т.д.
|
|
|
|
« Последнее редактирование: 24.12.2011, 00:12:15 от gstarr »
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +268/-42
Offline
Пол: 
Сообщений: 3956
любит наш народ всякое гавно...
|
 |
« Ответ #14 : 24.12.2011, 00:09:45 » |
|
ну если нет желания понимать - выход
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #15 : 24.12.2011, 00:23:03 » |
|
gstarr Т.е. у тебя на странице категории выводятся материалы с полным содержанием? Жестокая замута однако! В категории нужно выводить либо список ссылок на материалы, либо список анонсов с ссылками на материалы (блог), Причем в случае категорий с анонсами, так же как и в категориях с выводом полного содержания материалов, в индекс лучше отдавать только первую страницу категории. Т.к. страницы категорий формируются динамично, в зависимости от часоты подачи материала в них. У материалов же должен быть свой оригинальный линк. Иначе рискуешь запутать всех и вся.
ПС. Да, как уже сказано, особое внимание нужно уделять структуре.
|
|
|
|
|
Записан
|
|
|
|
|
oriol
|
 |
« Ответ #16 : 24.12.2011, 12:49:37 » |
|
Зашел глянуть а здесь страсти ! Люди творят сами не понимают что, и еще при этом возмущаются! Одним дополнительное поле подавай без вмешательства в код, другим плагин canonical для J...1.7, типа он ему там все по полочкам разложит и что то другое напишет. )))) Еще бы интеллектуальный скрипт написать что бы сам сайты создавал и продвигал, как щука у Емели 
|
|
|
|
« Последнее редактирование: 24.12.2011, 13:03:49 от oriol »
|
Записан
|
|
|
|
|
igorksan
|
 |
« Ответ #17 : 24.12.2011, 22:21:31 » |
|
Еще бы интеллектуальный скрипт написать что бы сам сайты создавал и продвигал, как щука у Емели  Мдя. И еще ты забыл- чтоб уникальным контентом сайт сам наполнял круглосуточно.... ))))
|
|
|
|
|
Записан
|
|
|
|
vveco
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 28
|
 |
« Ответ #18 : 07.01.2012, 18:04:06 » |
|
Поясните малограмотному: 1. Что есть сейчас - Joomla 1.7.3 + ее локализация, Zoo 2.5.2, sh404SEF (последний). + плагин Zoo для него (последний с оф. Сайта). Весь контент планируется делать на Zoo. sh404SEF предполагается использовать для контроля за дублями, в основном. В указанной конфигурации имею не решенную проблему с site.ru/ru/ на главной. Приемлемого решения я пока не нашел + ко всему постоянный вынос мозга с этим sh404. 2. Транслитерация в Zoo работает нормально, внешний вид ссылок тоже вроде можно настроить штатными средствами. Вопрос в том - будет ли работать приведенный здесь метод для Zoo?
Очень уж хочется снести этот sh404.
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #19 : 07.01.2012, 19:23:10 » |
|
vveco Данный метод работает с родным компонентом Joomla, com_content. Если проследить алгоритмы генерации ссылок в Zoo, то этот способ можно применить и в его шаблонах. При помощи ссылки каноникал можно убить если не все дубли, то по крайней мере большую их часть. За исключением конечно таких моментов, как сознательное создание разного рода дублирующих линков, т.н. перелинковка.
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #20 : 26.01.2012, 20:10:42 » |
|
Очень полезная штука. Оказывается ещё и обновляется.
|
|
|
|
« Последнее редактирование: 26.01.2012, 20:33:58 от ChaosHead »
|
Записан
|
|
|
|
|
Marques
|
 |
« Ответ #21 : 06.02.2012, 06:25:06 » |
|
В Joomla 2.5.1 некорректно работает 301 редирект и 401 ошибка. При попытке зайти по ссылке вида index.php?option=com_content&view=article&id=NN при 301 редиректе выдает в браузере - Неверное перенаправление на странице. Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
при 404 ошибке - страница с материалом открывается, но появляется голая переменная "PAGE COULD NOT BE FOUND" т.е. открывает не страницу 404 стандартную джумловскую , а именно материал с ID=NN
Если убрать или закоментить строки отвечающие за редирект и 404 - rel="canonical" работает правильно.
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #22 : 06.02.2012, 20:07:41 » |
|
Marques У меня в J 2.5.1 включены SEF, реврайтмод, расширение HTML, все работает. У тебя в htaccess не стоит никаких редиректов на страницы ошибок?
Хотя в данном случае редирект 301 это чисто косметика. Главное чтобы каноникал корректно работал, ПС будут брать страницу по нему.
|
|
|
|
|
Записан
|
|
|
|
|
Marques
|
 |
« Ответ #23 : 06.02.2012, 20:23:19 » |
|
У меня тоже все перечисленные компоненты включены, htaccess не менял, стоит родной от 2.5.1. Никаких дополнительных SEF, SEO и всяких похожих компонентов нет. Проверял и на денвере, и на своем хостинге. Ну да ладно, мне редирект не нужен, а вот rel="canonical" штука бесспорно нужная и полезная. (она-то как раз и работает отлично) P.S. Немного разобрался в чем дело... у меня стоит Feed Gator 2.3.6 (граббер RSS) он создает статьи и алиасы в них. Так вот, если статья создана в ручную - то перечисленных мной ошибок нет. Если же ее создал Feed Gator (стоит автопубликация и cron задание), то именно с этими статьями и возникают проблемы. Как только открываешь для редактирования эти статьи и ничего не меняя сохраняешь - то они тоже начинают нормально открываться. Так что тут какая-то непонятка... в 1.7.3 этого не было. Поковыряю на досуге.
|
|
|
|
|
Записан
|
|
|
|
accacaserega
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 11
|
 |
« Ответ #24 : 27.02.2012, 20:30:31 » |
|
Добрый вечер, у меня Joomla 2.5.1, сделал всё как описано выше.
На главной странице у меня отображаются материалы одной из категорий. Проблема в следующем: Ко всем страницам размещенным на главной странице прописывается link href="http://главная.ru/" rel="canonical" /> Что не совсем хорошо, из за этого все страницы данной категории вылетают из индекса яндекса по причине "Документ не является каноническим".
Заранее спасибо.
|
|
|
|
« Последнее редактирование: 27.02.2012, 21:05:48 от accacaserega »
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #25 : 27.02.2012, 21:03:16 » |
|
Удали код добавленный в файл templates/МОЙ ШАБЛОН/index.php, в этом случае должен отрабатываться код добавленный в шаблон категории 
|
|
|
|
|
Записан
|
|
|
|
accacaserega
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 11
|
 |
« Ответ #26 : 27.02.2012, 21:29:24 » |
|
Огромное вам человеческое спасибо!  Я так понял, что теперь у страниц http://главная.ru/название.html появятся дубли http://главная.ru/категория/название.html Возможно это можно исправить каким-либо способом?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #27 : 27.02.2012, 21:40:08 » |
|
Если категория привязана только к пункту меню главной страницы, то ссылки будут выглядеть так http://главная.ru/название1.html, http://главная.ru/название2.html... Если категория привязана еще и к другому пункту меню типа http://главная.ru/категория.html, то будут дубли типа, http://главная.ru/категория/название.html, http://главная.ru/название.html... В этом случае, на мой взгляд, код для главной страницы лучше оставить. По крайней мере, так будет меньше дублей, в индекс уйдет категория.
|
|
|
|
|
Записан
|
|
|
|
accacaserega
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 11
|
 |
« Ответ #28 : 27.02.2012, 22:11:28 » |
|
Категория привязана только к пункту меню главной страницы, а страницы доступны по адресам http://главная.ru/название.html http://главная.ru/категория/название.html
А также http://главная.ru/ЛЮБОЙ-ТЕКСТ/название.html
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #29 : 27.02.2012, 22:13:30 » |
|
А что выводится в каноникал на такой странице http://главная.ru/ЛЮБОЙ-ТЕКСТ/название.html ?
|
|
|
|
|
Записан
|
|
|
|
accacaserega
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 11
|
 |
« Ответ #30 : 27.02.2012, 22:18:21 » |
|
На странице http://главная.ru/ЛЮБОЙ-ТЕКСТ/название.html Есть строки:
<base href="http://главная.ru/ЛЮБОЙ-ТЕКСТ/название.html" /> и <link href="http://главная.ru/название.html" rel="canonical" />
Возможно ли с вами пообщаться более оперативными способами? ICQ, соцсети? Если да, отпишите в ЛС.
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #31 : 27.02.2012, 22:23:01 » |
|
Ну если оно выглядит так <link href="http://главная.ru/название.html" rel="canonical" /> то значит все в норме. Ссылки типа http://главная.ru/ЛЮБОЙ-ТЕКСТ/название.html будут игнорироваться поисковиком, а такие http://главная.ru/название.html уйдут в индекс.
|
|
|
|
|
Записан
|
|
|
|
accacaserega
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 11
|
 |
« Ответ #32 : 27.02.2012, 22:29:03 » |
|
Понятно, ещё раз вам ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!
Дело в том, что раньше при изменении ссылки, допустим с: http://главная.ru/название.html На: http://главная.ru/ЛЮБОЙ-ТЕКСТ/название.html Происходил редирект на: http://главная.ru/название.html А сейчас такого не происходит. По всей видимости из-за того, что удален код добавленный в файл templates/МОЙ ШАБЛОН/index.php
Чрезмерно вам благодарен!
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #33 : 27.02.2012, 22:50:19 » |
|
Нет, это из-за другого. В шаблоне категории происходит проверка части ссылки типа, существует ли в ссылке "/категория/название.html", или как в твоем случае "/название.html" Если эта часть присутствует в ссылке, то редиректа не происходит, но это и не страшно, главное чтобы каноникал правду выводил. От него эфект как от robots.txt
|
|
|
|
|
Записан
|
|
|
|
|
dexcursion
Гость
|
 |
« Ответ #34 : 30.03.2012, 20:30:29 » |
|
эффект от каноникал намного больше, нежели от robots.txt. Т.к ПС не всегда учитывают, что прописано robots.txt, а при учете, теряется вес страницы. При canonican вес передается  Лучший способ, это минимизировать robots.txt, а в коде страничек использовать <meta name="robots" content="index,follow,noodp,noydir" /> и <link rel="canonical" href="страница/" />
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #35 : 07.04.2012, 00:01:50 » |
|
Код в первом посте обновлен! Обновления касаются генерации ссылки каноникал и отключения редиректа 301 на главой странице сайта.
|
|
|
|
« Последнее редактирование: 07.04.2012, 00:58:33 от AmdAveO »
|
Записан
|
|
|
|
AlexAkhremenko
Новичок
Репутация: +2/-0
Offline
Сообщений: 9
|
 |
« Ответ #36 : 12.04.2012, 20:27:40 » |
|
Думал сделать для virtuemart2, оказалось, что там canonical прописанПо аналогии сделал для VirtueMart 2. Открываем файл /components/com_virtuemart/views/productdetails/tmpl/default.phpпосле $document = &JFactory::getDocument(); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $requrl = trim($_SERVER['REQUEST_URI']); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница материала //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id); // Начало проверки системной ссылки в запросе. (для редиректа 301 или отдачи ошибки 404.) (bool)$valideurl = strpos( $requrl, $docroute ); if ($valideurl === false) : header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $livesite . $docroute); header("Connection: close"); exit(); // Если хотим отдать ошибку 404, то закомментируем 4 строки выше этой, и раскомментируем 1 сроку ниже. //JError::raiseError(404, JText::_('PAGE COULD NOT BE FOUND')); endif; // Конец проверки системной ссылки в запросе. $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл /components/com_virtuemart/views/category/tmpl/default.phpпосле $document = &JFactory::getDocument(); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница категории //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_ ( 'index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id ); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod
|
|
|
|
« Последнее редактирование: 12.04.2012, 20:56:57 от AlexAkhremenko »
|
Записан
|
|
|
|
pisklov74
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 22
|
 |
« Ответ #37 : 06.06.2012, 21:26:07 » |
|
Думал сделать для virtuemart2, оказалось, что там canonical прописанПо аналогии сделал для VirtueMart 2. Открываем файл /components/com_virtuemart/views/productdetails/tmpl/default.phpпосле $document = &JFactory::getDocument(); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $requrl = trim($_SERVER['REQUEST_URI']); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница материала //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id); // Начало проверки системной ссылки в запросе. (для редиректа 301 или отдачи ошибки 404.) (bool)$valideurl = strpos( $requrl, $docroute ); if ($valideurl === false) : header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $livesite . $docroute); header("Connection: close"); exit(); // Если хотим отдать ошибку 404, то закомментируем 4 строки выше этой, и раскомментируем 1 сроку ниже. //JError::raiseError(404, JText::_('PAGE COULD NOT BE FOUND')); endif; // Конец проверки системной ссылки в запросе. $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod Открываем файл /components/com_virtuemart/views/category/tmpl/default.phpпосле $document = &JFactory::getDocument(); добавляем // ------------ Start Canonical-Mod $mainmenu =& JSite::getMenu(); if($mainmenu->getActive()!== $mainmenu->getDefault()) : $document = JFactory::getDocument(); $livesite = substr_replace(JURI::root(), '', -1, 1); $docpagenr = ''; $docstart = JRequest::getInt('start',0); if($docstart>0) : // Если хотим чтобы в канонической ссылке прописывалась постраничная разбивка типа start=10..., то раскомментируем сроку ниже. В противном случае будет индексироваться только главная страница категории //$docpagenr = '?start='.$docstart; endif; $docroute = JRoute::_ ( 'index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id ); $document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod А уже прописанный в VirtueMart 2 rel="canonical" убирать? и если да, то как?
|
|
|
|
|
Записан
|
|
|
|
tokamak
Новичок
Репутация: +0/-0
Offline
Сообщений: 4
|
 |
« Ответ #38 : 14.07.2012, 16:00:38 » |
|
Прошу прощения, что прерываю ход Вашей дискуссии, проблема в следующем: VertueMart 2.0.6 в страницы товаров и категорий добавляет еще один атрибут rel="canonical" Получается дублирование атрибута, код выглядит так:
<link rel="canonica"http://www.сайт.ru/component/virtuemart/категория.html" /> <link href="/component/virtuemart/категория.html" rel="canonical" />
Диалог с поддержкой Яндекса дал следующий ответ: "Данный атрибут должен указываться в коде страницы только один раз. В противном случае, как я уже писал, страница может не индексироваться роботом."
Как убрать второй атрибут и причина его происхождения в VM2?
|
|
|
|
|
Записан
|
|
|
|
Langoliers
Завсегдатай
   
Репутация: +61/-2
Online
Пол: 
Сообщений: 733
Если б Я изучал людей, то был бы паразитологом
|
 |
« Ответ #39 : 08.08.2012, 14:55:59 » |
|
У меня такой вопрос: стоит ли использовать этот способ, при использовании sh404SEF и стандартного com_content в Joomla! 2.5?
|
|
|
|
|
Записан
|
|
|
|
|
Очередной вебмастер
|
 |
« Ответ #40 : 08.08.2012, 16:04:43 » |
|
Интересный способ. Но я для этих целей плагин metagenerator переделал  Он сам rel=canonical генерирует, причем достаточно хорошо, жаль что только для com_content, но по аналогии в принципе и для com_k2 можно сделать.
|
|
|
|
|
Записан
|
|
|
|
umid_john
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 23
|
 |
« Ответ #41 : 08.08.2012, 16:28:20 » |
|
AmdAveO огромное Вам спасибо! Вы мне очень помогли разобраться с категориями... К сожалению у нас нету QIWI в Дубаях, но есть другие варианты!
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #42 : 08.08.2012, 20:55:52 » |
|
У меня такой вопрос: стоит ли использовать этот способ, при использовании sh404SEF и стандартного com_content в Joomla! 2.5?
Что мешает попробовать? Вставляем код, чистим кэш, смотрим код страницы. Если каноническая ссылка генерируется правильно, то этот способ стоит использовать. Интересный способ. Но я для этих целей плагин metagenerator переделал  Он сам rel=canonical генерирует, причем достаточно хорошо, жаль что только для com_content, но по аналогии в принципе и для com_k2 можно сделать. В том то и дело, что "достаточно хорошо", а надо близко к абсолюту. )) Я тоже ходил путем переделки metagenerator-а, пока в тестах не обнаружил, что иногда он генерил разные ссылки. Потом просто взял и удалил его, прописав схожие функции в шаблонах. Если нужное можно сделать в родном коде, то и доп. рюшки не нужны. AmdAveO огромное Вам спасибо! Вы мне очень помогли разобраться с категориями... К сожалению у нас нету QIWI в Дубаях, но есть другие варианты!
Спасибо за отзыв! К сожалению у нас Германии тоже нету QIWI, но также есть другие варианты. 
|
|
|
|
|
Записан
|
|
|
|
neocraft
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 146
www.neocraft.org
|
 |
« Ответ #43 : 19.08.2012, 21:28:46 » |
|
Русский язык есть для Feed Gator 2.3.6 ??
|
|
|
|
|
Записан
|
|
|
|
Langoliers
Завсегдатай
   
Репутация: +61/-2
Online
Пол: 
Сообщений: 733
Если б Я изучал людей, то был бы паразитологом
|
 |
« Ответ #44 : 05.09.2012, 13:58:58 » |
|
Такой вопрос. Выполнил все по инструкции, но у меня и выводилось и выводится сейчас такое: <base href="http://mysite.com/article.html" /> Ну и на всех страницах соответственно... А уже после выводится <link href="http://mysite.com/article.html" rel="canonical" /> Скажите, не вредно ли это? И не повредит при индексации?
|
|
|
|
|
Записан
|
|
|
|
|
Очередной вебмастер
|
 |
« Ответ #45 : 05.09.2012, 18:25:46 » |
|
Скажите, не вредно ли это? И не повредит при индексации?
Это не вредно, так работает сама Joomla
|
|
|
|
|
Записан
|
|
|
|
vaymohk
Давно я тут
  
Репутация: +1/-0
Offline
Пол: 
Сообщений: 252
Ingtimes.ru | Новости Ингушетии
|
 |
« Ответ #46 : 24.09.2012, 11:55:49 » |
|
Возможно ли такое сделать для ZOO?
|
|
|
|
|
Записан
|
|
|
|
Sergeyy
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 34
|
 |
« Ответ #47 : 02.10.2012, 19:39:19 » |
|
Здравствуйте! Поставил на один сайт, всё отлично работает! На другом проблема! Страницы, где список материалов, становится недоступным после добавления каноникал. После нажатия на меню, появляется пустая белая страница! Главная и старницы, меню-материал, работают прекрасно! В чём может быть проблема?
Очень нужна помощь, сайт после переноса на 2.5, дублей просто куча!
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #48 : 02.10.2012, 19:56:24 » |
|
Скорей всего допущена ошибка при вставке кода, обычно если из кода нечаянно удалилась ковычка, или скобка, запятая, двоеточие... Или как вариант, идет перехлест с кодом/переменными в шаблоне.
|
|
|
|
|
Записан
|
|
|
|
Sergeyy
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 34
|
 |
« Ответ #49 : 02.10.2012, 20:09:01 » |
|
Спасибо большое! Переписал, всё работает.
|
|
|
|
|
Записан
|
|
|
|
nadim
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 25
|
 |
« Ответ #50 : 22.11.2012, 09:24:46 » |
|
Такой вопрос. Выполнил все по инструкции, но у меня и выводилось и выводится сейчас такое: <base href="http://mysite.com/article.html" /> Ну и на всех страницах соответственно... А уже после выводится <link href="http://mysite.com/article.html" rel="canonical" /> Скажите, не вредно ли это? И не повредит при индексации? Как не вредно - очень вредно. У меня из-за таких строчек Яндех отказывается страницы индексировать! Подскажите как от этого избавиться?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #51 : 22.11.2012, 12:03:55 » |
|
Из-за каких конкретно строчек? Можно взглянуть на больного?
|
|
|
|
|
Записан
|
|
|
|
nadim
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 25
|
 |
« Ответ #52 : 22.11.2012, 12:22:44 » |
|
Из-за каких конкретно строчек? Можно взглянуть на больного?
Может я не прав, но мне кажется из-за этих строчек: <base href="http://mysite.com/article.html" /> <link href="http://mysite.com/article.html" rel="canonical" />
Страница говорит, что она не каноническая и указывает на саму себя (типа она каноническая) из-за этого Яндекс и выбрасывает из поиска (может я не прав).
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #53 : 22.11.2012, 12:46:33 » |
|
На страницу материала могут вести несколько по разному сгенерированных ссылок. Например на одну и ту же страницу могут вести ссылки вида http://mysite.net/page-alias.html http://mysite.net/index.php?Itemid=1 http://mysite.net/index.php?Itemid=1&option=com_content... и т.п.
Без ссылки каноникал будут проиндексированы все ссылки, а Яндекс уже сам решит, какие отдавать в поисковую выдачу. Если же мы укажем такую ссылку <link href="http://mysite.net/page-alias.html" rel="canonical" />, то соответственно в выдаче будет участвовать http://mysite.net/page-alias.html, остальные ссылки Яндекс проигнорирует.
|
|
|
|
|
Записан
|
|
|
|
nadim
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 25
|
 |
« Ответ #54 : 22.11.2012, 12:57:51 » |
|
Что означает эта запись: <base href="http://mysite.com/article.html" />
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #55 : 22.11.2012, 13:05:26 » |
|
|
|
|
|
|
Записан
|
|
|
|
nadim
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 25
|
 |
« Ответ #56 : 22.11.2012, 14:57:21 » |
|
Спасибо! Если такая запись присутствует на странице для yandex - это нормально, так и должно быть (яндекс должен заносить такие страницы в индекс "поиск") <base href="http://mysite.com/article.html" /> <link href="http://mysite.com/article.html" rel="canonical" />
|
|
|
|
« Последнее редактирование: 22.11.2012, 15:15:08 от nadim »
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +268/-42
Offline
Пол: 
Сообщений: 3956
любит наш народ всякое гавно...
|
 |
« Ответ #57 : 15.12.2012, 14:12:32 » |
|
Такс.. Такой интересный момент $docroute = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->id));
Выдает для списка категории путь к списку, а хочется для блога категории. Как такое реализовать?
|
|
|
|
|
Записан
|
|
|
|
|
Fedor Vlasenko
|
 |
« Ответ #58 : 15.12.2012, 19:31:38 » |
|
JRoute::_('index.php?view=category&layout=blog&id='.$id); //$id - категории
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +268/-42
Offline
Пол: 
Сообщений: 3956
любит наш народ всякое гавно...
|
 |
« Ответ #59 : 15.12.2012, 19:33:31 » |
|
JRoute::_('index.php?view=category&layout=blog&id='.$id); //$id - категорииНе катит, именно так и прописано в шаблоне сейчас ))
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #60 : 16.12.2012, 23:37:07 » |
|
Сейчас нет под рукой проверочного полигона на J2. Попробуй это. $docroute = JRoute::_('index.php?Itemid=' . JRequest::getInt( 'Itemid', 0, 'get' ));
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +268/-42
Offline
Пол: 
Сообщений: 3956
любит наш народ всякое гавно...
|
 |
« Ответ #61 : 17.12.2012, 08:46:08 » |
|
Сейчас нет под рукой проверочного полигона на J2. Попробуй это. $docroute = JRoute::_('index.php?Itemid=' . JRequest::getInt( 'Itemid', 0, 'get' )); Логика понятна, проблема в том что канонической я хочу не текущую страничку )
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 168
|
 |
« Ответ #62 : 17.12.2012, 09:15:31 » |
|
Тоесть у тебя категории доступны по разным урлам? Если так, то можно указать в настройках категории или меню, которые нужно исключить из индекса, метатег для роботов "noindex, follow".
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +268/-42
Offline
Пол: 
Сообщений: 3956
любит наш народ всякое гавно...
|
 |
« Ответ #63 : 17.12.2012, 09:45:02 » |
|
Тоесть у тебя категории доступны по разным урлам? Если так, то можно указать в настройках категории или меню, которые нужно исключить из индекса, метатег для роботов "noindex, follow".
Это понятно, но лучше в сумме с rel=canonical. Суть в том что у меня есть 2 вида категории - блок и список. И, логично, что контент там схожий, соответсвенно для вида списка надо бы указать каноническую сылку вида блога. Роутер же по дефолту дает как раз ссылку на список.
|
|
|
|
|
Записан
|
|
|
|
miishl
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 71
|
 |
« Ответ #64 : 08.01.2013, 12:39:10 » |
|
К примеру на сайте есть: http://site.ru/правильный-урл/статья.php - это основная статья, посадочная. и дубли: http://site.ru/неправильный-урл2/статья.php http://site.ru/неправильный-урл3/статья.php http://site.ru/неправильный-урл4/статья.php http://site.ru/неправильный-урл5/статья.php .... http://site.ru/неправильный-урлN/статья.php
как это исправить?
|
|
|
|
|
Записан
|
|
|
|
|
Fedor Vlasenko
|
 |
« Ответ #65 : 08.01.2013, 13:04:16 » |
|
Суть в том что у меня есть 2 вида категории - блок и список. И, логично, что контент там схожий, соответсвенно для вида списка надо бы указать каноническую сылку вида блога. Роутер же по дефолту дает как раз ссылку на список.
<?php $input = JFactory::getApplication()->input; $option = $input->getCmd('option', ''); $view = $input->getCmd('view', ''); $id = $input->getCmd('id', ''); if ($option=='com_content' && $view=='category' ) { $url = JRoute::_('index.php?view=category&layout=blog&id='.$id); //добавить домен может быть JFactory::getDocument()->addHeadLink($url, 'canonical', 'rel'); } ?>
|
|
|
|
|
Записан
|
|
|
|
daddy
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 45
|
 |
« Ответ #66 : 04.02.2013, 13:35:39 » |
|
К примеру на сайте есть: http://site.ru/правильный-урл/статья.php - это основная статья, посадочная. и дубли: http://site.ru/неправильный-урл2/статья.php http://site.ru/неправильный-урл3/статья.php http://site.ru/неправильный-урл4/статья.php http://site.ru/неправильный-урл5/статья.php .... http://site.ru/неправильный-урлN/статья.php
как это исправить?
Да, тоже интересно?
|
|
|
|
|
Записан
|
|
|
|
scanelink_ru
Захожу иногда

Репутация: +1/-0
Offline
Пол: 
Сообщений: 19
|
 |
« Ответ #67 : 25.02.2013, 17:34:38 » |
|
ДД! IMHO !Лично я полагаю данное решение рассово неверным. Да и редирект на подопытном сайте не изволит правильно работать. Здесь предлагается привести все каноникалы к самому короткому URL, очевидно не совпадающему со структурой меню сайта. Имеем: 1. Пропадание ключевиков из URL, которыми потенциально может быть набито меню. 2. Понижение ссылочного веса канонической страницы, т.к. юзера ручками распространяют ссылки на те страницы, адрес которых они видят и могут скопипастить из адресной строки броузера, а не на какие то там http://сайт/component/что/то/там/исчо Так же размещая SEO-статьи на сторонних ресурсах, юзеру проще копипастить ссылки из меню, а не мудрить с короткими и относительно короткими адресами. 3. Теряем PR-ы на внутренней линковке. Или даже обнуляем. Столкнулись с данной темой, когда гугль проиндексировал мегакучу дублей. Сайтмап передаёт несчастных 140 страниц, а гугль проиндексировал 5 тыщ с гаком! В основном это дубли джумшоппинга (при чём особо массово) и материалов K2. очень мало дублей материалов стандартного контента. Инструмент вебмастеров от Googleяпроблему решает лишь частично, на малую часть и много ручками надо делать. Мы решили что надо каноникалы прописывать исходя из структуры главного меню, набитого русскими ключевиками в урлах. Сначало к каноникалам привели JoomShopping. Криво, косо, под себя, но работает. Имеющийся стандартный Плагин продукт каноникал проблему решает только для дублей товаров в категориях, т.е вообще ни как. К k2 есть сильно платный плагин на Joomla экстенсионз. Какой программер станет платить бабки за 5 строчек кода? В общем эту проблему решили. Красиво, SEF-независимо. А заодно и с контентом Joomla. Ибо сходный код, только внутренние переменные чуток отличаются. Кому интересно - все коды опубликованы на форуме skanerlink. Я так понял из правил прямые сцылки тут публиковать стрёмно, так что кому надо - поисковик в руки. Или мой ник в качестве подсказки.
|
|
|
|
|
Записан
|
|
|
|
scanelink_ru
Захожу иногда

Репутация: +1/-0
Offline
Пол: 
Сообщений: 19
|
 |
« Ответ #68 : 26.02.2013, 10:30:54 » |
|
Вот здесь "templates/МОЙ ШАБЛОН/index.php" Думаю стоит переделать строку условия на if($mainmenu->getActive() == $mainmenu->getDefault() & $_SERVER['REQUEST_URI'] != "/") : А то у меня на главной странице домена rel=canonical прописывался на неё же, родимую, что рассово неверно.
|
|
|
|
|
Записан
|
|
|
|
Green_1551
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #69 : 06.05.2013, 14:19:15 » |
|
Товарищи. После вышеописанных действий все работает, НО работает только до уровня материала. Т.е. Главная страница, и категории (вместе со вложенными) отображаются нормально, а при клике на сам материал, переходим вообще в другую категорию с созданием канонической ссылки... Измучился, как вылечить?
|
|
|
|
|
Записан
|
|
|
|
|