Здесь можно найти перевод полезного мода, узнать про оптимизацию SMF и многое другое.
29 подписчиков
 

Правильный robots.txt для SMF

Почти идеальный robots для только что установленного и настроенного форума, без учёта дополнительных SEO-модов типа Pretty URLs и прочих.

Внимание
Указанные ниже правила никоим образом не претендуют на единственно верные и безошибочные. Но на их основе вы легко можете составить свои. Кроме того, набор правил может меняться и дорабатываться.
User-agent: *
Allow: /$ #Индексация главной страницы форума (или портала, если установлен)
Disallow: /*action #Адреса типа /index.php?action=
Disallow: /*topic=*.msg #Адреса типа /index.php?topic=49.msg209#new
Disallow: /*topic=*.new
Disallow: /*; #Адреса типа /index.php?board=1.0;sort=views
Disallow: /*ID #Адреса с параметром PHPSESSID
Allow: /*board #Индексация всех разделов
Allow: /*topic #Индексация всех тем
Disallow: / #Всё остальное запрещаем!
Host: dragomano.ru #Если у вас домен с www, то пишем: www.mysite.ru

Если хотите разрешить индексацию не только первых страниц тем и разделов, но и всех остальных, используйте универсальный блок правил (см. ниже), для всех роботов.

Директива Host указана в самом конце файла (и должна быть только одна!), чтобы поисковики, не понимающие её, не спотыкались на обработке других правил. Здесь главное не забыть настроить в .htaccess переадресацию адресов с www на адреса без www (или наоброт — зависит от вашей ситуации).

Ещё можно настроить редирект с /index.php на /:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^\/index.php$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ / [L,R=301]

При установке мода Sitemap и включении новостей XML\RSS в админке набор правил не меняется, но добавляется пара строчек:

User-agent: *
Allow: /$
Allow: /*action=.xml #Разрешаем индексацию ленты новостей
Allow: /*sitemap #Разрешаем индексацию карты
Disallow: /*action
Disallow: /*topic=*.msg
Disallow: /*topic=*.new
Disallow: /*;
Disallow: /*ID
Allow: /*board
Allow: /*topic
Disallow: / #Всё остальное запрещаем!
Sitemap: http://dragomano.ru/sitemap.xml #Полный URL к карте сайта
Host: dragomano.ru #Если у вас домен с www, то пишем: www.mysite.ru

Если ещё поставили Aeva Media и SimplePortal, правила опять дорабатываются:

User-agent: *
Allow: /$
Allow: /*forum$ #Индексация главной страницы форума (если установлен SimplePortal)
Allow: /*page*page #Индексация страниц портала
Allow: /*media$ #Индексация главной страницы галереи
Allow: /*media*item #Индексация элементов галереи
Allow: /*media*album #Индексация альбомов галереи
Allow: /*action=.xml
Allow: /*sitemap
Disallow: /*action
Disallow: /*topic=*.msg
Disallow: /*topic=*.new
Disallow: /*;
Disallow: /*ID
Allow: /*board
Allow: /*topic
Disallow: / #Всё остальное запрещаем!
Sitemap: http://dragomano.ru/sitemap.xml #Полный URL к карте сайта
Host: dragomano.ru #Если у вас домен с www, то пишем: www.mysite.ru

Теперь по поводу мобилок. Опишем правила для ботов, добавляющих в индекс страницы для мобильных устройств:

User-agent: Googlebot-Mobile
Allow: /*wap
Allow: /*imode
Disallow: /

User-agent: YandexImageResizer
Allow: /*wap
Allow: /*imode
Disallow: /

И, конечно, если хотим ограничить некоторых упёртых ботов в скорости сканирования своего форума, а то и вовсе запретить им доступ, можно добавить:

User-agent: slurp
Crawl-delay: 10

Заметьте: если у вас форум в поддиректории, то ко всем слэшам в путях добавляется название директории (например: Disallow: /smf вместо Disallow: /).

Весь прочий шлак, для которого не описаны правила, не попадёт в индекс благодаря тегу canonical, ныне поддерживаемому не только Google, но и Яндексом.

И помните — правильный robots.txt жизненно важен для эффективного продвижения сайтов!

Внимание
Если, помимо создания robots.txt, вы вдруг решите поменять что-то в коде движка, помните — вы делаете это на свой страх и риск!

Отметьте интересные вам фрагменты текста и они станут доступны по уникальной ссылке в адресной строке браузера.

Комментарии (всего 39)
  1. | Flint

    Последний вариант "для всех остальных" это для кого?

  2. | Bugo

    Это для тех, которые не понимают директиву Allow и символы типа *

  3. | Flint

    Понял. Спасибо

  4. | Комментатор 91

    Попробовал этот роботс, да вот не работает он как надо.

    User-agent: Yandex
    Allow: /forum/$
    Allow: /forum/*board
    Allow: /forum/*topic
    Allow: /forum/*media$
    Allow: /forum/*media*item
    Allow: /forum/*media*album
    Allow: /forum/*rss
    #everything else
    Disallow: /forum/
    Disallow: /forum/go.php

    Разрешает к индексации это, хотя не должен

    http://www.site.net/forum/index.php/topic,1314.msg16969.html#new

    http://www.site.net/forum/index.php/topic,1314.msg7423.html#msg7423

    http://www.site.net/forum/index.php?action=printpage;topic=1314.0

  5. | Bugo

    И пусть разрешает. Главное, что если зайти по этим адресам, то в мета-теге robots будет значение noindex (если файл index.template.php не правился вручную), который Яндекс должен отлично понимать. Даже если он добавит мусорные странички в кеш, то через некоторое время должен будет их отсеять.

  6. | Комментатор 91

    Это я уже заметил что в теге noindex, а как быть с гуглом?

  7. | Bugo

    А кто вам мешает добавить строчку User-agent: Googlebot выше?

    И кстати последняя строчка в вашем примере не нужна, так как предпоследняя строчка её включает.

  8. | странник

    Вопрос - как правильно использовать параметр Clean-param для страниц сессий, чтобы Яша не тратил время на кучу дублей, а индексировал новые правильные урлы?

    Есть проблемы с индексацией в яше. количество страниц в поиске то прибавляется, то падает. Один из вариантов много страниц с сессиями, которые запрещены и по которым робот все равно бегает.

  9. | Bugo

    Больше, чем написано об этом параметре в справке Яндекса, я вам вряд ли скажу.

  10. | странник

    Так вопрос то как правильней для этого движка:

    Clean-param: PHPSESSID/

    или

    Clean-param: PHPSESSID/index.php

    или еще как то?

  11. | Bugo

    http://www.simplemachines.ru/index.php?topic=5089.msg89398#msg89398

  12. | странник

    Поправьте пожалуйста:

    Allow: /*stemap

    на

    Allow: /*sitemap

  13. | Bugo

    Ага, спасибо.

  14. | Комментатор 102

    А если у меня форум лежит в подпапке домена, т.е. есть блог на wordpress, а в его папке (/forum) лежит форум, мне надо и для блога robots делать или только для форума можно?

  15. | Bugo

    robots должен быть один для всего домена, а не для каждой папки.

  16. | Комментатор 102

    Спасибо за совет, я пока новичок в этом деле, ну и еще один вопрос, если позволите.. Мой форум находится в папке на домене, как мне правильно прописать путь к форуму в robots.txt, если форум находится по адресу: http://site.ru/forum/

  17. | Bugo

    Поставьте Optimus Brave, большинство вопросов исчезнут.

  18. | Комментатор 102

    Спасибо за совет!

  19. | ilia

    Имеется вот такой роботс

    User-agent: Googlebot

    Allow: /$

    Allow: /*sitemap

    Disallow: /*action

    Disallow: /*.msg

    Disallow: /*.new

    Disallow: /*;

    Disallow: /*ID

    Allow: /*board

    Allow: /*topic

    Disallow: /

    Sitemap: http://sssss.com/sitemap.xml

    Host: sssss.com

    User-agent: slurp

    Crawl-delay: 10

    но при скармливании sitemap гуглу выдает следующее

    URL restricted by robots.txt

    We encountered an error while trying to access your Sitemap. Please ensure your Sitemap follows our guidelines and can be accessed at the location you provided and then resubmit.

    и сайт мап соответственно не съедается гуглом (

  20. | Bugo

    Всё правильно, карты же не существует (по адресу http://sssss.com/sitemap.xml 404-ошибка). А вообще вам прямая дорога в Справочный центр Google.

  21. | Александр

    Добрый день! как правильно разрешить индексировать вложения. Правило Disallow: /*action это запрещает. Спасибо!

  22. | Bugo

    Добавить выше:

    Allow: /*action=dlattach
  23. | Никита

    Приветствую

    Форум на поддомене

    В этом блоке

    RewriteEngine On

    RewriteCond %{REQUEST_URI} ^\/index.php$

    RewriteCond %{QUERY_STRING} ^$

    RewriteRule ^(.*)$ / [L,R=301]

    Нужно ли после слеша ставить forum/

    Т.е правильно ли я делаю:

    RewriteEngine On

    RewriteCond %{REQUEST_URI} ^\/forum/index.php$

    RewriteCond %{QUERY_STRING} ^$

    RewriteRule ^(.*)$ /forum/ [L,R=301]

  24. | Bugo

    Не пробовал. А что вам мешает?

  25. | Strateg

    День добрый, пытаюсь слепить сайт на SMF 2.02 +SimplePortal 2.3.4 http://strategic-zone.ru

    Установил мод ,пауки заходят , но висят почему то всем скопом в календаре.......... может что посоветуете ?

  26. | Bugo

    Ну висят и чего паниковать? robots настроен нормально, так что не переживайте. Нравится паукам в укромных уголках паутинки вить smile

  27. | Sol
    Disallow: /*.msg
    Disallow: /*.new

    Гугл игнорирует эти директивы, есть смысл их заменить на:

    Disallow: /*topic=*.msg
  28. | Bugo

    Спасибо, поправил.

  29. | Sol

    Аналогичная история и с мобильной версией форума. Лечится строкой:

    Disallow: /*topic=*wap2

    Таким образом, полный рабочий вариант будет иметь вид:

    Disallow: /*topic=*.msg
    Disallow: /*topic=*wap2
    Disallow: /*.msg
    Disallow: /*.new
    Disallow: /*wap2
  30. | Bugo

    Спасибо. У вас кстати мобильная карта индексируется?

  31. | Sol
    Спасибо. У вас кстати мобильная карта индексируется?

    В панель Гугла вчера добавил, но паук на форум пока не заходил.

  32. | Sol

    Мда, а РСС-то Гугл индексировать все равно не хочет, правило Disallow: /*action имеет больший приоритет, чем Allow: /*type=rss

    Вот в Яндексе все хорошо.

  33. | Bugo
    Allow: /*action=.xml
  34. | Sol

    Похоже. Мой вариант для Гугла и Яндекса, вроде ничего не упустил. Индексируется главная страница, страницы форумов и топиков, RSS и Sitemap.

    User-agent: *
    Allow: /$
    Allow: /*sitemap
    Allow: /*action=.xml
    Disallow: /*topic=*msg
    Disallow: /*topic=*new
    Disallow: /*prev_next
    Disallow: /*ID
    Allow: /*board
    Allow: /*topic
    Disallow: /
    Sitemap: http://site.com/sitemap.xml
    Sitemap: http://site.com/sitemap_mobile.xml
    User-agent: Yandex
    Allow: /$
    Allow: /*sitemap
    Allow: /*action=.xml
    Disallow: /*topic=*msg
    Disallow: /*topic=*new
    Disallow: /*prev_next
    Disallow: /*ID
    Allow: /*board
    Allow: /*topic
    Disallow: /
    Host: site.com
  35. | S0ldier

    Все-таки решил зарегистрироваться 8)

    Ерунда какая-то с мобильной картой. Раньше Гугл так и писал тип карты "Мобильный", теперь почему-то просто "Sitemap". На страницах ошибок сканирования какие-то чудеса: мобильные версии - на вкладке "Веб", обычные страницы - на "мобильных" вкладках, ну и, само собой, везде " URLы, запрещенные файлом robots.txt".

  36. | Bugo

    Если вы хотите, чтобы не было "URL'ов, запрещенных файлом robots.txt", напишите в robots.txt одну единственную строчку:

    Allow : /

    или вообще удалите robots.txt

  37. | S0ldier

    Ну зачем так жестоко smile

    Иллюстрации:

    1) http://i27.fastpic.ru/big/2012/0130/ee/08431864f7ad9eb94c1c50ea397940ee.png

    2) http://i27.fastpic.ru/big/2012/0130/02/0b1f6d055283974af98b3bf141744702.png

    3) http://i27.fastpic.ru/big/2012/0130/f4/158b2df45bf3806348b343263448c5f4.png

    Вроде как, это логично. С обычными версиями страниц все в порядке, но из мобильных пока ни одна в индекс не попала:

    http://i29.fastpic.ru/big/2012/0130/89/4e0b8bb9f6632b518ed78d8cf708b089.png

    Может, просто ждать надо hmmm

  38. | Bugo

    Обратите внимание на вкладки. На первой (Веб) запрещены ссылки на мобильные версии страниц, как и положено. Зачем они нужны в индексе не для мобильных устройств? Дальше смотреть не стал, так как не приемлю хостинги изображений с кучей рекламы.

  39. | S0ldier
    Обратите внимание на вкладки. На первой (Веб) запрещены ссылки на мобильные версии страниц, как и положено. Зачем они нужны в индексе не для мобильных устройств?

    Согласен, это правильно. Ну да я бы и не пытался выяснять, что за дела, если бы мобильный робот еще и по специально предназначенным для него страницам ходил, а не в чужую вотчину лез.

    Дальше смотреть не стал, так как не приемлю хостинги изображений с кучей рекламы.

    Только от вас узнаю, что там, оказывается, полно противных баннеров, хорошая все-таки штука - Адблок. В общем-то, на скринах ничего интересного нет, разве только на последнем показано, что в индекс исключительно обычные страницы идут.

Есть что сказать?

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

(войти без комментирования)

Имя и сайт используются только при регистрации.

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

(обязательно)