В общем первая информация http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonica...
о вводе нового тега rel="canonical" суть которого исключать дублированный контент у себя на станице и говорить поисковику где находится первоисточник...
т.е. надо уметь размещать на каждой станице уникальную запись в HEAD,.. как это делать??? На одном из блогов есть пропатченый модуль "redirect module" но как им пользоваться я так и не понял...
Добрый люди подскажите!! очень полезная фича
http://imagexmedia.com/blog/2009/2/what-canonical-url-module-drupal-help...
http://yoast.com/canonical-url-links/
Комментарии
Насколько я понимаю "доделаный" модуль NodeWords, сможет вставлять еще одну строку в область head страниц.
В общем не могу я понять, как в NodeWords сделать еще один тип данных, чтобы в нодах появилось поле в которое надо вписать адрес страницы с первоисточником, а модуль уже сам вставлял в эту ноду в облать head строку типа
Как вариант можете создать дополнительное для материалов через ССK, а затем выводить это поле в вашем шаблоне.
Хотя зачем этот модуль друпалу я как-то не совсем понимаю. Ведь есть http://drupal.org/project/globalredirect который решает проблему с дублированным контентом.
Эта тема поднята http://drupal.org/node/374049
А здесь готовый модуль http://yoast.com/canonical-url-links/
объясняю ситуацию: допустим я продаю трубы, продаю разных производителей...
т.е. к меня есть 5 видов труб от одного производителя с 10 диаметрами (50 нод с описанием), естестевенно для каждого диаметра создается отдельная нода... при том что на каждый тип создается порядка 10 клонов (которые незначительно друг от друга отличаются- но все же отличаются).
Вот и хочу сделать "материнское описание" а все копии для разных диаметров просто указывали на нее... и не вводили в заблуждение поисковик...
т.е. это разные страницы... они не должны клеется 301 редиректом или еще что--то... мне просто надо указать поисковику, какая страница из похожих друг на друга должна быть главной
Разве такое делает? http://drupal.org/project/globalredirect - крутил вертел но про canonical там ничего не нашел, за исключением выбора варианта редиректа... или 301 или canonical... но это немного не то что мне надо...
http://drupal.org/node/374049 именно оттуда и я пришел
или я как всегда чего-то не понимаю??
не понимаете, что модуль готовый скачивается с указанной мной страницы - Grab it here ссылка
Андрей, тот модуль что предлагают скачать это просто модифицированный globalredirect, а человеку надо чтобы к каждому материалу можно было прописать свой canonical tag, вручную буквально.
Для этих целей см. мой первый пост в данной теме
Спасибо WiseMan, вы меня правильно поняли!! буду пробывать через ССK.
andypost@drupal.org указынный Вами модуль я скачал и установил еще до написания моего вопроса... он не дает того функционала... Вы хоть сами его пробывали??? или просто почитали...???
Не скачивал, но достаточно описания, лично я бы лучше сделал довесок для node_words - он практически на все сайты ставится... тем более что эта тема там в issues поднималась.
Есть модуль int_meta - он умеет пользовать для метатегов поля сск. Причем можно создавать теги - просто прописывая соответствие тега и поля. Я пользую его вместо node_words.
Спасибо всем за ответы.. Решил все таки сделать как довесок для node_words (по совету andypost) на мой взгляд это наиболее элегантное решение. но из-за того что с программированием не очень ... остановился на одной непонятной для меня вещи...
Я посмотрел как работает сам node_words, после в папке modules\nodewords\metatags создал новый файл canonical.inc следующего содержания:
// $Id: canonical.inc,v 1.1.4.2 2008/01/22 09:14:20 robrechtj Exp $
/**
* file
* Support file for canonical meta tag.
*/
function nodewords_canonical_form($type, $value, $settings) {
return array(
'#type' => 'textfield',
'#title' => t('canonical'),
'#default_value' => $value,
'#size' => 60,
'#maxlength' => $settings['max_size'],
'#description' => t('Enter a short canonical for this page.'),
);
}
в самом модуле nodewords.module проблема меня настигла в строке 85
drupal_set_html_head('<meta name="'. $name .'" content="'. $content .'" />');
я немогу понять как сделать так, чтобы для только что созданного типа canonical создавалась отдельная запись формата
<link rel="canonical" ..... />
а не как для остальных мета тэгов
<meta name="canonical" ......./>
я так понимаю строка должна иметь примерно такой вид :
drupal_set_html_head('<link rel="canonical" '. $content .' />');
но как ее правильно вписать в общей код, я незнаю
$tags = nodewords_get();
foreach ($tags as $name => $content) {
if (!empty($content)) {
drupal_set_html_head('<meta name="'. $name .'" content="'. $content .'" />');
}
}
}
Тема, IMHO, зарыта модулем Canonical URL
тема актуальна для drupal 7. На всех страницах прописан тег rel canonical а это лишнее.
Он необходим только при наличия разных материалов с одинаковым содержимым.
Для обычного сайта это решает модуль глобал редирект,перенаправляя со страниц типа node/1 на старницу с синонимом. Т.е тег canonical вообще нужно убрать на всех старницах.
Вопрос как это сделать не залезая в код?