Правила формирования ЧПУ

Правила формирования ЧПУ

Fox
2010-04-12

Для большинства «жителей» всемирной паутины не будет откровением, что абсолютным злом являются ссылки вида:

http://www.noname.com/support/accounts/bin/answer.py?answer=48598&hl=ru&ctx=ch_Login&fpUrl=https%3A%2F%2Fwww.noname.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1

Конечно, ведь гораздо приятнее иметь дело со ссылками в формате так называемых «ЧПУ» или «человеко-понятных урлах»:

http://www.noname.ru/everything/web/
http://www.noname.ru/kovodstvo/sections/163/
http://www.noname.ru/everything/type/dereza/process/

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

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

Технически приемов как настроить в своем аpache/nginx работу с ЧПУ в сети предостаточно и я их в рамках этой статьи касаться не буду. Перейду сразу к сути вопроса, а именно к правилам формирования ЧПУ.

Итак... правила формирования ЧПУ:

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

Плохо:

http://site.ru/news/novy-amerikanski-prezident/
http://site.ru/novosti/new-american-president/

Хорошо:

http://site.ru/news/new-american-president/
http://site.ru/novosti/novy-americanski-prezident/

2.   ЧПУ может содержать исключительно буквы латинского алфавита.

Плохо:

http://site.ru/news/%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9+%D0%B0%D0%BC%D0%B5%D1%80%D0%B8%D0%BA%D0%B0%D0%BD%D1%81%D0%BA%D0%B8%D0%B9+%D0%BF%D1%80%D0%B5%D0%B7%D0%B8%D0%B4%D0%B5%D0%BD%D1%82/

Хорошо:

http://site.ru/news/new-american-president/

3.  Не использовать в ЧПУ цифровые идентификаторы записей, если можно вместо них написать осмысленный текст.

Плохо:

http://site.ru/news/12327/

Хорошо:

http://site.ru/news/new-american-president/

4.    Каждый ЧПУ должен завершать слеш «/».  Если у ЧПУ удалить финальный слеш и нажать ENTER – должен произойти редирект на ЧПУ со слешем в конце.
Если ЧПУ после слеша дописать еще index.html то должна открыться та же самая страница, что и без index.html. Однако ссылки лучше давать на страницы без index.html в конце, чтобы не удлинять ссылку.
Если добавили к ЧПУ index.htm (без «l» в конце), то должен происходить автоматический редирект на ЧПУ с index.html (c «l» в конце).

Плохо:

http://site.ru/news/new-american-president

Хорошо:

http://site.ru/news/new-american-president/
http://site.ru/news/new-american-president/index.html


5. Структура ЧПУ должна в большинстве случаев повторять структура сайта.

Чтобы избежать пинков сразу объясню, почему сказал «в большинстве случаев» - иногда господам SEOшникам требуется чтобы целевая страница была как можно ближе к корню и тогда приходится нарушать правила, SEO - это святое.

 

* * *

 

Уменьшим степень абстрактности рассуждений и придумаем некоторый пример. Пусть это будет сайт гипотетического автоцентра.

Автоцентр у нас реализует автомобили 3-х брендов: Nissan, Renault, Chevrolet. Для каждого бренда у нас есть свой подстайт, в которых в свою очередь имеются такие подразделы: новости (с постраничным разбиением), модели и некоторый набор статических страниц.

Кроме того у нас есть общая для всех брендов часть сайта с такими разделами: вопросы и ответы (с постраничным разбиением), практические советы (с разбиением на категории и разбиением на страницы статей внутри категории), каталог машин Trade-In (без постраничного разбиения – единый список) и некоторый набор статических страниц.

 

Корень:

http://autocentre.com/

Напоминаю правило 4 – ссылка http://autocentre.com/index.html также должна работать. Дальше об этом правиле уже не буду упоминать, думаю, все понятно: дописываешь к любой ссылке index.html и ссылка ведет на ту же страницу что и вела.

Подсайты:

http://autocentre.com/nissan/
http://autocentre.com/renault/
http://autocentre.com/chevrolet/

Новости подсайта Nissan:

Список новостей: http://autocentre.com/nissan/news/
Список новостей 2 страница: http://autocentre.com/nissan/news/2/
Полнотекст новости «Новые автомобили»: http://autocentre.com/nissan/news/new-cars/

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

Модели:

Страница со списком всех моделей: http://autocentre.com/nissan/models/
Индексная страница модели Micra: http://autocentre.com/nissan/models/micra/
Цвета модели: http://autocentre.com/nissan/models/micra/colors/
Интерьер: http://autocentre.com/nissan/models/micra/interior/

Статические страницы:

Контакты: http://autocentre.com/nissan/contacts/
История компании: http://autocentre.com/nissan/history/

Тут следует проверять, чтобы случайно ЧПУ статической страницы не совпало с названием раздела. Например, нельзя назвать статическую страницу models, потому что уже есть раздел сайта с аналогичным именем.

Общие страницы для всех брендов:

Список вопросов «Вопросы и ответы»: http://autocentre.com/questions/
Список вопросов «Вопросы и ответы» вторая страница: http://autocentre.com/questions/2/

Список категорий «Практические советы»:  http://autocentre.com/advice/
Список статей категории  «Колеса»:  http://autocentre.com/advice/wheel/
Список статей категории  «Колеса» страница 2:  http://autocentre.com/advice/wheel/2/
Полнотекст статьи «Запасное колесо» категории  «Колеса»: http://autocentre.com/advice/wheel/spare-wheel/

Каталог машин Trade-In:

http://autocentre.com/trade-in/

Описание машины в каталоге:

http://autocentre.com/trade-in/128/

Последний пример ЧПУ вовсе не нарушение правила 3. В каталоге машин Trade-In у нас нет другого уникального идентификатора кроме как ID записи из базы данных (в нашем примере – это 128), поэтому тут использование неосмысленного номера оправдано.

Статическая страница:

http://autocentre.com/service-centre/

 

Приведенная выше структура  ЧПУ называется «каталожная». Ее можно легко воссоздать создав в файловой системе набор каталогов как это показано на рисунке ниже.   

В каждом таком каталоге, а также в корневом каталоге лежит один единственный файл index.html в котором и находится контент страницы. Сайт с правильно созданными ЧПУ всегда можно разложить по папкам и файлам index.html. Если вы не можете представить структуру своего сайта в виде набора каталогов или же в вашем представлении одна страница одновременно содержится в нескольких каталогах - это верный знак того, что у вас неверно построена структура ЧПУ.

Справедливости ради стоит заметить, что не всегда оправдана «каталожная» структура ЧПУ с четкой логикой вложенности каталогов, когда зависимая сущность (например, статья) лежит в подпапке своего родителя (например, категория статей). Один их примеров, кода иерархией каталогов лучше пренебречь – если одна статья может находится в более чем одой категории, что часто бывает в блогах. Например, у нас одна и та же статья «Новая статья» одновременно относится к категориям «Категория 1» и «Категория 2».

Список статей категории «Категория 1»: http://site.ru/category-1/
Список статей категории «Категория 2»:  http://site.ru/category-2/

Плохо:

Статья доступна по ЧПУ: http://site.ru/category-1/new-article/
Статья доступна по также ЧПУ: http://site.ru/category-2/new-article/

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

Хорошо:

Статья доступна по одному ЧПУ: http://site.ru/new-article/

 

* * *

 

И в заключение хочу сказать кто же скрывается под именем noname.com в самом первом примере с некрасивой ссылкой, которую я посмел назвать «абсолютным злом». Это... внимание... барабанная дробь... google.com.

Не верите. Да вот же эта ссылка:
http://www.google.com/support/accounts/bin/answer.py?answer=48598&hl=ru&ctx=ch_Login&fpUrl=https%3A%2F%2Fwww.noname.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1

Гугл, не будь злом!

И справедливости ради раскроем вторую темную лошадку – сайт из второго примера (хотя, наверное, вы уже сами догадались, что это за сайт под псевдонимом noname.ru).  Это http://www.artlebedev.ru/.

У сайта студии Артемия Лебедева очень правильная структура ЧПУ, поэтому он был избран в качестве показательного примера. И кроме того на этом сайте есть одна малоизвестная особенность, которая завершает картину идеальности ЧПУ – сайт сам исправляет ошибки и опечатки в ЧПУ. Снова не верите? Убедитесь сами:

Вот верная ссылка http://www.artlebedev.ru/everything/print/
Попробуем сделать опечатку в слове «print»:  http://www.artlebedev.ru/everything/pront/
Или так: http://www.artlebedev.ru/everything/prnt/
Или даже в двух словах «everything» и «print»: http://www.artlebedev.ru/everthing/prnt/

«Вот до чего техника дошла» ©