Настройка форума vBulletin

в разделе Администрирование | Метки: vBulletin

Купил недавно лицензионный форум Vbulletin 4.0.3., в нем уже есть много нужных фич, которые в других форумах настраиваются с помощью модулей, кроме того сначала пришлось перерыть всю админ панель чтобы найти какие то настройки, ниже описывается то, что многие скорей всего хотели бы сразу настроить.

Предотвращение SEO спама

  1. Включаем reCaptcha
    Admin CP -> Settings -> Human Verification Manager -> Human Verification Library -> Image Verification -> reCAPTCHA™
    ниже вписываем public и private key, которые получаем на сайте reCaptcha
  2. Включаем rel='nofollow'
    Эти настройки не спасут от хрумера, но хотя бы ссылки не будут передавать вес на другие страницы.
    Admin CP -> Settings -> BB Code Settings -> Add nofollow attribute to URL BB Code (ставим тут Yes)

SEO Friendly URLs и повышение производительности

Admin CP -> Settings -> Friendly URLs -> URL Type
я поставил Mod Rewrite Friendly URLs, .htaccess файла в комплекте с форумом почему то не было, поэтому я запилил свой, собрав из того что удалось найти в Google.

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
<ifModule mod_headers.c>
  <filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=259200, public"
  </filesMatch>
  <filesMatch "\\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </filesMatch>
  <filesMatch "\\.(js)$">
    Header set Cache-Control "max-age=21600, private"
  </filesMatch>
  <filesMatch "\\.(xml|txt)$">
    Header set Cache-Control "max-age=21600, public, must-revalidate"
  </filesMatch>
  <filesMatch "\\.(html|htm|php)$">
    Header set Cache-Control "max-age=1, private, must-revalidate"
  </filesMatch>
</ifModule>
<ifModule mod_headers.c>
  Header unset ETag
</ifModule>
FileETag None
<ifModule mod_headers.c>
  Header unset Last-Modified
</ifModule>
 
 
RedirectMatch 301 ^/forumdisplay.php/(.*) http://forum/forums/$1
RedirectMatch 301 ^/showthread.php/(.*) http://forum/threads/$1
RewriteEngine On
 
### THIS IS A LITTLE EXTRA SECURITY AND CAN BE REMOVED
 
RewriteRule ^includes/(.*) index.php
RewriteRule ^vb/(.*) index.php
RewriteRule ^packages/(.*) index.php
 
### THIS IS THE ACTUAL REWRITE
 
RewriteRule ^threads/([0-9]+)(?:/?$|(?:-[^/]+))(?:/?$|(?:/page([0-9]+)?)) showthread.php?t=$1&page=$2&%{QUERY_STRING}
RewriteRule ^members/([0-9]+) member.php?u=$1&%{QUERY_STRING}
RewriteRule ^forums/([0-9]+)(?:/?$|(?:-[^/]+))(?:/?$|(?:/page([0-9]+)?)) forumdisplay.php?f=$1&page=$2&%{QUERY_STRING}
RewriteRule ^blogs/([0-9]+)(?:/?$|(?:-[^/]+))(?:/?$|(?:/page([0-9]+)?)) blog.php?u=$1&page=$2&%{QUERY_STRING}
RewriteRule ^entries/([0-9]+)(?:/?$|(?:-[^/]+))(?:/?$|(?:/page([0-9]+)?)) entry.php?b=$1&page=$2&%{QUERY_STRING}
RewriteRule ^list/([^/]*/)([0-9]+) list.php?r=$1$2&%{QUERY_STRING}
RewriteRule ^content/(.*) content.php?r=$1&%{QUERY_STRING}

Кроме правил для перезаписи урлов, тут еще добавлены некоторые правила для Apache, которые позволяют ускорить работу форума за счет того что статическим файлам (картинки, css и прочее) устанавливается max-age.

Вот эти два правила как правило никому не нужны, но я поясню зачем они, все же кому может и понадобятся

RedirectMatch 301 ^/forumdisplay.php/(.*) http://forum/forums/$1
RedirectMatch 301 ^/showthread.php/(.*) http://forum/threads/$1

Сначала я включил Advanced Friendly URLs, в результате чего ссылки выглядели как showthread.php/1234-Thread-Title, что не очень прикольно, после включения Mod Rewrite Friendly URLs ссылки стали выглядеть так threads/1234-Thread-Title. Так как поисковики уже проиндексировали старые ссылки, пришлось сделать редирект. http://forum/forums/$1 надо заменить на http://domain.ru/forums/$1, прописав свой домен.

CSS файлы

По умолчанию сразу после установки Vbulletin css-файлы отображаются с помощью php-файла, то есть выглядит это так

<link rel="stylesheet" type="text/css" href="css.php?styleid=1&amp;langid=1&amp;d=1273482322&amp;td=ltr&amp;sheet=bbcode.css,editor.css,popupmenu.css,reset-fonts.css,vbulletin.css,vbulletin-chrome.css,vbulletin-formcontrols.css" /> 

Как уже теперь известно Google одним из факторов ранжирования сайтов в выдаче решил применять скорость загрузки сайтов. При большой посещаемости, отображение файлов через подобные конструкции будет тормозить загрузку форума. Вместо того чтобы один раз загрузить статические css файлы и дальше грузить с локального компьютера, в представленном выше примеры css файлы каждый раз генерятся. Для того чтобы они просто хранились как файлы нужно включить это.

Admin CP -> Settings -> Style & Language Settings -> Store CSS Stylesheets as Files? (ставим Yes)

Meta теги

Admin CP -> Settings -> General Settings, там находим Meta Keywords, Meta Description и меняем как хотелось бы

robots.txt

Удаляем все ненужное и предотвращаем появление дублей и попадание различных страницы в supplemental results в гугле

User-agent: *
Disallow: /search.php
Disallow: /faq.php
Disallow: /memberlist.php
Disallow: /showgroups.php
Disallow: /register.php
Disallow: /calendar.php
Disallow: /sendmessage.php
Disallow: /online.php
Disallow: /newthread.php
Disallow: /misc.php
Disallow: /printthread.php
Disallow: /member.php
Disallow: /archive/
Disallow: /subscription.php
Disallow: /usercp.php
Disallow: /clientscript/

Комментарии