Главная
Статьи » Инструментарий
 

| ПРОСМОТРОВ: 5090
 

robots.txt - специальный файл, предназначенный для поисковых машин. В нем указываются параметры индексации для конкретного сайта. Если вы хотите, чтобы ваш форум индексировался правильно, то нельзя упускать из внимания наличие данного файла. Попробую расписать процедуру создания robots.txt, специализированного под форумы phpBB.

Запрет индексации

Для начала нужно запретить индексацию всех служебных страниц, которые не содержат уникального контента и только лишь снижают релевантность форума. Запрет индексации делается при помощи директивы Disallow: с аргументом в виде страницы (или шаблона страниц), которые не нужно индексировать. Служебными страницами в phpBB являются, например ucp.php (Личный раздел), faq.php (FAQ), search.php (Поиск), memberlist.php (Пользователи). Нужный нам код:

User-agent: *
Disallow: /faq.php
Disallow: /mcp.php
Disallow: /memberlist.php
Disallow: /posting.php
Disallow: /report.php
Disallow: /search.php
Disallow: /style.php
Disallow: /ucp.php

Также для phpBB стоит запретить к индексации ссылки на конкретные сообщения. Выглядят они следующим образом - viewtopic.php?p=54#p54. Для этого нам достаточно указать в robots.txt всего одну строку, воспользовавшись * (звездочкой) для указания шаблона:

Disallow: /viewtopic.php?p=*

Можно еще запретить к индексации первые страницы тем, так как ссылка на тему без указания параметра страницы ведет именно на нее, поэтому дополнительно указывать первую страницу в качестве параметра не имеет смысла - получается одинаковый контент по разным ссылкам. Ссылки на первые страницы имеют вид viewtopic.php?f=69&t=724145&start=0. Поэтому для запрета индексации нужно использовать следующий код:

Disallow: /viewtopic.php?f=*&t=*&start=0$

При просмотре каждой темы внизу выводятся 2 ссылки, ведущих на соседние темы - предыдущую и следующую в списке. Для таких ссылок используются параметр view, имеющий соответственно значения view=next и view=previous. Такие ссылки лучше также запретить для индексации:

Disallow: /viewtopic.php?f=*&t=*&view=next
Disallow: /viewtopic.php?f=*&t=*&view=previous

Указание файла sitemap

Для ускорения индексации новых страниц и переиндексации старых очень помогают файлы sitemap. Встроенного sitemap в phpBB3 на данный момент нет, однако можно поставить один из существующих модов-генераторов sitemap для форума (например, написанный мною Sitemap FX). Если у вас нет sitemap и вы не планируете таковой устанавливать, то можете пропустить этот пункт. Остальным же нужно прописать директиву Sitemap: с указанием пути к файлу sitemap в качестве аргумента:

Sitemap: /sitemap.php

Можно указывать сразу несколько sitemap, если у вас они сгенерированы в нескольких файлах:

Sitemap: /forum/sitemap/01.xml
Sitemap: /forum/sitemap/02.xml

Указание промежутков между обращениями роботов

Иногда бывает так, что робот при индексировании вашего форума создает слишком большую нагрузку на сервер, в результате чего могут быть плохие последствия, например, временное отключение сервера. Чтобы исправить такую ситуацию, введена директива Crawl-delay, устанавливающая тайм-ауты при обращении роботов к сайту. Аргументом этой директивы является время в секундах, чаще которого робот не должен обращаться к сайту (реже - может). Если мы хотим указать тайм-аут, например, 5 секунд, то нужно поместить такой код в наш robots.txt:

Crawl-delay: 5

Указание динамических параметров из url

В phpBB достаточно давно используются сессии, которые дописываются к ссылкам на форуме в виде параметра sid=. При правильной настройке cookies на форуме, данный параметр в адресе будет всего лишь один раз, затем он запишется в куки. Кроме того, для всех поисковиков, прописанных на форуме в группе «Боты», сессии отключены автоматически. Однако можно перестраховаться, прописав идентификатор сессии как динамический параметр в файле robots.txt - и тогда роботы не будут учитывать его при индексации страниц. Для этого используется директива Clean-param, про которую я уже писал. Аргументов у нее два. Первый аргумент - это собственно сам динамический параметр в url. Второй аргумент - префикс пути страниц, на которых данный параметр может использоваться. Поэтому получаем следующий код для robots.txt:

Clean-param: sid /index.php
Clean-param: sid /viewforum.php
Clean-param: sid /viewtopic.php

Указание основного хоста

Для Яндекса также можно указать основной хост сайта. Дело в том, что каждый сайт может быть доступен по нескольким адресам, в качестве примера - phpbbguru.net/ и phpbbhacks.ru/ ведут на один и тот же сайт. Однако в поисковой машине будет учитываться только один адрес, который и будет выводиться в результатах поиска. Директивой Host: с аргументом в виде адреса сайта можно указать поисковой системе рекомендуемый адрес (так как по словам яндекса, данная директива не является решающим фактором при определении основного хоста сайта, однако она имеет большое значение).

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

Пусть наш форум доступен по адресам www.lastforum.ru и lastforum.ru. Нам нужно определить в качестве основного хоста адрес без www (лично я советую делать именно так, потому что считаю приставку www всего лишь рудиментом, оставшихся с стародавних времен). Для этого нам нужно прописать директиву Host специально для Яндекса. Важный момент - директива Host должна упоминаться после директивы Disallow:, поэтому понадобится такой код:

User-agent: Yandex
Disallow: /faq.php
Host: lastforum.ru

Располагать такой код лучше в конце файла robots.txt.

Итоговый вариант robots.txt для phpBB

Учитывая все вышеописанное, можно составить полный вариант файла robots.txt для форума phpBB 3. В качестве примера возьму уже упомянутый lastforum.ru:

User-agent: *
Disallow: /faq.php
Disallow: /mcp.php
Disallow: /memberlist.php
Disallow: /posting.php
Disallow: /report.php
Disallow: /search.php
Disallow: /style.php
Disallow: /ucp.php
Disallow: /viewtopic.php?p=*
Disallow: /viewtopic.php?f=*&t=*&start=0$
Disallow: /viewtopic.php?f=*&t=*&view=next
Disallow: /viewtopic.php?f=*&t=*&view=previous
Sitemap: /sitemap.php
Clean-param: sid /index.php
Clean-param: sid /viewforum.php
Clean-param: sid /viewtopic.php
 
User-agent: Yandex
Disallow: /faq.php
Disallow: /mcp.php
Disallow: /memberlist.php
Disallow: /posting.php
Disallow: /report.php
Disallow: /search.php
Disallow: /style.php
Disallow: /ucp.php
Disallow: /viewtopic.php?p=*
Disallow: /viewtopic.php?f=*&t=*&start=0$
Disallow: /viewtopic.php?f=*&t=*&view=next
Disallow: /viewtopic.php?f=*&t=*&view=previous
Host: lastforum.ru
Sitemap: /sitemap.php
Clean-param: sid /index.php
Clean-param: sid /viewforum.php
Clean-param: sid /viewtopic.php

Расположение файла robots.txt

Файл robots.txt должен лежать только в корне сайта/форума. Учитывая, что форумы можно расположить тремя способами - отдельностояще, на поддомене и в директории, нужно соответственно располагать и robots.txt. В случае отдельноящего форума, а также форума на поддомене, файл robots.txt нужно расположить в корне форума (той же папке, где находится файл config.php). Если же форум располагается во вложенной директории сайта, то robots.txt надо расположить в корне сайта, а все аргументы внутри robots.txt прописать в соответствии с путем до них от корня. То есть, если форум находится в папке forum/ (example.com/forum/), то предыдущий пример robots.txt примет следующий вид:

User-agent: * Disallow: /forum/faq.php
Disallow: /forum/mcp.php
Disallow: /forum/memberlist.php
Disallow: /forum/posting.php
Disallow: /forum/report.php
Disallow: /forum/search.php
Disallow: /forum/style.php
Disallow: /forum/ucp.php
Disallow: /forum/viewtopic.php?p=*
Disallow: /forum/viewtopic.php?f=*&t=*&start=0$
Disallow: /forum/viewtopic.php?f=*&t=*&view=next
Disallow: /forum/viewtopic.php?f=*&t=*&view=previous
Sitemap: /forum/sitemap.php
Clean-param: sid /forum/index.php
Clean-param: sid /forum/viewforum.php
Clean-param: sid /forum/viewtopic.php
 
User-agent: Yandex
Disallow: /forum/faq.php
Disallow: /forum/mcp.php
Disallow: /forum/memberlist.php
Disallow: /forum/posting.php
Disallow: /forum/report.php
Disallow: /forum/search.php
Disallow: /forum/style.php
Disallow: /forum/ucp.php
Disallow: /forum/viewtopic.php?p=*
Disallow: /forum/viewtopic.php?f=*&t=*&start=0$
Disallow: /forum/viewtopic.php?f=*&t=*&view=next
Disallow: /forum/viewtopic.php?f=*&t=*&view=previous
Host: lastforum.ru
Sitemap: /forum/sitemap.php
Clean-param: sid /forum/index.php
Clean-param: sid /forum/viewforum.php
Clean-param: sid /forum/viewtopic.php

Полезные ссылки по теме:

АВТОРСКИЕ ПРАВА
Автор: FladeX
Права на статью принадлежат phpBB Adept
При перепечатке ссылка на источник обязательна
ОБЪЯВЛЕНИЯ
Форум phpBB, русская поддержка форума phpBB
2008 - 2015 © BB3x.ru - русская поддержка форума phpBB
авторов модов
разработчиков скинов
русификаторов
и всех поклонников phpBB3