AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« : 13.12.2011, 20:20:45 » |
|
Пост обновлен 06.04.2012Во все файлы шаблона, КРОМЕ index.php, и article/form.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( 'Restricted access' );
добавляем // ------------ 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('Restricted access');
добавляем новые строки // ------------ 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->setMetadata('robots', 'noindex, nofollow'); $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('Restricted access');
добавляем // ------------ 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->article->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/article/form.phpпосле // no direct access defined('_JEXEC') or die('Restricted access');
добавляем $document = & JFactory::getDocument(); $document->setMetadata('robots', 'noindex, nofollow');
Открываем файл templates/МОЙ ШАБЛОН/html/com_content/category/blog.phpпосле // no direct access defined('_JEXEC') or die('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем // ------------ 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 = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->catslug, $this->category->sectionid));
$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('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем // ------------ 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 = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->catslug, $this->category->sectionid));
$document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod
Открываем файл templates/МОЙ ШАБЛОН/html/com_content/section/blog.phpпосле defined('_JEXEC') or die('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем // ------------ 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/section/default.phpпосле // no direct access defined('_JEXEC') or die('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем // ------------ 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
//------------------------------------------------------------------------------------------------------------------------------------------// Как дополнение желательно делать запрет на индексацию страниц с параметрами ?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/article/tmpl/form.php в templates/МОЙ ШАБЛОН/html/com_content/article/form.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/section/tmpl/blog.php в templates/МОЙ ШАБЛОН/html/com_content/section/blog.php копируем components/com_content/views/section/tmpl/default.php в templates/МОЙ ШАБЛОН/html/com_content/section/default.php
PS. Следите за обновлениями поста, возможны поправки!
|
|
|
|
« Последнее редактирование: 07.04.2012, 00:04:02 от AmdAveO »
|
Записан
|
|
|
|
Alifer
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 30
|
 |
« Ответ #1 : 16.12.2011, 15:36:16 » |
|
Дай тебе всевышний здоровья и успехов.  Сколькож терпений стоило выискать и все это собрать в кучку. ...Следите за обновлениями поста, возможны поправки... Если можно, для таких диЛетантов как я, указывайте пожалуйста что и на что было изменено. А то сложно понять где и в чем могли быть изменения в этом божественном посте (ну напр. "раньше было так:")  НО... У меня ничего не меняется - объясните мне темному как работает эта каноническая ссылка: напр.: у меня есть статья "холодильник" ссылку на которую я даю со страниц "Бытовая техника" и "Электроприборы", тогда у меня на статью "холодильник" будут вести 2 ссылки: www..../Бытовая техника/холодильник и www..../Электроприборы/холодильник и по обоим адресам будет прописано что они канноникал. И в Google ТОЖЕ НИЧЕГО НЕ ИЗМЕНИТЬСЯ - будут фигурировать 2 ссылки. Я надеялся что эти пляски с бубном мне помогут решить проблему и "приписать" холодильник только к одной странице - напр. Бытовая техника. Перелинковка страниц между собой привела к тому, что Google мне из 50 страниц сделал 890. Как руками прописать у каждой статьи какноническую ссылку? Я уже готов на крайности... 
|
|
|
|
« Последнее редактирование: 16.12.2011, 19:28:35 от Alifer »
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #2 : 17.12.2011, 00:58:08 » |
|
Если можно, для таких диЛетантов как я, указывайте пожалуйста что и на что было изменено. А то сложно понять где и в чем могли быть изменения в этом божественном посте (ну напр. "раньше было так:")  Я бы рад, только времени у меня для этого нетуть.  Поэтому просто берем и заменяем все что между строками // ------------ Start Canonical-Mod и // ------------ End Canonical-Mod на новое, и все. Придет smart, потрет последние посты, и закроет эту тему. Поэтому с вопросами я думаю надо ходить сюда rel=”canonical” - теперь и в Yandex
|
|
|
|
|
Записан
|
|
|
|
|
Taatshi
|
 |
« Ответ #3 : 17.12.2011, 08:36:18 » |
|
А я вот думаю, что закрывать тему нельзя. Мало ли какие у кого ситуации возникнут. Надо сделать как обычно - тема открыта, обсуждается, а в верхний пост вносятся изменения по мере обсуждения, чтобы самая свежая версия и все нюансы были всегда в первом посте. И вот как сейчас: обновлено такого-то.
Это будет что-то типа техподдержки. Не открывать же каждый раз новую темку. А в личку писать - так польза будет для одного человека, а тут - для всех. И автору, думаю, проще ответить один раз здесь чем каждый раз каждому в личку.
То же самое касается и остальных похожих тем.
|
|
|
|
|
Записан
|
|
|
|
rk3dnp
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 180
|
 |
« Ответ #4 : 19.12.2011, 19:42:12 » |
|
Сделал для главной страницы, проблема: В опере работает как надо, в ie9 при заходе через меню (ссылка на главную), вместо мойсайт.ru отображает мойсайт.ru/home После добавления товара в корзину (virtuemart), в опере появляется ссылка Показать корзину, а в ie пропадает, НО если нажать f5, она появляется ))))
Ошибка вышла, без этого кода тоже самое...
|
|
|
|
« Последнее редактирование: 19.12.2011, 20:31:45 от rk3dnp »
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #5 : 24.02.2012, 19:51:18 » |
|
Нужна помощь! После выполнения F.A.Q. из первого поста у меня началась переадресация с "ровных" страниц на "кривые". Т.е. существует карта сайта, скормленная Google и Я, в ней "ровные" ссылки. В процессе деятельности появились "кривые" ссылки на материалы. Так вот эти "кривые" ссылки почему-то воспринимаются как канонические 
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #6 : 24.02.2012, 20:38:37 » |
|
Что значит, "с ровных страниц на кривые"? Чем генерятся ссылки? Больного можно осмотреть? Клятву Гиппократа не давал, но если что, клянусь молчать!
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #7 : 24.02.2012, 20:50:31 » |
|
А есть ли смысл делать подобное для интернет магазина? Ну тоесть товар ведь можно открыть по прямой ссылке, по ссылке из категории, по ссылке из списка производителей и тд. и всякий раз урл страницы будет разный. Имеет ли смысл поработать над rel="canonical" ?
|
|
|
|
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #8 : 24.02.2012, 20:50:51 » |
|
_http://abris-tur.ru Глянь карту сайта, наведи на ссылку с материалом и запомни её, а потом кликни и посмотри на адрес в браузере. Все станет ясно. 
|
|
|
|
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #9 : 24.02.2012, 20:52:15 » |
|
danik.html Я хз %). Просто получается, что юзеры сайта никогда не увидят реальных ссылок, а будут шарится по дублям. Это есть гут?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #10 : 24.02.2012, 21:08:36 » |
|
А есть ли смысл делать подобное для интернет магазина? Ну тоесть товар ведь можно открыть по прямой ссылке, по ссылке из категории, по ссылке из списка производителей и тд. и всякий раз урл страницы будет разный. Имеет ли смысл поработать над rel="canonical" ?
Для поисковой оптимизации есть смысл, вместо нескольких страниц в индексе будет одна. Т.е. дубли страниц уйдут в топку. А то, что "всякий раз урл страницы будет разный" плохо. Зачем давать роботам ходить в одну и ту же точку с разных урлов? Это и лишнее время, и лишняя нагрузка. Глянь карту сайта, наведи на ссылку с материалом и запомни её, а потом кликни и посмотри на адрес в браузере. Все станет ясно.  1. Я не вижу там canonical. 2. Если Xmap так генерит ссылки, то причем тут шаблоны? Тем более К2. Надо плагин Xmap смотреть.
|
|
|
|
« Последнее редактирование: 24.02.2012, 21:38:23 от AmdAveO »
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #11 : 24.02.2012, 21:18:22 » |
|
1. Я не вижу там canonical.
Почему нет canonical не знаю, все делал по мануалу и начались эти редиректы именно после этого. А суть проблемы понятна? Я просто хотел сделать редирект в .htaccess с дублей на недубли, а тут такая засада 
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #12 : 24.02.2012, 21:24:04 » |
|
Кэш чистил? У тебя там все на К2? Редиректы в htaccess делать ненужно, тут в шаблоне материала уже вставляется редирект на правильную ссылку в templates/МОЙ ШАБЛОН/html/com_content/article/default.php, выглядит так // Начало проверки системной ссылки в запросе. (для редиректа 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; // Конец проверки системной ссылки в запросе.
|
|
|
|
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #13 : 24.02.2012, 21:32:48 » |
|
1. У меня там не всё на K2 2. Это код ты нашел в моих страницах или это то что мне поможет?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #14 : 24.02.2012, 21:37:14 » |
|
Этот код из первого поста, если ты все сделал как там написанно, то редирект 301 у тебя теперь прописан в шаблоне, и в htaccess его делать ненужно. Комментарии в коде читал?
|
|
|
|
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #15 : 24.02.2012, 21:53:22 » |
|
Щас еще раз все проверил. Этот код у меня есть, но ведь он не для К2, или я окончательно сварился уже. Как и какой почистить кэш?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #16 : 24.02.2012, 22:05:27 » |
|
Ну да, так и есть, уже сварился. Эта тема Добавляем rel="canonical" в шаблоны материалов Joomla 1.5, вареному сложно увидить отсутствие К2 в названии.  Однако тут Добавляем rel=”canonical” в шаблоны K2, J 1.7-2.5 ты уже тоже наследил. 
|
|
|
|
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #17 : 24.02.2012, 22:15:18 » |
|
Блин. Теперь новое счастье. При переходе на материал с карты сайта выдает 404. Это вроде логически верно, но не то чего я добивался.
З.Ы. Да тема не та. Мне теперь там писать?
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #18 : 24.02.2012, 22:27:27 » |
|
Да тема не та. Мне теперь там писать?
По поводу 404 и редиректа, да. По поводу кривых ссылок в карте сайта, нет. Это тема плагина К2 для Xmap.
|
|
|
|
|
Записан
|
|
|
|
rokka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #19 : 24.02.2012, 22:33:10 » |
|
Спс, пойду искать счастья дальше.
|
|
|
|
|
Записан
|
|
|
|
|
Taatshi
|
 |
« Ответ #20 : 06.04.2012, 20:14:24 » |
|
Интересно... Добавляю rel canonical и получаю автоматический редирект с главной mysite.ru на mysite.ru/home Попасть на mysite.ru становится практически невозможно...
Как только переименовываю папку HTML в шаблоне, все становится на свои места. До каноникал в этой папке был только com_contact
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #21 : 06.04.2012, 20:20:36 » |
|
Мне тоже интересно)) Как эти строки кода прописываешь? //$docroute = JRoute::_('index.php?Itemid='.$mainmenu->getDefault()->id); // Если в качестве канонической ссылки хотим использовать системную ссылку Joomla типа http://мойсайт.рф/home.html , то раскомментируем сроку выше, и закомментируем строку ниже. $docroute = '/'; $document->addHeadLink( $livesite . $docroute . $docpagenr, 'canonical', 'rel', '' ); Как только переименовываю папку HTML в шаблоне, все становится на свои места. До каноникал в этой папке был только com_contact
Еще интересней. Прописываешь не в templates, а в components?
|
|
|
|
|
Записан
|
|
|
|
|
Taatshi
|
 |
« Ответ #22 : 06.04.2012, 20:22:58 » |
|
По умолчанию
Причем в index.php не влияет, работает нормально, а вот если остальное - тогда сбой. Если хочешь, скину доступ в личку. посмотришь сам
Нет, прописываю в темплатес, сделала папочки в HTML и туда скопировала нужные файлы
|
|
|
|
« Последнее редактирование: 06.04.2012, 20:26:04 от Taatshi »
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #23 : 06.04.2012, 21:44:44 » |
|
Стоп! Чет я заболтался)) В моем коде нет редиректа для главной, только для страницы материала. В любом случае, можешь кинуть доступ в личку. Посмотрим, что там за редирект))
|
|
|
|
|
Записан
|
|
|
|
|
Taatshi
|
 |
« Ответ #24 : 06.04.2012, 21:52:51 » |
|
Локализовала проблему - это default для article
Сейчас кину доступ
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #25 : 07.04.2012, 00:06:18 » |
|
Код в первом посте обновлен! Обновления касаются генерации ссылки каноникал и отключения редиректа 301 на главой странице сайта. Taatshi, спасибо за наводку!
|
|
|
|
« Последнее редактирование: 07.04.2012, 00:58:02 от AmdAveO »
|
Записан
|
|
|
|
Ravilka
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 32
|
 |
« Ответ #26 : 11.05.2012, 15:41:17 » |
|
Код в первом посте обновлен! Обновления касаются генерации ссылки каноникал и отключения редиректа 301 на главой странице сайта. Taatshi, спасибо за наводку!
Чувак смени оформление поста, код нельзя увидеть и тем более скопировать, все скрыто
|
|
|
|
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #27 : 13.05.2012, 00:14:52 » |
|
RavilkaЧувак, смени браузер или его настройки. Неужели ты думаешь, что я ради тебя любимого буду растягивать портянку с кодом на высоту Эйфелевой башни? 
|
|
|
|
|
Записан
|
|
|
|
Ravilka
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 32
|
 |
« Ответ #28 : 13.05.2012, 06:14:20 » |
|
Что мешало сделать вот в таком виде? Попросил же по человечески Ссылка Canonical для главной страницы сайтаОткрываем файл templates/МОЙ ШАБЛОН/index.phpпосле
// no direct access defined( '_JEXEC' ) or die( 'Restricted access' );
добавляем // ------------ 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/article/default.phpпосле
// no direct access defined('_JEXEC') or die('Restricted access');
добавляем
// ------------ 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 = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->catslug, $this->category->sectionid));
$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('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем // ------------ 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 = JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->catslug, $this->category->sectionid));
$document->addHeadLink($livesite . $docroute . $docpagenr, 'canonical', 'rel', ''); endif; // ------------ End Canonical-Mod
Открываем файл templates/МОЙ ШАБЛОН/html/com_content/section/blog.phpпосле
defined('_JEXEC') or die('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем
// ------------ 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/frontpage/default.php (незнаю, правильно или нет, не пробовал) после
// no direct access defined('_JEXEC') or die('Restricted access'); $cparams =& JComponentHelper::getParams('com_media');
добавляем
// ------------ 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
|
|
|
|
« Последнее редактирование: 13.05.2012, 06:29:33 от Ravilka »
|
Записан
|
|
|
|
AmdAveO
Осваиваюсь на форуме
 
Репутация: +34/-2
Offline
Пол: 
Сообщений: 166
|
 |
« Ответ #29 : 13.05.2012, 11:01:37 » |
|
Вот неугомонный! Ты хоть раз задавался вопросом - для чего программный код заключают в соответствующие теги? Ответил я тебе тоже по-"человечески", исходя из твоей реплики ...код нельзя увидеть и тем более скопировать, все скрыто Заметь, теме уже 5 месяцев, и пока что ты единственный, кто написал о невидимом коде, и невозможности его скопировать. С чего бы так...?
|
|
|
|
|
Записан
|
|
|
|
|