О сайтах и не о сайтах

Теперь и в tg!

tg

Переехал с твиттера на t.me/tulvit_blog, если что.

О формировании структуры URL адресов

Формирование структуры URL адреса задача в некотором плане больше творческая, нежели техническая. Но даже если и так, то все равно - на первое место надо ставить логику, а не свою бурную фантазию. Ниже мое общее представление о том, какая же структура адресов является правильной.

Кстати, насчет терминов. В рунете принято название "ЧПУ", человекопонятный урл. Весьма забавно получилось - термин, который должен описывать процедуру грамотного составления URL, сам по себе является тем еще режущим глаз жаргонизмом. В остальном же интернете общепринятое название это SEF, search engine friendly. Т. е. о людях (или о все тех же человеках) ни слова. Главное, чтобы фрэндли для поисковых систем.

Ну и раз разговор уже зашел о поисковых системах, то...

То поисковым системам совершенно без разницы на URL адрес (в том числе и на вхождение ключа в домен). Ну не совсем, конечно, без разницы (в Яндексе год-два назад одно вхождение слова в адрес страницы приравнивалось по весу к одному вхождению этого же слова в тело документа), но влияние околонулевое. Т. е. производить какие-либо манипуляции с url адресами только в угоду поисковикам как минимум бессмысленно. За сим с SEO аспектом можно закончить. И перейти к человеко-аспекту. Или к юзабилити, если другими словами.

Что требуется от урла? Краткость, понятность. Ну и эстетическая красота, куда ж без этого.

По поводу краткости. Чем короче урл, тем лучше. Идеальный сферический адрес в вакууме - это адрес вида site.com/xxxx (где xxxx некая буквенно-циферная комбинация). Все бы так, если бы требовалась одна только краткость. Но помимо краткости остается еще и понятность (ну или очевидность).

Фактически, любая дальнейшая манипуляция с url адресом - по сути жертвование минимализмом. И крайне желательно, чтобы это жертвование было обоснованным.

В первую очередь, конечно же, url должен быть стандартизирован и состоять из набора символов a-z, 0-9, а из спец. символов использоваться только "-" и "/". Никаких прописных букв, знака подчеркивания, скобок и т. д.

К слову, отдельно нужно упомянуть транслитерацию. Транслитерированный URL - это длинно, непонятно и просто не комильфо, мягко говоря. Надо использовать либо русские буквы (как на википедии, хотя для большинства случаев это явный перегиб), либо перевод на английский, либо цифры (site.com/article/123). Только что прошелся по нескольким популярным рунетовским порталам (за которыми стоят грамотные люди, мнению которых можно довериться) - нигде не используется транслитерация. Откуда это повальное увлечение адресами вида "nazvanie-publikacii-ili-kategorii" - непонятно. Но так делать нельзя.

Что по очевидности адреса - адрес должен быть предсказуемым. Из адреса должно быть понятно, где я сейчас нахожусь или куда я попаду, перейдя по ссылке. В общем, эту самую "предсказуемость" можно весьма условно разделить на общую и внутрисайтовую.

По "общей" очевидности url'а, это формирование адресов исходя из ожиданий пользователей. Т. е. страница контактов должна иметь адрес site.com/contact, страница архивов site.com/archives и т. д. Это уже устоявшиеся общепринятые адреса и отказываться от них глупо. То же самое по категориям, site.com/news и прочим. Или еще как пример - из ссылки "site.com/123" совершенно не ясно, куда она ведет, а вот по "site.com/news/123" уже понятно, что по ссылке находится страница с определенной новостью.

По внутрисайтовой иерархии урлов - если сайт имеет довольно сложную структуру, то не грех пренебречь минимализмом и целиком и полностью расписать путь (site.com/category/sub-category/smt-else/title, etc.). Но не стоит этим злоупотреблять, только если без этого действительно не обойтись, в противном случае подробную роспись адреса лучше опустить, сократив его до приемлемого минимума.

На фоне всего вышесказанного, можно встретить много примеров, как элегантной структуры адресов, так и противоречивой. Пожалуй, стоит даже привести несколько примеров.

drupal.org
drupal.org/project/modules - страница модулей, из адреса полностью понятна структура сайта и где мы находимся.
drupal.org/project/cck - конкретная страница определенного модуля, как видно, "modules" в адресе опускается, за счет чего уровень вложенности и длина адреса значительно сокращается.

nytimes.com
nytimes.com/2011/06/25/science/25trust.html?partner=rss&emc=rss - в адрес вшита дата, что и понятно, издание все-таки периодическое. Далее идет раздел и сокращенное название статьи. Все достаточно логично. Немного напрягает в конце ряд параметров (говорящих о том, что я перешел на статью из rss ридера), как на мой взгляд, это не лучший способ отслеживания потоков трафика.

boingboing.net
boingboing.net/2011/06/26/snappy-answers-to-fr.html - весьма спорное формирование адреса. Дата зашита в урле, хотя редко какие из публикуемых постов привязаны к дате. Возможно, дань происхождению - БоингБоинг начинал именно как бумажное периодическое издание, и только потом стал коллективным блогом. Интересен также и способ формирования остального адреса - берется тайтл страницы, переводится в урл и обрезается до 20 символов (в примере выше полное название поста "Snappy answers to freaky job-interview questions"). Хоть такие адреса и выглядят немного кривовато, но шаг вполне оправданный - редакторов нет, блог коллективный, заниматься составлением красивого адреса никто не будет. Пусть уж будет так, чем адрес плавающей длины (если в качестве адреса использовать весь тайтл).

mattcutts.com
mattcutts.com/blog/search-engineering-at-google/ - тут все понятно, адрес берется из тайтла. Характерно другое - в адресах конечных материалов в личных блогах очень редко можно увидеть указание категории, т. е. используется форма site.com/post-title, а не site.com/category/post-title. Оно и понятно почему - на личном блоге не так уж и много материалов, чтобы в них можно было бы запутаться. Плюс если кто-то и читает блог, то обычно читает все публикации, а не принадлежащие какому-то определенному разделу, поэтому использование адреса категории в адресе материала хоть и отображает логическую вложенность, но является по сути бессмысленным, поэтому и опускается.

Обычной практикой является и абстрагирование от внутренней древовидной структуры сайта (бывает полезным в том числе и тогда, когда материал может принадлежать сразу к нескольким рубрикам, что затрудняет использование вложенного урла виде site.com/category/page-title), например:
imdb.com/title/tt0172493/ - конечная страница с описанием фильма.
youtube.com/watch?v=lCDxvVRGias - конечная страница с видео.
armorgames.com/play/6137 - конечная страница с игрой.

В целом, каждая часть url адреса должна быть обоснована. Если от какой-то части адреса можно безболезненно отказаться - от нее нужно отказаться. И естественно, в любых правилах есть исключения, так или иначе оправданные.

Комментарии

Жалко правда, что до таких простых прописных истин приходится доходить иногда годами. Я вот на третий год дошел. Сейчас меняю на всех сайтах структуру адресов - трафик падает, ссылки естественные и покупные на внутренние страницы фактически пропадают, в той же сапе доход в ноль (редирект со старых адресов не ставлю, лень возиться). Но это того стоит. Вне всяких сомнений.

Обычной практикой является и абстрагирование от внутренней древовидной структуры сайта, например

imdb.com/title/tt0172493/, а не imdb.com/жанр-фильма/название-фильма

это не практика, а обычное ограничение - жанров у фильма может быть несколько

youtube.com/watch?v=lCDxvVRGias, а не youtube.com/категория-видео/название-видео

категорий у видео может быть несколько, а названия на сотни языках

armorgames.com/play/6137, а не armorgames.com/игры/категория-игр/название-игры

аналогично

Мамонт, на youtube.com/armorgames.com при добавлении видео/игры можно выбрать только одну категорию. Конечно, спорные моменты, когда файл подходит сразу под несколько категорий, бывают на каждом шагу. Аналогично фактически как и на хабре - статья может быть одновременно на тему php, MySQL, какого-нибудь фреймворка, но блог для публикации надо выбрать только один. Ограничения есть ограничения. На imdb.com да, можно выбирать много жанров, но и разделение тогда можно было бы придумать по типу "movies", "tv-series" и т. д.

Но в целом с комментарием согласен. Спасибо за замечание, чуток подправил пост.

Не знаю чем вам не угодили чпу, потому как когда ищешь в гугле или яше они эти самые чпу выделяют жирным, точно так же как и урлы переведенные на английский,и точно также как ключевики в сниппете, что означает что они их понимают и распознают как ключевики, таким образом непонятно почему так делать нельзя.... Допустим если бы было сравнение двух идентичных сайтов или сайта до установки чпу и после, как это повлияло на траф и позиции то это одно а так популизм однако... тем более я говорю можно))). Жду ваших объяснений... п.с. мне действительно интересно услышать Ваше мнение и обоснование этого вопроса потому как собираюсь делать несколько крупных проэктов эксперементы на которых неумесны

Не знаю чем вам не угодили чпу Не-не-не, я целиком и полностью за ЧПУ, только за правильные ЧПУ (правильные, конечно, по моему субъективному мнению на данный момент, так как еще не так давно я был сторонником максимально подробных и транслитерированных урлов).

что они их понимают и распознают как ключевики, таким образом непонятно почему так делать нельзя. Понимают, это да. Тот же Яндекс транслит и перевод считает вроде просто разными словоформами (т. е. вес у них одинаковый). Но реально на данным момент вхождение ключей в адрес оказывает очень слабое влияние на ранжирование - в этом легко убедиться, просто погуглив по разным запросам, конкурентным и не очень. Использовать ключи в адресах, конечно, можно - но только если причиной этого использования является не попытка повлиять на ранжирование, а реальная польза для конечных посетителей. В данном случае использование транслитерации изначально зло еще то - выглядят такие урлы мягко говоря страшно.
Как пример, на русскоязычных блогах я использую теперь в качестве адреса поста такую форму:
site.com/post/123
"post" - чтобы по виду ссылки было изначально видно, что страница именно с постом, а не там список архивов или рубрика. Цифры вместо тайтла - так как транслитерация это зло, а переводить каждый раз тайтл на английский не хочется время тратить.
В то же время в блогах на английском по старинке использую форму
site.com/post-title
с опусканием использования в адресе рубрики поста, чтобы адрес короче был.

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

сравнение двух идентичных сайтов или сайта до установки чпу и после, как это повлияло на траф Да никак скорее всего не повлияет, только что трафик на первых порах просядет из-за массовой смены адресов, т. к. надо ждать, пока вес снова на них перетечет. Хотя вполне допускаю, что из двух аналогичных страничек, созданных на нулевых доменах, по определенному ключу выше в выдаче будет та, у которой в адресе есть вхождение ключа. Но это только по придуманному ключу (вида "ывоадоыва", где изначального находится 0 страниц с прямым вхождением), по любому другому ключу, пусть даже сверх НЧ, значение вхождение ключа в адрес сильно нивелируется за счет других факторов.

Т. е. для дорвеев, использование ключа в урле для влияния на выдачу еще как-то оправдано. Для СДЛ же не имеет никакого смысла, юзабилити главнее, да и просто на фоне других факторов значение ключа в адресе оклонулевое.

а так популизм однако

Согласен на 100%. И аналогичных тем для холиваров много=) Резиновая верстка vs фиксированная, HTML vs XTHML и т. д.

Не знаю, мне кажется, большинству русскоязычных читателей понятнее ссылка типа: mysite/ogorod, чем mysite/kitchen-garden - если в статье речь идет об огороде, ведь далеко не все знают английский язык. Но это вопрос конечно спорный. В любом случае, полностью согласен, что чем короче и понятнее URL, тем лучше.

Понятней это да, но дико неправильно и вообще по сути извращение над языком. Это как некоторые личности перед англоговорящей аудиторией читают по бумажке текст, написанный русскими буквами ("Лэт ми спик фром май харт...").

Транслитерацию не встретить ни в одном более-менее крупном и себя уважающем источнике - ни в онлайне (сайты, документация), ни в оффлайне (инструкции и прочее).

Но что радует, в урл все равно мало кто смотрит, и можно со спокойной совестью перевести на английский только урлы разделов, а для материалов использовать те же цифры (site.com/category/123).

да уж... действительно стоит пересматривароть архитектуру построения урл адресов, а то ненавижу когда дохера всяких непонятных простому человеку символов
в этом плане рулит joomla 2.5 http://for-joomla.net

Откуда это повальное увлечение адресами вида "nazvanie-publikacii-ili-kategorii" - непонятно. Но так делать нельзя.

Транслитерация намного лучше русских букв в урле (не как у вики, а как в wp делают без cyr-to-lat плагина). Незнаю на каких порталах ты был, но на всех новостных используется транслитерация. Яркий пример новостные порталы типа ленты.ру слон.ру
http://lenta.ru/news/2012/07/03/students/
http://slon.ru/russia/russkie_pisateli_o_politicheskoy_situatsii_v_rossii-806561.xhtml
О чем статья понятно еще до перехода по ссылке. Это очень удобно если сохранять эти ссылки куда-то. Сразу можно найти нужную и понять о чем речь. А цифровые ссылки - полный пипец. Сохранишь такие и потом можно среди них целую вечность искать нужную тебе.

Почему друпал не запоминает мои данные? Каждый раз имя и мыло надо заново вводить..

Транслитерация намного лучше русских букв в урле

Лично мне транслитерация сильно глаз режет. Это и не английский и не русский. Это как вместо /contact использовать /kontakti. Нет такого слова "kontakti", есть "контакты" и "contacts". А если на некоторых страницах используется перевод (/about, /contact), а на остальных транслит, то это вообще феерично, как по мне.

Незнаю на каких порталах ты был

Хабр, да тот же Яндекс или Студия Лебедева. Мэйл, Рамблер, Вконтакте... Больше что-то на память никаких других крупных сайтов не приходит.

Яркий пример новостные порталы типа ленты.ру слон.ру

Контрпример - РБК и РИА. Сейчас на Ленту зашел, там у них вообще все из рук вон плохо. Адреса видимо вводят вручную, то транслит попадается, то перевод, то вообще непонятно что.

О чем статья понятно еще до перехода по ссылке. Это очень удобно если сохранять эти ссылки куда-то.

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

Почему друпал не запоминает мои данные? Каждый раз имя и мыло надо заново вводить..

Это да, проблема) После обновления до Друпал 7 перестали данные формы сохраняться, сходу исправить не удалось, поэтому отложил на потом, все равно в ближайшие месяцы постов не предвидится, а там может комьюнити пофиксит багу и надо будет просто обновиться.

Лебедев как-то писал, что посетитель всегда должен получить осмысленное и предсказуемое содержимое, если он стер часть адреса до ближайшей косой черты. У вас на блоге не так. Что думаете по этому поводу?

Это касательно структуры "site.com/post/123", "site.com/comment/123"? ИМХО, в данном случае это единственно верная и логически обоснованная структура адреса. Ну а то, что при затирании части урла выдается 404 или редирект, то это вполне нормально, жертвовать частенько чем-то приходится, хотя это даже жертвой назвать трудно, просто такая структура (как пример - youtube.com/watch?v=sadsdfsdf это видео, а youtube.com/watch это редирект на главную, twitter.com/nickname/status/123 это страница отдельно взятого твит-поста, а twitter.com/nickname/status/ 404-ая ошибка).

Да и Лебедев далеко не истина в последней инстанции. Что еще ироничненько - artlebedev.ru/kovodstvo редиректит на artlebedev.ru/kovodstvo/sections/, что не совсем осмысленно и предсказуемо =)

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

Здравствуйте, хочу поднять тему, ибо актуальна. Вы, tulvit говорите, что: "я использую теперь в качестве адреса поста такую форму: site.com/post/123" - но очень многие сеошники прямо кричат на своих сеобложиках о недопустимости цифрового URL. Не пойму их очень краткие доводы: "это плохо!". И тут же напишут такой длинный ЧПУ своей страницы, что никакого толка для глаза человеческого нет.

но очень многие сеошники прямо кричат на своих сеобложиках о недопустимости цифрового URL

Я не вижу особого смысла и пользы в урлах, заточенных под поисковую систему. Если кто-то видит - их право. Экспериментальных данных на руках нет, но тот же хабр ранжируется вроде не плохо. А в урлах ли дело, это уже наверно больше риторический вопрос =)