Правила формирования ЧПУ
Правила формирования ЧПУ
Для большинства «жителей» всемирной паутины не будет откровением, что абсолютным злом являются ссылки вида:
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/
«Вот до чего техника дошла» ©
Разделы
Архив
- 2010 (2)