доброго времени суток!
уже год пишу разные выборки для своего сайта на Друпал,а именно прямо в тексте материала идут обращения к БД, которые выбирают другие материалы по условиям и формируют некий многостраничный каталог ссылок на материалы. все красиво, всем нравится.
и вот сегодня случайно обнаружил что поисковики не индексируют мои выборки потому что у всех страниц, например у
site.ru/katalog
site.ru/katalog?page=2
site.ru/katalog?page=3
...
site.ru/katalog?page=n (это разные страницы, содержащие разную информацию!)
есть такой тег [link rel="canonical" href="/site.ru/katalog" /] (фактически это ссылка на ту страницу со скриптом, формирующим каталог)
и поэтому поисковики отказываются индексировать сами страницы каталога материалов, индексируя только первую.....
я в шоке. срочно погуглил, ничего не нашел - как убрать запись этого тега только для некоторых страниц?
спасибо большое за ответы заранее!!!
Комментарии
Вы хотите сказать, что для всех перечисленных страниц используется одинаковый canonical путь?
Да. и Яндекс отказывается их индексировать, о чем прямо пишет в панели ЯВМ
rel cannonical может ставить path auto или global redirect,по моему все таки в global redirect была галочка на составление канонических ссылок.
global redirect у меня не установлен, в path auto такой галочки нет, да и, как я понял, в 7ке простановка rel cannonical зашита в ядро...
все оказалось еще хуже (проснулся, чуть успокоился, анализирую) - там не только этот тег надо убирать, там их два, например для страницы /node/99?page=2 будет такое:
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<link rel="canonical" href="/node/99" />
формально Друпал прав, это действительно одна страница, просто в зависимости от значения page= она отдает разные данные и хотелось бы чтобы поисковики это видели....
drupal_add_html_head_link
В template.php
<?php
function имяТемы_html_head_alter(&$head_elements) {
if (arg(0) == 'node') { // для страниц нод
$delkey = null;
foreach ($head_elements as $key => $element) {
if (mb_stripos($key, 'drupal_add_html_head_link:canonical:</', 0, 'utf-8') === 0) {
$delkey = $key;
}
}
if ($delkey) unset($head_elements[$delkey]);
}
}
?>
natbampo
Спасибо!!! помоему (сейчас займусь) это то что я искал! думаю по тому же принципу я смогу избавиться и от тега shortlink... и дополнительное условие вставить, чтобы удалялось не для всех страниц...
В Вашем случае также поможет модуль Meta tags
да я уже все сделал, еще раз спасибо natbampo
просто чуть модифицировал его пример, добавил проверку на номер ноды и добавил удаление тега shortlink - все работает просто идеально!
У вас отображалось все так как надо
Вы неправильно поняли смысл работы rel=canonical.
Как правило, CMS (системы управления контентом, в тч. для интернет-магазинов) разбивая контент на страницы делают практически полный дубль оных, то есть отличается только список товаров, а заголовки, тексты и пр. остаются теми же. То есть по сути, у страницы каталога получается 20 схожих страниц: страница каталога 1, страница каталога 2, страница каталога 3, страница n, страница 20. Все они абсолютно одинаковы, за исключением списка товаров. Для поисковика это не очень хорошо.
Суть rel=canonical в том, чтобы на страницах 2, 3, 4, 5, n, 20 в хедере ( явным образом указать первую (главную) страницу ""), дабы поисковик видел, что из этих 20 страниц первая - основная.
Такая же проблема, только я не понимаю как для некоторых страничек убрать его...
у меня друпал 6, есть способы без правки кода?
По-моему chocho прав, тем более, что товары Вашего каталога индексируются ПС отдельно (если не закрыто в robots)
Так как настроить рел каноникал, в модуле что-то править(в каком?) или код дописывать (куда?)
Я знаю только Nodewords - там точно можно
нашёл этот модуль у себя /admin/content/nodewords , но там или включить или выключить рел каноникал
мне нужно исправить примерно 160 страниц как быть?
у меня в типе ноды можно его проставлять, в каждой ноде можно проставлять и глобальные настройки имеются
а где редактировать ноду? можно пример пожалуйста?
пожалуйста
yoursite.ru/node/2/edit к примеру
http://iscr.ru/1355754997/
а как связать ноду с определенной страничкой?
не пойму вопроса... нода и есть страничка
например, у вас есть страницы (ноды) типа Product, заходите в редактирование типов содержимого и по-умолчанию ставите, что хотите, в поле rel-canoncial для всех нод типа Product
либо копируете node.tpl.php в node-product.tpl.php - и тут уже можно в header'е наменять, что хотите
а есть глобальные настройки nodewords, где прописываются теги по-умолчанию
здесь admin/content/nodewords/meta-tags/custom - для определенных нод или типов материала
и здесь admin/content/nodewords/meta-tags - глобальные
у меня есть страничка /content/reshetka-dekorativna
Там ест вкладки Просмотр Редактировать Удалить
когда жму редактировать то попадаю на страничку http://site123.ru/node/2062/edit
и там можно редактировать тег рел каноникал
Там где этих трех вкладок нет(Просмотр Редактировать Удалить) - соответственно я не могу каноникал редактировать (просто нет поля рел каноникал)
Вот здесь admin/content/nodewords/meta-tags/custom - у меня есть странички в которых прописан рел каноникал, но не во всех.
Может нужно создать новую страничку (Добавить мета-теги для новой страницы.) и как-то её привязать к уже существующей, для которой нужно поправить каноникал....
Для каких конкретно страниц нет "редактировать"?
может в конце /edit попробовать дописать?
reshetka-dekorativna - у ноды ведь есть определенный тип материала?
нет вкладки "редактировать" для вот этих например
/catalog/blok-upravleniya/bloki-upravleniya-um-1
/catalog/blok-upravleniya/bloki-upravleniya-um-2
/catalog/blok-upravleniya/bloki-upravleniya-za
/catalog/blok-upravleniya/datchiki-davleniya
/catalog/blok-upravleniya/datchiki-temperatury
/catalog/blok-upravleniya/detektor-so2
/catalog/blok-upravleniya/gidrostaty
/catalog/blok-upravleniya/regulyatory-oborotov
/catalog/blok-upravleniya/regulyatory-oborotov-0
если подставить вконце /edit, например /catalog/blok-upravleniya/edit - меня перебрасывает на главную
Теперь вопрос как определить тип материала в ноде?....
А вот если каноникал сам на себя указывает - это плохо или нет?
blok-upravleniya - это вообще что? покажите сайт, не могу угадать
откройте исходный код страницы
найдите в html такую строку - body class="
так вот в body class="node-type-...
... - вот Ваш тип ноды
У меня тоже так, я думаю это нормально))) почитайте, зачем нужен canoncial
У Вас, я так понял, это пути к вьюсинам, а когда просматриваешь сам материал, путь немного другой: product/blok-upravleniya-um-21, например. Вот тут и надо rel=canoncial искать и редактировать.
А те страницы, которые Вы привели - там в настройках вьюсины уже общий задается, так как страница одинаковая, меняется только наименование в сетке, то каноническим должен быть catalog, по идее, ну или catalog/blok-upravleniya.
Мне вообще кажется, что лучше и не трогать этот тег. ПС сама разберется, что ей индексировать и как. Главное, чтобы контент уник был и сайт user-friendly.
Атрибут rel="canonical"
node-type - нет такой строчки...
Зачем нужен рел каноникал я вкурсе
На серче я создал тему http://forum.searchengines.ru/showthread.php?t=762457 , где задал этот вопрос.Так же активная тема тут => http://forum.searchengines.ru/showthread.php?t=762429
И еще, вот Ваш тип материала/вьюхи/панели
<body class="not-front not-logged-in page-catalog one-sidebar sidebar-left with-navigation page-catalog-blok-upravleniya section-catalog">
page-catalog и/или page-catalog-blok-upravleniya