Не секрет, что, используя CMS phpBB, рано или поздно сталкиваешься с проблемой множества проиндексированных поисковиками ссылок различного вида, но ведущих на одну и ту же страницу. В глазах Яндекса и Google это выглядит, как множество копий одной и той же страницы на вашем сайте, а это залог пессимизации в выдаче. Нужно, чтобы на 1 страницу вел только 1 url. Добиться этого можно несколькими способами: либо редактированием robots.txt, либо установкой на форум модификаций. На мой взгляд самая достойная - phpBB SEO Ultimate SEO URL. Офсайт http://www.phpbb-seo.com/.
После установки сео мода ссылки вида http://site.ru/viewtopic.php?f=1&t=1
будут иметь вид http://site.ru/topic1.html Также будет возможность заиметь
чпу, например, http://site.ru/ustanovka-phpbb-seo-ultimate-seo-url-t1.html,
в том числе автоматическую транслитерацию кириллических заголовков в
url.
Установка не самая простая, но если быть внимательным, не займет много времени. Инструкция дана на примере
phpBB 3.0.9 и phpBB SEO Ultimate SEO URL v0.6.8,
годится и для phpBB 3.0.8 и
phpBB SEO Ultimate SEO URL v0.6.6. Инструкция по установке для phpBB 3.0.9 без
дополнительный модулей (работоспособность проверена). С некоторыми модами может
возникнуть конфликт (если они у вас ранее установлены), но если есть голова, все
решаемо.
Надеюсь, не нужно напоминать, что перед установкой любых модификаций необходимо
сделать резервную копию форума?
1. Качаем мод phpBB_SEO_Ultimate_SEO_URL_v0.6.8.zip или с официального сайта.
2. Распаковываем архив с модом на своем компьютере.
3. Заходим по FTP в корень своего сайта (точнее, в корень форума, если у вас
выше уровнем стоит другая CMS) и заливаем туда все из папки
phpBB_SEO_Ultimate_SEO_URL_v0.6.8\contrib\phpBB_3.0.9_modified_files\root
с заменой всех файлов. Если вы уже
модифицировали код форума, заменяйте все файлы, и модифицируйте их снова.
4. Загружаем в корень форума все файлы из папки phpBB_SEO_Ultimate_SEO_URL_v0.6.8\root
5. Изменяем права доступа к папке phpbb_seo/cache/ на 755
6. Идем по FTP в папку cache/ и удаляем все файлы кроме .htaccess
7. В браузере открываем ваш_сайт.ру/phpbb_seo/phpbb_seo_install.php Жмем "Установка". Установилось.
8. Мод предложит перейти в панель управления форумом, идем
9. В панели управления появилась вкладка ACP_CAT_PHPBB_SEO - это панель управления модом. Открываем, идем в ACP_HTACCESS, жмем "Выбрать все", копируем в буфер обмена (Ctrl+C)
По умолчанию, эти инструкции нужно добавить в .htaccess в корне сайта. Но если форум установлен не в корень, а в какую-либо другую директорию, нужно изменить настройки SEO - htaccess - More Options: да - Отправить - .htaccess location: да - отправить и полученные инструкции скопировать в файл .htaccess в корне форума. Иначе светит ошибка Not Found при попытке просмотра конфереции.
9. По FTP идем в корень форума, открываем .htaccess и заменяем там все на то что скопировали в буфер (Ctrl+A, Ctrl+V)
10. Русификация: качаем русскую локализацию мода, распаковываем архив у себя на компьютере. Закидываем файлы acp_phpbb_seo.php и info_acp_phpbb_seo.php в папку language/ru/mods/ . Русский язык для phpBB SEO Ultimate SEO URL v0.6.8
11. Включаем в моде автозамену ссылок: идем в панель управления модом, Активировать замену URL: ставим галочку ДА и внизу страницы жмем Отправить.
Открываем сайт и проверяем ссылки на форумы/темы/пользователей (наводим на низ мышкой и смотрим, какого они вида), играем с настройками. Не забывайте после изменений менять и .htaccess на актуальный и чистить кэш.
Для ссылок вида http://site.ru/topic1.html вышеизложенного вполне достаточно. Но если будете пользоваться режимом Advansed, нужно еще кое-какие файлы изменить. По настройке phpBB SEO Ultimate SEO URL после русификации мода, думаю, все понятно.
Теперь нужно научить мод переводить кириллицу в латиницу.
Транслитерация русских названий тем и форумов в ЧПУ
В файле phpbb_seo/phpbb_seo_class.php найти (первое вхождение)
return;
}
Добавить перед ним
// Custom characters replacement
$url_replace = array(
'А' => 'A', 'а' => 'a',
'Б' => 'B', 'б' => 'b',
'В' => 'V', 'в' => 'v',
'Г' => 'G', 'г' => 'g',
'Д' => 'D', 'д' => 'd',
'Е' => 'E', 'е' => 'e',
'Ё' => 'E', 'ё' => 'e',
'Ж' => 'J', 'ж' => 'j',
'З' => 'Z', 'з' => 'z',
'И' => 'I', 'и' => 'i',
'Й' => 'Y', 'й' => 'y',
'К' => 'K', 'к' => 'k',
'Л' => 'L', 'л' => 'l',
'М' => 'M', 'м' => 'm',
'Н' => 'N', 'н' => 'n',
'О' => 'O', 'о' => 'o',
'П' => 'P', 'п' => 'p',
'Р' => 'R', 'р' => 'r',
'С' => 'S', 'с' => 's',
'Т' => 'T', 'т' => 't',
'У' => 'U', 'у' => 'u',
'Ф' => 'F', 'ф' => 'f',
'Х' => 'H', 'х' => 'h',
'Ц' => 'C', 'ц' => 'c',
'Ч' => 'CH', 'ч' => 'ch',
'Ш' => 'SH', 'ш' => 'sh',
'Щ' => 'SHCH', 'щ' => 'shch',
'Ъ' => '', 'ъ' => '',
'Ы' => 'I', 'ы' => 'i',
'Ь' => '', 'ь' => '',
'Э' => 'E', 'э' => 'e',
'Ю' => 'U', 'ю' => 'u',
'Я' => 'YA','я' => 'ya',
);
$this->seo_opt['url_find'] = array_keys($url_replace);
$this->seo_opt['url_replace'] = array_values($url_replace);
// Custom characters replacement
Найти
$url = preg_replace('`\[.*\]`U','',$url);
После этой строчки добавить
$url = str_replace( $this->seo_opt['url_find'], $this->seo_opt['url_replace'], $url );
Сохранить файл обязательно в кодировке utf-8
Готово
А вот как убрать от индексации ссылку на phpbb-seo.com
Открываем phpbb_seo\phpbb_seo_class.php и ищем
if ($this->seo_opt['copyrights']['img'])
Следующаю за ней строку заменяем на
$output = '<br /><noindex><a rel="nofollow" href="http://www.phpbb-seo.com/" title="' . $this->seo_opt['copyrights']['title'] . '"><img src="' . $this->seo_path['phpbb_url'] . 'images/phpbb-seo.png" alt="' . $this->seo_opt['copyrights']['txt'] . '"/></a></noindex>';
Чистим кэш в админке
Если что то пошло совсем не так, восстанавливаем резервную копию. Чистим кэш.
На данный момент на офсайте доступна версия phpBB SEO Ultimate SEO URL v0.7.0 совместимая с phpBB3 3.0.10 и выше, но русского перевода для этой версии пока нет.