Что такое ЧПУ и как лучше оформлять URL адреса

ЧПУ – это человеку понятные URL. Если вы обращаете внимание на адреса страниц сайтов, появляющиеся в строке ввода URL вашего браузера при их посещении, вероятно, замечали, что некоторые адреса имеют название в виде заголовка документа, набранного транслитом, другие – абсолютно, как кажется, бессмысленный набор символов, например, «http://www.example.com/?a=742&b=24&PHPSESSID=62b5d5c28c6a7e678c926cb7ea299bdd». Первый вариант хорошо демонстрирует, что такое ЧПУ. Практически все современные CMS используют ЧПУ в своей работе. Главное преимущество ЧПУ вовсе не в том, что посетителю сайта легче будет запомнить данную страницу. Просто текст из URL понимается поисковыми системами (причем они хорошо отличают английский от транслитерации), и, следовательно, шансов у документа с URL вида «http://www.example.com/seo/seo.html» оказаться выше по запросу «SEO», чем у документа с URL вида «http://www.example.com/?id=2352» при прочих равных условиях больше.

Как уже было сказано, такие CMS как Drupal, Joomla, Wordpress, имеют опции в настройках чтобы включить ЧПУ. Если же вы хотите сделать ссылки ЧПУ на сайте, работающем на каком-либо специфическом самописном движке, придется научиться использовать RewriteEngine веб-сервера Apache или IconicIsapiRewrite для Microsoft IIS-сервер.

Возьмем для примера URL: «http://www.example.com/seo/chpu.html». На вид обычный адрес веб-документа. Хвост URL, следующий за слэшем после домена, вроде бы как представляет собой путь к каталогу с файлом «chpu.html» на сервере, и имя файла. Однако, на деле это чаще всего не так. Файла «chpu.html», равно как и каталога «seo» на сервере вообще может не быть, а «хвост» адреса, следующий за доменом, будет в виде переменной передан программе на Perl или PHP. Делается это с помощью модуля веб-сервера Apache mod_rewrite. В дальнейшем в соответствии со значениями переменных, данные будут извлечены скриптом из базы данных, будет динамически сформирована веб-страница, которую в итоге и увидит пользователь в своем браузере.

Т. о. фактически, обозначенный в качестве примера URL, можно представить как «http://www.example.com/?a=seo&b=chpu», где «a» и «b» – переменные, передаваемые программе, а «seo» и «chpu» – их значения.