Индексация поисковыми системами форума на движке SMF

Многие владельцы и администраторы посещаемых форумов, построенных на популярном движке SMF (www.simplemachines.org) рано или поздно задумываются вопросом индексации своего форума поисковыми системами. Однако, довольно быстро они убеждаются в том, что установленный «из коробки» форум не индексируется, или индексируется неправильно. Что нужно сделать, чтобы контент форума был проиндексирован верно? Я расскажу об этом на примере Яндекса.

Одним из основных инструментов для отслеживания процесса индексации Яндексом является сервис Яндекс.Вебмастер. С помощью этого сервиса мы можем увидеть ошибки в процессе индексации форума. Если после установки нового форума мы добавим его в Яндекс.Вебмастер и дождемся индексации, то увидим, что практически все страницы форума в индекс не попали. Происходит это потому, что разработчики SMF, видимо утомившись объяснять пользователям тонкости взаимодействия форума и поисковых систем, просто добавили на все страницы тег:

<meta name="robots" content="noindex" />

Когда такой тег встречает поисковик, он не индексирует эту страницу. Исправим это, внеся изменения в файл index.template.php (для темы по-умолчанию он находится в /Themes/default/index.template.php). В зависимости от Вашего опыта указанную выше строку можно удалить или модифицировать таким образом:

<meta name="robots" content="index, follow" />

В этом случае будут проиндексированы и текст и ссылки. Индексирование ссылок влияет на передачу веса вашей страницы (Google PR или ТИЦ у Яндекса) тому сайту, на который стоит ссылка.

Теперь, когда мы разрешили поисковикам собирать информацию для индекса с нашего форума, нужно сделать так, чтобы в индекс попали нужные страницы и не попали ненужные. Дело в том, что движок форума SMF, как и многих других, устроен таким образом, что одно и тоже сообщение можно прочитать множеством способов, и делать все эти способы доступными поисковикам не следует, так как нагрузка, создаваемая поисковиками при индексации может превысить лимиты, установленные на хостинге, где Вы размещаете форум, не говоря уже о том, что это просто бессмысленно. Для того, чтобы закрыть ненужные страницы на форуме, воспользуемся файлом robots.txt (рекомендую ознакомится с общим описанием этого файла на сайте robotstxt.org.ru, а также с описанием того, как Яндекс обрабатывает этот файл: http://help.yandex.ru/webmaster/?id=996567). Для форума, установленного в корень сайта этот файл будет выглядеть следующим образом:

User-agent: *
Disallow: /*.msg
Disallow: /*.new
Disallow: /attachments/
Disallow: /avatars/
Disallow: /Packages/
Disallow: /Smileys/
Disallow: /Sources/
Disallow: /Themes/
Disallow: /Games/
Disallow: /*sort
Disallow: /*topicseen
Disallow: /*wap
Disallow: /*imode
Disallow: /*action

Вы можете добавить нужные Вам директивы в этот файл (указание на правильный Host, блоки, специфические для других поисковиков и т.п.). Не смотря на то, что по спецификации использование символов подстановки вроде «*» запрещено, абсолютное большинство поисковиков их интерпретируют верно, т.е. опасаться за правильность синтаксиса не нужно.

Чтобы поисковые системы правильно проиндексировали каждое сообщение на форуме сделаем следующее:

1. Уберем ссылку на на тему из сообщений внутри темы. Нужно внести изменения в файл
Display.template.php (для темы по-умолчанию он находится в /Themes/default/Display.template.php). Нужно убрать ссылку и с названия темы и с картинки рядом с ней. Код, который нужно изменить находится после строки:

// Done with the information about the poster... on to the post itself.

2. Устанавливаем мод для форума, который позволит просматривать каждое сообщение отдельно: View Single Post.

После того, как доработаете свой форум приведенным выше способом, дождитесь, пока поисковые системы закончат его индексацию и убедитесь в отсутствии ошибок (используя, к примеру Яндекс.Вебмастер).

Для того, чтобы ссылки на Ваш форум присуствовали в поисковой выдаче сервиса «Яндекс.Поиск по блогам», используйте специальный плагин (официальная страница: http://nano.yandex.ru/project/yarss/ и версия для SMF 1.1.x: http://www.likhachev.net/projects/yarss/), который отдает RSS в нужном для этого сервиса формате. После установки этого плагина не забудьте добавить фид в сервис (если Вы это еще не сделали): http://blogs.yandex.ru/add.xml.

комментария 3

  • А про какую версию Вы писали? Я в данный момент подумываю о переезде с пхпББ3 на СМ2. Но уже в нескольких местах читал что у симплмашины есть проблема с индексацией Яндексом. Вот теперь и думаю — стоит ли переезжать. Спасибо.

  • Речь шла о ветке 1.1.x.
    В 2.x должно быть по аналогии.

  • существует для закрытия дублей. Нам нужны ссылки вида: /forum/index.php?board=7.0, на эти страницы запрет не распространяется.
    «noindex» поставлен на страницы вида: /forum/index.php?topic=7.msg26;topicseen, чтобы не создавать дублей.

    Вопрос в другом. Почему поисковики пытаются индексировать именно ссылки второго типа, игнорируя первые, даже карта не помогает. В яндексе 0, в гугле все в соплях. Первый раз с таким сталкиваюсь.

Добавить комментарий