Главная » IPB » Статьи IPB » IP.Board 3: Новый вид ЧПУ
Распечатать статью

IP.Board 3: Новый вид ЧПУ

Вашему вниманию представляю небольшую порцию информации, которая касается новой версии форума IP.Board v3.0.0. В статье рассказывается о новых методах использующихся при формировании ЧПУ адресов. До этого момента не было ничего известно об этих механизмах, статья преподнимает завесу тайны, при этом вопросов становится еще больше. Будем ждать выхода новой версии, чтобы понять как все устроено, а пока остается только ждать и гадать.

Начиная с первых версий форума IP.Board, пользователи просят реализовать корректную поддержку ЧПУ адресов. Чтобы они были одинаково понятны как поисковым ботам, так и людям. Я намеренно избегаю упоминания термина «SEO», так как одним введением ЧПУ невозможно добиться существенного прогресса в поисковых системах.
Для этого нужно сделать больше, чем просто ввести новые ЧПУ, так как успех в «SEO» зависит от нескольких факторов. В новой версии форума мы все-таки пересмотрели механизмы формирования адресов и внедрили новый дружественный вид ЧПУ, надеемся, что эти шаги помогут в «SEO» продвижении.

Что мы имеем на данный момент?

В двух словах о ЧПУ. Процесс создания и управления намного интереснее конечного результата. Давайте посмотрим на новый формат ЧПУ адресов.

Вот несколько старых УРЛ адресов использующихся в форуме IPB v2.3.x

Используется для просмотра форума (Тестовый форум):
www.board.com/forums/index.php?showforum=10

Используется для просмотра темы (Тестовая тема):
www.board.com/forums/index.php?showtopic=99

Используется для просмотра профиля (Пользователь: Matt Mecham):
www.board.com/forums/index.php?showuser=30

Эти УРЛ адреса не настолько плохи, как может показаться на первый взгляд. Они довольно коротки, компактны, понятны поисковым паукам, но мы можем улучшить их и сделать привлекательнее.

Если сервер находится под управлением Windows, ЧПУ адреса будут выглядеть следующим образом:

www.board.com/forums/index.php?/forum/10/my-test-forum
www.board.com/forums/index.php?/topic/99/my-test-topic
www.board.com/forums/index.php?/user/30/matt-mecham

Если сервер находится под управлением Apache, ЧПУ адреса будут выглядеть вот так:

www.board.com/forums/index.php/forum/10/my-test-forum
www.board.com/forums/index.php/topic/99/my-test-topic
www.board.com/forums/index.php/user/30/matt-mecham

Адресам можно придать еще более дружественный вид с помощью mod_rewrite, конечно же, если у вас имеется доступ к htaccess. Добавив несколько простых правил, адреса примут следующий вид:

www.board.com/forums/forum/10/my-test-forum
www.board.com/forums/topic/99/my-test-topic
www.board.com/forums/user/30/matt-mecham

«А что произойдет, если в имени встретятся, например, умляуты и другие им подобные символы?» — спросите вы. Ничего особенного, они будут заменены на символы ближайшие по смыслу и написанию, так что сформированный адрес останется корректным.

Как пользоваться?

Самым простым способом для получения ЧПУ, является применение тэга {parse}:

{parse url=”showtopic=99″ base=”public” seotitle=”my-test-topic” template=”showtopic”}

Параметр «seotitle» представляет из себя отформатированную строку, готовую для использования в URL адресах. Если вы хотите переделывать названия на лету, преобразуя их в более дружественные, то вы можете оформить код следующим образом:

{parse url=”showtopic=99″ base=”public” seotitle=”%%My Test Topic%%” template=”showtopic”}

Дополнительный параметр «template», указывает на то, какие правила используются для построения ЧПУ. Управление и настройка правил производится через файл: «admin/extensions/seoUrlTemplates.php». Небольшой пример кода:

$templates = array(# APP: MEMBERS
‘showuser’        => array( ‘out’        => array( ‘showuser=(.+?)(&|$)’, ‘user/$1/#{__title__}$2′ ),
‘in’         => array( “/user/(\d+?)/”, array( ‘showuser’, 1 ) ) ),

# APP: FORUMS
‘showforum’     => array( ‘out’        => array( ‘showforum=(.+?)(&|$)’, ‘forum/$1/#{__title__}$2′ ),
‘in’         => array( “/forum/(\d+?)/”  , array( ‘showforum’, 1 ) ) ),

‘showtopic’     => array( ‘out’        => array( ‘showtopic=(.+?)(&|$)’, ‘topic/$1/#{__title__}$2′ ),
‘in’         => array( “/topic/(\d+?)/”, array( ‘showtopic’, 1 ) ) ),

);

В примере показан кусок кода, отвечающий за формирование ссылок на профиль пользователя, на форум и на тему. Метод ‘out’ показывает как выглядит отформатированная ссылка, в то время как метод ‘in’ показывает как обрабатываются входящие ссылки.

Что все это значит? Все очень просто, если вам не понравится стандартный набор правил для формирования ЧПУ, вы всегда сможете его переделать под себя и ваши требования. Редактирование файла производится через «АЦ», отсюда же вы можете добавлять правила для своих приложений и модулей.

Хочу уточнить, параметр «seotemplate» не является обязательным, вы можете его не указывать. В этом случае IP.Board проверит все доступные шаблоны использующиеся для формирования ЧПУ и выберет подходящий. Указав же параметры, вы немного ускорите процесс.

Значения переменных, которые не заданы в шаблонах, добавляются в конец url адреса, в качестве разделителя используется знак подчеркивания:

www.board.com/forums/topic/99/my-test-topic/_/view/getNewPost

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

Это все что мы хотели рассказать о новом виде ЧПУ и способах его формирования. Надеемся внесенные нами изменения, помогут вам улучшить SEO показатели и помогут облегчить визуальное восприятие адресов.

Источник:  ipb-faq.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи