ExBB Community » » Обсуждение » Канонический адрес

Страниц (2): [1] 2 »
 

1. alexvod - 7 августа 2011 — 11:20 - перейти к сообщению
Добрый день!

С недавнего времени Яндекс стал понимать тег link rel="canonical". Можно ли как-нибудь настроить вывод этого тега для ExBB?
2. alexvod - 10 августа 2011 — 14:36 - перейти к сообщению
Попытался сделать самостоятельно

Файл 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 .= "\"/>";


Файл 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. Zeg - 10 августа 2011 — 19:45 - перейти к сообщению
Идея хороша, спасибо. Но у вас несколько другой код стоит. Нужно еще как минимум делать исправления помимо topic.php в файлах search.php, index.php и возможно других. Хотя, проще внести в include/fm.class.php заглушку (пустую переменную), и уже ее изменять там, где нужно (на примере вашего topic.php).

Да, Яндекс нормально это все понимает, уже даже в паре движков видел использование этого мета-тега вместо набивания всего в 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. Zeg - 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. Zeg - 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. Zeg - 11 августа 2011 — 21:17 - перейти к сообщению
В inlude/fm.class.php строки

CODE:
// Заглушка для meta link rel="canonical"
var $_Canonical = "";


после строк

CODE:
/*
Массив статистики форума array
*/
var $_Stats = array();
13. Zeg - 12 ноября 2011 — 01:34 - перейти к сообщению
Для тех, кто давно думал, что делать с печатной версией форума, но не мог определиться, отдавать ее поисковикам (она более нравится поисковикам, т.к. содержит минимум "мусора" в контенте) или нет. Самый лучший, ИМХО, вариант, для таких страниц лучше указать в качестве канонического адреса адрес обычной страницы форума. Для этого открываем файл printpage.php, находим в нем строку

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 .= "\">";


Далее открываем файл temlates/ВашСкин/printpage.tpl и после строки

CODE:
<meta name="Robots" content="index,follow">

вставляем

CODE:
{$GLOBALS['fm']->_Canonical}
14. BON - 12 ноября 2011 — 07:58 - перейти к сообщению
у меня открыта эта страница для поисковиков. жуют только так
(Добавление)
и вопрос, я же могу это дополнение для себя установить, с учетом того что я не делал каноническое имя для других страниц?
15. Zeg - 12 ноября 2011 — 09:09 - перейти к сообщению
Можешь. Только и для остальных основных страниц оно очень нужно, ИМХО.
Ято поисковики печатную версию хорошо индексируют - так оно логично. В печатной версии только контент, нет ничего лишнего,тегов минимум.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0228]     [ ]