В Интернете уже достаточно много статей про ЧПУ и я постараюсь не писать то, что давно уже есть в сети. Далее я буду писать в контексте задач, в которых ЧПУ может помочь:

  • Упростить навигацию по сайту,
  • Внести однозначность,
  • Дать пользователю возможность запомнить УРЛ,
  • Повысить свою позицию в поисковых запросах;

Навигация по сайту

Я согласен со многими писателями на эту тему, действительно не только стоит, но и нужно потратить время и обдумать структуру вашего будущего сайта и поставить ее в прямое соответствие с УРЛ. Т.е. если, к примеру, создается архив новостей, то сделайте милость, наделите архив необходимой функциональностью и представляйте навигацию следующим способом:

http://mydomain.com/new/2006/07/15.html

И тогда я и многие другие получат возможность, редактируя УРЛ напрямую получать список новостей за весь год:

http://mydomain.com/new/2006.html

Определенный месяц:

http://mydomain.com/new/2006/11.html

Если ваше творение представляет собой книжный магазин, то рубрикатор товара магазина должен иметь отражение в УРЛ:

http://mydomain.com/книги/фантастика.html

С упрощением навигации должно быть все понятно, многие про это пишут, и все с этим соглашаются, необходимо только знать и пользоваться.

+ и – использования кириллицы

Предыдущий пример я не зря заполнил кириллицей. Господа используйте родной язык при составлении структуры УРЛ это даст вам много преимуществ. Сейчас я отсею немного всплывшей критики, которая может возникнуть у большинства добравшихся до этого места.

Первое - есть замечательный параграф - § 68. Доменные имена по-русски, который начисто прибивает желание использовать родной язык содержащимися там фактами. И, как ни странно, я тоже с ними согласен. Потому как все факты относятся/применимы только к доменному имени.

Второе это не вполне наглядное состояние УРЛ, примерно такого вида:

http://ru.wikipedia.org/wiki/%D0%A7%D0%9F%D0%A3_(%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82)

Что вроде как совсем не понятно и тем более вообще невозможно набрать. На самом деле это пережитки прошлого и глупость разработчиков браузеров, которые неизбежно потянутся за Opera. Данный браузер везде пользователю предлагает понятное http://ru.wikipedia.org/wiki/ЧПУ_(Интернет) вместо того убожества, которое я скопировал и вставил выше. Но серверу запрос отсылает кодированный, что бы строка запроса сервером была отработана корректно.

Глупо конечно убеждать и надеяться на, то, что все будут использовать оперу. Поэтому рассмотрим эту проблему немного глубже. Любой из имеющихся у меня на машине браузеров (FF, IE) корректно отработал вставленный мной УРЛ с кириллицей. FF – моментально закодировал его, а IE на удивление повел себя как Opera. Т.е. проблемы с набором УРЛ нету - браузеры корректно отрабатывают. Но вся суть в том, что из-за лени мне уж точно не придет в голову набирать УРЛ вручную, максимум домен и то обычно я его никогда полностью не набираю и пользуюсь вариантами, которые предлагает браузер.

Проблема отображения УРЛ в строке адреса браузера таки есть и пользователь, просматривая отфильтрованный список адреса (по начальному набору) по крякозябликам не поймет, что содержит в себе данная страница. Но я уверен, что эту проблему исправят и чем больше людей прочитают эту статью, тем раньше это станет. Данная проблема не наблюдается при просмотре истории браузера, т.к. там отображаются заголовки страницы. Так, что похоже один минус мы таки имеем.

С возможными проблемами мы разобрались и теперь рассмотрим преимущества:

  1. В случае если сайт представлен на нескольких языках, то это избавит от необходимости содержать параметр языка, что в свою очередь сделает УРЛ короче.
    http://mydomain.com/rus/zemlya.html
    http://mydomain.com/eng/zemlya.html
    Меняем на
    http://mydomain.com/земля.html
    http://mydomain.com/earth.html
  2. Мы отходим от глупого применения транслитерации. Потому как ее применение ни коим образом не вносит ясности и не способствует запоминанию УРЛ. Когда вы будете работать за чужой машиной то методом перебора, конечно, выясните правильный адрес:
    http://mydomain.com/rus/zemlya.html или может
    http://mydomain.com/rus/zemlia.html или есть люди, для которых транслитерация вообще смысла не несет?
  3. Я думаю не стоит объяснять, что поисковые роботы ищут совпадения искомых слов в УРЛ и реагировать на транслитерацию или на английский перевод явно не будут. Использование кириллицы они улавливают и этим уже давно пользуется всемирная энциклопедия.