среда, 18 марта 2009 г.

Допустимые символы в URL адресах

Правильный, хоть и локальный адрес.

Говорил, что не буду работать на выходных, а сам сижу и мониторю сайты .)

Ну да ладно, главное что с бокалом вина в руке. Сегодня хочу написать об URL адресах и проблемах (в том числе движка WordPress, потому, что думаю на мой движок всем пох).

ЧПУ (Friendly URL) - веб-адреса, удобные для восприятия человеком. От словосочитания человеко-понятный-урл. Я почему-то говорю, как человеко-подобные-урл, но это личные заскоки .))


Начну пожалуй с того, что я с детсва обожаю ЧПУ. Как бы первый сайт был с ЧПУ (в возрасте 15ти лет) и все последующие - тоже. Обожаю адреса вида "Microsoft/Windows-XP/Service-Pack-3.html". Единственное, где использование не допустимо - это админка. Но это понятно, просто нецелесообразно.

Все проблемы, о которых я буду говорить, они касаются не только пользователей. А так же и поисковых систем. Потому, что все поисковики уже играются с адресами как хотят. Некоторые даже формы заполняют.

Первая проблема это когда URL адрес вида "Microsoft/Windows-XP/Service-Pack-3.html" нельзя преобразовать в "Microsoft/Windows-XP/" вручную удалив часть строки. Это тупо и маразматично. Опять же повторюсь, что поисковики, что пользователи этим занимаются. Не знаю с какой целью, видимо их не всегда устраивает навигация на сайте (например не обранужили хлебных крошек и т.д.).

Вторая проблема вытекает из первой, да еще и плодит дубли. Оказывается многие движки не учитывают, что "Microsoft/Windows-XP/" и "Microsoft/Windows-XP" это разные страницы и благополучно выдают контент. А на самом деле в первом случае мы имеем каталог, а во втором - страницу. У меня в движке с этим строго. А вот что касается WordPress'a - он почему-то приводит адреса к виду "Microsoft/Windows-XP", логики ноль.

Третья проблема - регистр. "Microsoft/Windows-XP/" и "MICROSOFT/Windows-XP/" - охрененная разница, а еще лучше "MiCrOsOfT/WiNdoWs-Xp/". Как раз вчера, перед сном, я исправлял данный баг. Теперь все страницы, с измененным регистром редиректятся на оригинал. Т.е. "MiCrOsOfT/WiNdoWs-Xp/" перекидывает на "Microsoft/Windows-XP/" с помощью HTTP 302 редиректа. А теперь смотрим WordPress - баг присутствует. Можно отыметь ваш URL адрес, как захочешь - он все-равно выдаст контент.

Говноадресс

Четвертая проблема - набор символов. Идиот придумал писать русские буквы в URL адресах. Еще больший идиот сейчас внедряет идею доменных имет на кириллице. Хотя нет, они не идиоты, они, бля, богатые и умные, хотят сделать еще больше денег. А так же показать, что стали еще богаче и умнее. Русские часто выебываются, создавая Русский виндоус и т.д. Денег много, а фигли не бросить пару миллионов вон на ту идейку? Хотя есть, конечно, качественный софт. Например Download Master, бесплатен и крут. Тихая, мирная качалка переросла в полноценный супер-продукт. Но пофиг, че мне кипятиться по этому поводу. Выкладываю допустимый набор сомволов, который стоит использовать в ЧПУ: [0-9],[a-z],[A-Z],[_],[-]. Рассшифровывается так: буквы и цифры английского алфавита (любой регистр), знак подчеркивания "-", знак минуса "-".
Точку не используем, так как в именах папок будет смотреться тупо, а в именах страниц получится двойное расширение (типо patch-1.11.html). Еще часто используются знаки [=], [?], [&], [/] лучше пытаться от них отойти, хотя если не получается - ничего страшного. У меня не получилось, функция base64_encode использует [=], [/] в адресах. Но я просто закрыл такие страницы от индексации, дабы не смущать поисковые системы.

Почему не следует использовать другие символы в адресах? Да потому, что форумы, гестбуки, профили, rss ленты, новостные ленты - будут резать ваши адреса в хлам! В итоге получите отказ по причине "недоступного/недопустимого URL" или еще чего. Да и поисковики врят-ли такое любят. В одном из своих комментариев Гуглята сказали:
Делайте свои URL адреса с помощью ЧПУ, не слишком длинные, не более 5 уровней вложенности и в нижнем регистре.

Почему-то многие думают, что Яндекс это ниипать мощная система, без багов и т.д. и что она все хавает, ага... Только почему-то Яндекс до сих пор плохо индексирует страницы с корявыми заголовками. А про URL адреса я вообще молчу. Никто и не думал, что из индекса можно вылететь из-за огромного количества дублей (?), которых плодит WordPress.

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

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

Фиксите свои адреса, согласно стандартам и прибудет с вами сила джедая .)

Пис.

4 комментария:

  1. бред сивой кобылы

    ОтветитьУдалить
  2. >"Идиот придумал писать русские буквы в URL адресах. Еще больший идиот сейчас внедряет идею доменных имет на кириллице." - +1

    ОтветитьУдалить