Добрый день!
С недавнего времени Яндекс стал понимать тег link rel="canonical". Можно ли как-нибудь настроить вывод этого тега для ExBB?
1. alexvod - 7 августа 2011 — 11:20 - перейти к сообщению
2. alexvod - 10 августа 2011 — 14:36 - перейти к сообщению
Попытался сделать самостоятельно
Файл topic.php
После
Вставляем ниже
Файл templates/Ваш_шаблон/all_header.tpl
После
Вставляем ниже
У меня вроде как заработало (http://immunoterapia.ru/forum/index.php). Если тема многостраничная, то к адресу добавляется параметр &p=. Думаю, что это позволит решить проблемы с &v=l и &postid
Убедительная просьба к специалистам посмотреть этот код. Я таким образом ничего не поломал? С виду вроде работает, но боязно как-то...
Файл topic.php
После
CODE:
$fm->_Title .= ($current_page > 1) ? ' ['.$current_page.']':'';
Вставляем ниже
CODE:
$fm->_Canonical = "<LINK rel=\"canonical\" href=\"{$fm->exbb['boardurl']}/topic.php?forum={$forum_id}&topic={$topic_id}";
$fm->_Canonical .= ($current_page > 1) ? '&p='.$current_page.'':'';
$fm->_Canonical .= "\"/>";
$fm->_Canonical .= ($current_page > 1) ? '&p='.$current_page.'':'';
$fm->_Canonical .= "\"/>";
Файл templates/Ваш_шаблон/all_header.tpl
После
CODE:
<link rel="alternate" type="application/rss+xml" title="{$GLOBALS['fm']->exbb['boardname']}" href="./tools.php?action=rss">
Вставляем ниже
CODE:
{$GLOBALS['fm']->_Canonical}
У меня вроде как заработало (http://immunoterapia.ru/forum/index.php). Если тема многостраничная, то к адресу добавляется параметр &p=. Думаю, что это позволит решить проблемы с &v=l и &postid
Убедительная просьба к специалистам посмотреть этот код. Я таким образом ничего не поломал? С виду вроде работает, но боязно как-то...
3. alexvod - 10 августа 2011 — 14:44 - перейти к сообщению
vipraskrutka пишет:
можно ссылку на это заявления яндекса? А то чтото я пропустил такое знаменательное событие...
Зашел я однажды в вебмастер, а там надпись "Главная страница сайта исключена из индекса: Документ не является каноническим" (Форум на SMF, главной страницей в теге canonical была установлена index.php). Тогда у меня и появилось подозрение, что Яндекс понимает это тег
http://help.yandex.ru/webmaster/?id=1111858
http://help.yandex.ru/webmaster/?id=995304
4. alexvod - 10 августа 2011 — 15:07 - перейти к сообщению
vipraskrutka пишет:
круто однако
Думаю, что теперь можно ставить кнопку от гугла "+1". Раньше её ставить смысла не было, так как "плюсовались" страницы закрытые от индексации (&v=l и &postid).
5. - 10 августа 2011 — 19:45 - перейти к сообщению
Идея хороша, спасибо. Но у вас несколько другой код стоит. Нужно еще как минимум делать исправления помимо topic.php в файлах search.php, index.php и возможно других. Хотя, проще внести в include/fm.class.php заглушку (пустую переменную), и уже ее изменять там, где нужно (на примере вашего topic.php).
Да, Яндекс нормально это все понимает, уже даже в паре движков видел использование этого мета-тега вместо набивания всего в robots.txt.
И еще есть вопрос, как себя будут вести искалки, если эти самые postid и v=l так и оставить запрещенными в robots.txt? Видимо, придется снова проводить эксперименты і выяснять методом тыка.
Да, Яндекс нормально это все понимает, уже даже в паре движков видел использование этого мета-тега вместо набивания всего в robots.txt.
И еще есть вопрос, как себя будут вести искалки, если эти самые postid и v=l так и оставить запрещенными в robots.txt? Видимо, придется снова проводить эксперименты і выяснять методом тыка.
6. alexvod - 11 августа 2011 — 08:23 - перейти к сообщению
Zeg пишет:
Нужно еще как минимум делать исправления помимо topic.php в файлах search.php, index.php
А зачем? Да, в таком варианте на странице index.php тега canonical не будет. Но он там особо и не нужен.
Zeg пишет:
как себя будут вести искалки, если эти самые postid и v=l так и оставить запрещенными в robots.txt?
Я оставил. Яндекс и гугл понимают canonical, значит для них это значение иметь не будет (все равно будут индексировать каноническую страницу).
7. - 11 августа 2011 — 10:43 - перейти к сообщению
alexvod пишет:
А зачем? Да, в таком варианте на странице index.php тега canonical не будет. Но он там особо и не нужен.
Если не поставить "заглушку", то банально получим ошибку об неизвестной переменной в шаблоне. А на том же index.php ее стоит ставить хотя бы для того, чтобы оставить в индексе одну страницу, а не две, т.к. /forum/index.php = /forum/.
К тому же стоит призадуматься, как быть с категориями, т.е. ссылки, вида fotum/index.php?c=N.
По правильному, их нужно тоже приравнять к корню форума, т.к. они имеют тоже содержание (вернее часть от главной страницы). Но, например, как у меня, категории получили PR=3, потому их решил не трогать.
8. alexvod - 11 августа 2011 — 13:41 - перейти к сообщению
Zeg пишет:
Если не поставить "заглушку", то банально получим ошибку об неизвестной переменной в шаблоне.
У меня вроде никаких ошибок нет (http://immunoterapia.ru/forum/index.php). Что такое "заглушка"?
Zeg пишет:
К тому же стоит призадуматься, как быть с категориями, т.е. ссылки, вида fotum/index.php?c=N.
По правильному, их нужно тоже приравнять к корню форума, т.к. они имеют тоже содержание (вернее часть от главной страницы)
По правильному, их нужно тоже приравнять к корню форума, т.к. они имеют тоже содержание (вернее часть от главной страницы)
Но они не идентичны главной и друг другу. Если их приравнять, то forum/index.php?c=1 и forum/index.php?c=2 будут иметь одинаковый канонический адрес, но ведь это совсем разные страницы
9. BON - 11 августа 2011 — 13:52 - перейти к сообщению
alexvod, не знаю правильно ли я понял Zeq, просто по этим адресам получаются дубли. Получается ссылка на главной и про которую речь идет разные, а вот на то содержание куда они ведут одинаковое. Судя по всему так. хотя........будет ждать ответа
10. - 11 августа 2011 — 18:34 - перейти к сообщению
alexvod пишет:
Но они не идентичны главной и друг другу. Если их приравнять, то forum/index.php?c=1 и forum/index.php?c=2 будут иметь одинаковый канонический адрес, но ведь это совсем разные страницы
Не между собой их сравнять, а к главной, т.е. у страниц forum/index.php?c=N каноническая должна быть в идеале forum/index.php или forum/. Т.к. категории как раз и составляют "морду" форума. Но, как писАл, у себя я для них не делал канонической главную (морду).
Заглушка - просто пустая, но объявленная переменная.
11. alexvod - 11 августа 2011 — 19:44 - перейти к сообщению
Zeg пишет:
у себя я для них не делал канонической главную (морду).
Я разместил канонический адрес только на topic.php. Таким образом каконический адрес будет выводится только на страницах тем.
Zeg пишет:
Если не поставить "заглушку", то банально получим ошибку об неизвестной переменной в шаблоне.
Где нужно объявить эту переменную?
12. - 11 августа 2011 — 21:17 - перейти к сообщению
В inlude/fm.class.php строки
после строк
CODE:
// Заглушка для meta link rel="canonical"
var $_Canonical = "";
var $_Canonical = "";
после строк
CODE:
/*
Массив статистики форума array
*/
var $_Stats = array();
Массив статистики форума array
*/
var $_Stats = array();
13. - 12 ноября 2011 — 01:34 - перейти к сообщению
Для тех, кто давно думал, что делать с печатной версией форума, но не мог определиться, отдавать ее поисковикам (она более нравится поисковикам, т.к. содержит минимум "мусора" в контенте) или нет. Самый лучший, ИМХО, вариант, для таких страниц лучше указать в качестве канонического адреса адрес обычной страницы форума. Для этого открываем файл printpage.php, находим в нем строку
и перед ней вставляем
Далее открываем файл temlates/ВашСкин/printpage.tpl и после строки
вставляем
CODE:
$fm->_OnlineLog($fm->LANG['TopicSee'].' <a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'"><b>'.$topicname.'</b></a> - <a href="forums.php?forum='.$forum_id.'"><b>'.$forumname.'</b></a>',$privateID);
и перед ней вставляем
CODE:
// Канонический адрес
$fm->_Canonical = "<link rel=\"canonical\" href=\"{$fm->exbb['boardurl']}/topic.php?forum={$forum_id}&topic={$topic_id}";
$fm->_Canonical .= ($current_page > 1) ? '&p='.$current_page.'':'';
$fm->_Canonical .= "\">";
$fm->_Canonical = "<link rel=\"canonical\" href=\"{$fm->exbb['boardurl']}/topic.php?forum={$forum_id}&topic={$topic_id}";
$fm->_Canonical .= ($current_page > 1) ? '&p='.$current_page.'':'';
$fm->_Canonical .= "\">";
Далее открываем файл temlates/ВашСкин/printpage.tpl и после строки
CODE:
<meta name="Robots" content="index,follow">
вставляем
CODE:
{$GLOBALS['fm']->_Canonical}
14. BON - 12 ноября 2011 — 07:58 - перейти к сообщению
у меня открыта эта страница для поисковиков. жуют только так
(Добавление)
и вопрос, я же могу это дополнение для себя установить, с учетом того что я не делал каноническое имя для других страниц?
(Добавление)
и вопрос, я же могу это дополнение для себя установить, с учетом того что я не делал каноническое имя для других страниц?
15. - 12 ноября 2011 — 09:09 - перейти к сообщению
Можешь. Только и для остальных основных страниц оно очень нужно, ИМХО.
Ято поисковики печатную версию хорошо индексируют - так оно логично. В печатной версии только контент, нет ничего лишнего,тегов минимум.
Ято поисковики печатную версию хорошо индексируют - так оно логично. В печатной версии только контент, нет ничего лишнего,тегов минимум.