Форум русской поддержки Joomla!® CMS
27.04.2017, 22:46:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: 1 [2] 3 4 5   Вниз
  Добавить закладку  |  Печать  
Автор

Канонические ссылки для Joomla 3

 (Прочитано 28596 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Fedor Vlasenko
Профи
********

Репутация: +699/-5
Offline Offline

Пол: Мужской
Сообщений: 3828


Все начинается с Value


« : 07.11.2012, 13:37:59 »

Что такое каноническая ссылка и об атрибуте rel="canonical".
Предлагаю решение для построения канонических ссылок(в комплекте com_content, com_contact, com_weblinks, плагин расширяем для других компонентов).
Плагин нужно тестировать, о багах и глюках, а также пожеланиях и прдлжениях прошу писать в этой теме.
Инструкция по подключению. Joomla 3.0
1. Скачиваете плагин.
2. Устанавливаете плагин.
3. Расширения менеджер плагинов - включаете плагин.
Плагин временно удален. В Joomla версии 3.1 на которой тестировал, неправильно работает роутер.
Можете убедится
ваш сайт/component/content/article.html?id=7 здесь 7 ид материала из админки
Код
$url = JURI::getInstance()->toString();
$uri = JURI::getInstance($url);
$query = JFactory::getApplication()->getRouter()->parse($uri);
var_dump($query );
выведет id='article' это ошибка должно быть в нашем случае  id='7'
Буду просматривать обновления поправят роутер перепишу плагин
« Последнее редактирование: 20.06.2013, 13:34:40 от Fedor Vlasenko » Записан
 
Dolphin
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 162


www.dosug.kg


« Ответ #31 : 30.11.2012, 07:23:21 »

Poznakomlus, стоит ли ставить на мультиязычный сайт с включенным ЧПУ?.. Вроде как все красиво выглядит на сайте по ссылкам, и дублей не видно...
Записан
Fedor Vlasenko
Профи
********

Репутация: +699/-5
Offline Offline

Пол: Мужской
Сообщений: 3828


Все начинается с Value


« Ответ #32 : 30.11.2012, 12:40:18 »

Не скажу. Так как не тестировал с мультиязычностью. Стоит пробовать и тестировать. В принципе отличий быть не должно, так как в основе берется стандартная схема формирования ссылок на примере стандартного меню.
Записан
Dolphin
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 162


www.dosug.kg


« Ответ #33 : 30.11.2012, 15:46:53 »

Ну я поставил. Пока изменений не вижу. Послежу за индексацией сайта. Если вдруг появятся дубли, сообщу дополнительно. Спасибо.
Записан
miishl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 60



« Ответ #34 : 03.12.2012, 20:31:44 »

А для 2.5 есть что-то подобное?
Записан
siynik
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #35 : 09.02.2013, 11:10:02 »

Огромное спасибо за плагин. Но есть вопрос...
смотрю код главной и получается там такой код...
<link href="сайт/index.php" rel="canonical" />
А если в настройках плагина указать адрес доменного имени http://сайт/ (с слешем) то получается следующее
<link href="http://сайт//" rel="canonical" /> Как видим 2 косых черты после имени домена появилось.
Если же указать http://сайт без косой черты, то снова
<link href="сайт/index.php" rel="canonical" />

Может я что то не понимаю) просто Яндекс главную страницу выкинул из индекса... А оставил сайт/index.php
Заранее спасибо за ответ
Записан
Fedor Vlasenko
Профи
********

Репутация: +699/-5
Offline Offline

Пол: Мужской
Сообщений: 3828


Все начинается с Value


« Ответ #36 : 09.02.2013, 13:34:21 »

siynik оставьте поле домена пустым. Немножко освобожусь, подправлю
Записан
siynik
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #37 : 09.02.2013, 23:04:44 »

siynik оставьте поле домена пустым. Немножко освобожусь, подправлю
Спасибо)
может скажешь где подправить, я сделаю.
Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #38 : 12.02.2013, 09:32:35 »

А почему бы не предложить исправление родного SEF плагина, который Неправильно добавляет этот тег?
ага они добавили и полезли косяки вот http://joomlaforum.ru/index.php/topic,253973.msg1279100.html
может что подскажет как в родном seo плагине его вырубить  Cry
Записан
siynik
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #39 : 12.02.2013, 16:09:36 »

ага они добавили и полезли косяки вот http://joomlaforum.ru/index.php/topic,253973.msg1279100.html
может что подскажет как в родном seo плагине его вырубить  Cry
поставь плагин этот и жди выпуска стабильной версии
Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #40 : 12.02.2013, 16:46:53 »

поставь плагин этот и жди выпуска стабильной версии
спасибо огромное, но у меня сайт на 3 языках, и мне такую чушь даёт этот canonical . ПОДСКАЖИТЕ ГДЕ ЭТОГО ГОВНЮКА УДАЛИТЬ?
Записан
Fedor Vlasenko
Профи
********

Репутация: +699/-5
Offline Offline

Пол: Мужской
Сообщений: 3828


Все начинается с Value


« Ответ #41 : 12.02.2013, 16:52:07 »

за комментируйте //$doc->addHeadLink($link, 'canonical'); в стандартном плагине SEF plugins/system/sef/sef.php
Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #42 : 12.02.2013, 17:52:51 »

за комментируйте //$doc->addHeadLink($link, 'canonical'); в стандартном плагине SEF plugins/system/sef/sef.php
Спасибо огромное избавился строчка 50 сделал так : /** $doc->addHeadLink($link, 'canonical'); */
Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #43 : 14.02.2013, 15:53:57 »

И всё равно Яндекс порубал все страницы из-за это ошибки, так что будьте внимательны
Записан
siynik
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #44 : 14.02.2013, 21:44:57 »

спасибо огромное, но у меня сайт на 3 языках, и мне такую чушь даёт этот canonical . ПОДСКАЖИТЕ ГДЕ ЭТОГО ГОВНЮКА УДАЛИТЬ?
Я обновился до версии 3.0.3 и как мне кажется все уже исправили)
Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #45 : 14.02.2013, 21:47:43 »

Я обновился до версии 3.0.3 и как мне кажется все уже исправили)
НЕТ не исправили также осталось пришлось убрать как выше подсказали. из 200 материалов Яндекс убрал из индексаци почти всё аставил только 39 и всё по причине canonical а материалы рззные ВОТ ТАК ВОТ
Записан
offa
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 14


« Ответ #46 : 16.02.2013, 01:58:14 »

Fedor Vlasenko, GraD, большущее вам спасибо!  drink У меня новый сайт на Joomla 3 почти не индексируется ни в Google, ни в Yandex уже больше месяца, и подозреваю, что дело здесь именно в этом canonical. Проиндексировались только страницы "заглавных категорий", а материалы, принадлежащие к этим "категориям" - нет. Долго не мог понять, в чём дело, пока от Яндекса не пошли сообщения насчёт того, что "документ исключён из индексации как неканонический".

Это просто ж.па! На ВСЕХ страницах находилось, по сути, сообщение поисковикам: "Не индексируйте этот документ, его версия для индексации находится по адресу..." = адресу страницы "категории" или пункта меню, к которому относится ссылка!  Shocked У меня из 450 материалов проиндексировалось только 10! Они что там в Joomla вообще дураки!  Crazy Вот чемурдосы! А мы всё думаем, что там крутейшие профи эту систему пишут! Мне кажется, что просто ещё мало людей на Joomla 3 сайты имеют, а так эта проблема будет для всех одной из важнейших. Так что рассказывайте всем как можно шире и громче.  !

Ещё раз большое спасибо вам, ребята!  Cheesy drink
« Последнее редактирование: 08.03.2013, 18:07:59 от offa » Записан
Dmitriy50
Осваиваюсь на форуме
***

Репутация: +4/-11
Offline Offline

Пол: Мужской
Сообщений: 97


TV


« Ответ #47 : 16.02.2013, 03:57:50 »

Подскажите пожалуйста, плагина будет достаточно или надо обязательно делать вот это - /** $doc->addHeadLink($link, 'canonical'); */ ?
Записан
offa
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 14


« Ответ #48 : 16.02.2013, 10:11:53 »

Dmitriy50, отключения плагина, видимо, будет недостаточно. Почитайте вот эту тему, где GraD дополнительно пишет об этом. Я закомментировал в файле plugins/system/sef/sef.php строчку, указанную Федором Власенко (№ 50 или 51).

Только не пойму, почему надо закомментировать так:

/** $doc->addHeadLink($link, 'canonical'); */

а не так

/* $doc->addHeadLink($link, 'canonical'); */

зачем после первого слэша две звёздочки? Я поставил одну - и всё сработало.
« Последнее редактирование: 08.03.2013, 18:08:44 от offa » Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #49 : 16.02.2013, 10:55:31 »

Подскажите пожалуйста, плагина будет достаточно или надо обязательно делать вот это - /** $doc->addHeadLink($link, 'canonical'); */ ?
должно получиться посмотрим через месяц вернутся ли материалы в поиск, отпишусь если что
Записан
Dmitriy50
Осваиваюсь на форуме
***

Репутация: +4/-11
Offline Offline

Пол: Мужской
Сообщений: 97


TV


« Ответ #50 : 16.02.2013, 21:37:49 »

Всем Спасибо за советы!
Записан
capricorn
Практически профи
*******

Репутация: +97/-1
Offline Offline

Сообщений: 1622


« Ответ #51 : 16.02.2013, 21:59:32 »

C интересом читаю эту тему. Прощу прощения за возможно вопрос нуба и не в тему.

sh404SEF сейчас автоматически управляет аттрибутом canonical для контента Joomla и VM. Насколько я понимаю. Поясните пожалуйста, если можно, какие проблемы с sh404SEF можно встретить в этом отношении.
Записан
offa
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 14


« Ответ #52 : 17.02.2013, 01:36:02 »

Capricorn, я не очень большой специалист по веб-мастерингу, и опишу проблему, возможно, упрощённо. Варианты могут быть разными, я обрисую, как было у меня.


Допустим, вы имеет сайт с адресом - http://fuсkingpath.com/. На сайте много статей. Вы, естественно, не выносите ссылки на все статьи на одну главную страницу, а разбиваете статьи по темам, создавая для каждой отдельную категорию. Затем я лично создал для вывода статей каждой такой категории особый пункт меню - типа "Список материалов категории" (это - важная деталь!). Допустим, один из таких пунктов называется fuсkingitem. Он открывает страницу со списком ссылок на статьи определённой темы. Предположим, среди них есть ссылка на статью fuсkingpage. Её адрес Joomla сформирует в виде:


http://fuсkingpath.com/index.php/fuсkingitem/fuсkingpage


И вот, если, ничего не подозревая, пользоваться настройками плагина SEF по умолчанию, то на эту страницу сайта Joomla 3 прямо под тегом <title> вставит тег:


<link href="http://fuсkingpath.com/index.php/fuсkingitem/" rel="canonical" />


(адрес href без fuсkingpage в конце!!)


Насколько я понимаю, для любого поисковика это означает: «Не индексируйте текущую страницу (http://fuсkingpath.com/index.php/fuсkingitem/fuсkingpage), ибо это – вспомогательный дублирующий вариант, а перейдите на http://fuсkingpath.com/index.php/fuсkingitem/, которая является главным вариантом той же страницы, предназначенным именно для индексации».


То есть, поисковик должен проигнорировать статью и вернуться с неё "на уровень выше", в данном случае - на страницу её пункта меню, где зачастую вообще нет никакой полезной информации, а есть только список статей по той или иной теме (ну, тут может быть по-разному; у меня было именно так).


Если провести аналогию с файловой системой компа, то этот тег <link> с неправильно записанным адресом для атрибута rel="canonical" вынуждает поисковик игнорировать в поиске все отдельные файлы, отсылая его «на уровень выше» – просто к тексту перечня файлов той папки, где они находятся.


И такая х..ня, если не провести вышеописанную правку файла plugins/system/sef/sef.php, в Joomla 3 будет по умолчанию помещена НА ВСЕХ СТРАНИЦАХ САЙТА БЕЗ ИСКЛЮЧЕНИЯ!! ВСЕ ОНИ БУДУТ ИСКЛЮЧЕНЫ ИЗ ИНДЕКСАЦИИ!!


Я просто охренел от этого. В предыдущих версиях Joomla такого не было! Может, я что-то понимаю неправильно? Тогда пусть меня поправят более знающие товарищи. Но факт остаётся фактом – Яндекс стал присылать сообщения, что он исключает страницы из индекса, т.к. они представляют собой «неканонические версии».


Текст своего поста я только что исправил. Пока писал его, призадумался - а может, всё это происходит только для страниц, выводимых пунктами меню типа "Список материалов категории"? Мой сайт был целиком основан именно на таких меню. Может, эта ошибка возникает только для них?
« Последнее редактирование: 08.03.2013, 18:11:14 от offa » Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #53 : 17.02.2013, 01:48:33 »

да вы правильно поняли в версии 3 так и есть с материалов перекидывает на категория, допустим у вас новости - раздел политика то все материалы закрывается от индексации и перекидывает на раздел политика, я сам это заметил нодо просто убрать каненктикал и всё
Записан
Dmitriy50
Осваиваюсь на форуме
***

Репутация: +4/-11
Offline Offline

Пол: Мужской
Сообщений: 97


TV


« Ответ #54 : 20.02.2013, 14:30:32 »

После сегодняшнего апдейта Яндекса получил целую кучу исключенных страниц из за этого canonical! Плагин стоит и включен (плагин, который в этой теме выкладывали), в файле SEF.php нужная строка закомментирована и всеравно. Ктсити пока работал ТОЛЬКО ЭТОТ плагин (без этого - /** $doc->addHeadLink($link, 'canonical'); */) Яндекс индексировал вроде как нормально и из за canonical страницы не исключал. Может надо что то одно - либо поставить и включить плагин, либо /** $doc->addHeadLink($link, 'canonical'); */ ?
Записан
offa
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 14


« Ответ #55 : 20.02.2013, 20:37:18 »

Dmitriy50, а вы уверены, что Яндекс индексировал те версии ваших страниц, где тег link с rel="canonical" был уже исключён? Если вы получили "апдейт" только сегодня, а строку в plugins/system/sef/sef.php закомментировали всего несколько дней назад, то, скорее всего, Яндекс читал и анализировал их ещё до этой правки. У Яндекса ведь обычно существует задержка, иногда в 10-12 дней, между считыванием страниц поисковиком и отсылкой их в индекс.

Посмотрите сейчас html-коды ваших страниц. Если пресловутый тег <link> исчез - значит, впредь всё должно быть нормально.

Может надо что то одно - либо поставить и включить плагин, либо /** $doc->addHeadLink($link, 'canonical'); */ ?

Одного закомментирования строки хватит. В предыдущем посте вы спрашивали, будет ли достаточно одного отключения плагина. Я обращал ваше внимание на другую тему, этого форума, где GraD писал: да, одно отключение плагина достаточно для устранения "вредного" тега <link>, но оно при этом создаёт иные проблемы.

Отключения плагина не то чтобы недостаточно - оно нежелательно: исправит одну ошибку, но будет создавать другие. А вот одной правки файла по методу Федора Власенко вполне достаточно - и это лучший вариант: не будет ни link'а с rel="canonical" , ни других ошибок. Советую ещё раз повнимательнее почитать эту тему.

Исправьте файл, а плагин включите.

Да - и какая у вас Joomla? Всё, что здесь написано, относится только к версии 3.
« Последнее редактирование: 08.03.2013, 18:10:16 от offa » Записан
Dmitriy50
Осваиваюсь на форуме
***

Репутация: +4/-11
Offline Offline

Пол: Мужской
Сообщений: 97


TV


« Ответ #56 : 20.02.2013, 21:29:30 »

Спасибо за подробное разъяснение. Joomla у меня 3.0.3, а плагин я имел ввиду тот, который в ЭТОЙ теме прикреплен (в первом посте). О том, что Яндекс может отдавать в индекс страницы с задержкой я просто не подумал. Ещё раз спасибо.
Код закомментирован, плагин включен. Теперь canonical есть только если ссылка вот такая - мой сайт/категория.html?start=5 Т.е. когда в категории на страницу выводится не все материалы, а скажем 5 статей -> на следующей еще пять из этой же категории. На первой странице чисто, а на всех последующих есть эта гадость. Может подскажете как теперь отсюда удалить... ну если это возможно? Кстати именно эти страницы Яндекс выкинул. Страницы статей - нормально всё, а страницы блога категории - везде этот canonical (кроме самой первой, которая не оканчивается на ?start=...).
« Последнее редактирование: 21.02.2013, 03:12:07 от Dmitriy50 » Записан
offa
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 14


« Ответ #57 : 21.02.2013, 21:13:49 »

Хм... очень странно! У меня на сайте только один пункт меню типа "Блог категории", и там пока лишь две статьи. Но я только что поставил настройку: "выводить в макете блога по одной статье на странице". Т.о. образовались две страницы (по одной статье на каждой) - и у одной адрес со "?start=..." Не вижу canonical нигде - ни на двух "обзорных" страницах блога, ни при переходе с них к самим статьям!

Большинство моих пунктов меню выводят не Блоги, а Списки материалов категорий. Категории есть очень большие по количеству статей - и я для них разбил выводимые Списки материалов на несколько страниц. Адреса этих страниц (кроме первой) тоже включают в себя "?start=...". Но и здесь ни на самих страницах со списками (ни на первой, ни на последующих), ни в отдельных статьях canonical уже нигде нет!

Dmitriy50, я сейчас проверил через Total Commander все файлы Joomla, установленной у меня на локальном компе. Искал в них присутствие выражения "canonical". Оказалось, что оно присутствует только в четырёх джумловских файлах. И кроме plugins/system/sef/sef.php три остальных точно никак не могли подействовать на формирование кода страниц. Так что это если у вас остаётся эта вставка, её, почти наверняка, создаёт не Joomla, а какой-то подключённый сторонний плагин.

Я проверял "чистую" версию Joomla, в "базовой комплектации", без всяких сторонних расширений. Единственное сомнение: у меня на локальном компе стоит Joomla 3.0.0. Если у вас 3.0.3, может, там что-нибудь добавили? Но, скорее всего, нет. Это действует какой-то сторонний плагин (не SEF). Попробуйте их отключать.
« Последнее редактирование: 08.03.2013, 18:10:43 от offa » Записан
Dmitriy50
Осваиваюсь на форуме
***

Репутация: +4/-11
Offline Offline

Пол: Мужской
Сообщений: 97


TV


« Ответ #58 : 21.02.2013, 21:40:45 »

Offa. Вы абсолютно правы. Такую каку делал плагин который я скачал в этой теме (самый первый пост). Как только его отключил - rel="canonical" исчез. Вот что интересно - пока я использовал только этот плагин rel="canonical" не появлялся (хотя я мог его просто не заметить пока Яндекс не обратил мой внимание на него), а как только я закомментировал /** $doc->addHeadLink($link, 'canonical'); */ (при включенном плагине) - rel="canonical" сразу вылез (в 16 строке).
Спасибо за наводку!
Записан
GraD
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 96



« Ответ #59 : 21.02.2013, 22:36:59 »

Offa. Вы абсолютно правы. Такую каку делал плагин который я скачал в этой теме (самый первый пост). Как только его отключил - rel="canonical" исчез. Вот что интересно - пока я использовал только этот плагин rel="canonical" не появлялся (хотя я мог его просто не заметить пока Яндекс не обратил мой внимание на него), а как только я закомментировал /** $doc->addHeadLink($link, 'canonical'); */ (при включенном плагине) - rel="canonical" сразу вылез (в 16 строке).
Спасибо за наводку!
можно и плюс поставить в репу Azn
Записан
Dmitriy50
Осваиваюсь на форуме
***

Репутация: +4/-11
Offline Offline

Пол: Мужской
Сообщений: 97


TV


« Ответ #60 : 21.02.2013, 22:40:02 »

Так я и поставил :-) "За борьбу с сrel="canonical"
Записан
Страниц: 1 [2] 3 4 5   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet