Vladimir ([info]xekc) wrote,
@ 2005-03-08 02:42:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current mood: creative
Current music:Самолёты. /4тый день слушаю Вендетту. хорошо.
Entry tags:cms, Хорошая Система

#1
СMS - самое распространённое неверное название для систем управления веб-проектами. Дальше - описание того, как минимально хорошо сделанная система должна вести себя в том случае, в котором сейчас большинство систем посылают посетителя на***.

Поступил запрос: http://www.site.com/en/catalog/model1

Что должна сделать Хорошая Система™ ?

1. Если такой страница под таким урлом действительно существует - нужно её(сюрприиз!) отдать незамедлительно посетителю. Но нас ведь не это интересует?

2. Если страницы идеально отвечающей запросу нет.:

  • Нужно проверить, а есть ли категория /catalog/ в проекте?

  • Если есть, но недоступна(выключена например) - нужно сказать об этом посетителю культурно.

  • Если категории нет - нужно сходить по урлу ещё дальше конечно. 

  • Если /model1/ есть не в /catalog/ а в /products/ - нужно предложить посетителю эту страницу. При этом нужно показать надписть типа "Такая страница не найдена, но найдена очень похожая, вы будете направлены туда через несколько секунд или нажмите сюда, что бы быстрее, или нажмите сюда что бы на карту сайта перейти"

  • Конечно Хорошая Система™ знает что у сайтов есть версии на разных языках. И она конечно скажет что то вроде: "Информация о /model1/ доступна только на китайском языке. Пробуем врубиться?"

  • Если /catalog/ cуществует, но продукта /model1/ в нём нет, нужно отобразить конечно отдельную страницу, и написать - знаете, у нас есть /catalog/, но как то нету /model1/, с другой стороны можем предложить /modelA/ , /modelB/ и /modelC/, хотите?

  • Если /catalog/ cуществует, cтраницы /model1/ в нём нет, но существует страница которая отличается на один символ от набранного - например /model_1/ - то посетителя без вопросов нужно туда отправить.

  • Если /catalog/ cуществует, страницы /model1/ в нём нет, но зато есть страница model1.html .asp .php .htm - посетителя опять же отправляем туда без вопросов.

  • Если в запрсе передаётся %20; и урл не найден - система не будь дурой, должна проверить урлы без пробела в этом месте и с символом "_" в этом месте.

  • Конечно Хорошая Система™ не маленькая и если на сайте была страница /model1/ и её два года назад переименовали в /our_model1/ - она должна отправить пользователя по новому адресу незамедлительно.

  • Хорошая Система™ не построена на старых клише. Она понимает что у сайта нет "страниц", вообще нет. Страницы есть в книге или в журнале. А один и тот же контент сайта может выводиться по неограниченному количеству адресов и для этого его совершенно не нужно дублировать. Поэтому если на сайте нет урла http://www.site.com/en/catalog/model1 но есть урл http://www.site.com/model1 - посетителя нужно отправить туда незамедлительно.

  • Вы будете смеяться, но если Хорошая Система™ получила запрос, и ничего из вышеуказанного не сработало - она должна разбить запрос на киворды и либо направить посетителя сразу на найболее похожую страницу(если релевантность результатов высокая), либо отобразить результаты поиска по кивордам посетителю. Дружественно конечно.

  • Конечно, если Хорошая Система™ поддерживает мультиязычность, то она это должна делать по-взрослому, а не только энкодинги менять. Т.е. запрос нужно переводить и пробовать. Онлайн словарей дохера и это не сложно. Конечно, пользователя нужно предупредить мол - слушай тут непонятки, но я сейчас-сейчас подумаю и вернусь.

  • Настоящая Хорошая Система™ должна быть обучаемой. Пример: посетитель ввёл адрес http://www.site.com/en/catalog/model1 и его упс, нету. Но система ему выдала адрес http://www.site.com/en/model1 и он согласился, что это действительно то, что нужно. А затем такая ситуация повторилась с другим посетителем. Что это значит? Где-то стоит плохая ссылка - либо чьи-то кривые руки плохо записали УРЛ. Должно ли это волновать владельца сайта? нет. на самом деле владельца сайта не должно вообще ничего волновать - у него есть Хорошая Система™, которая не верит в совпадения и создаёт дополнительный урл (пусть даже ошибочный) для страницы при каждом повторе.

  • Если Хорошая Система™ всё-всё попробовала и ничего не помогает - она должна честно признаться об этом пользователю, сообщив что ничего из того что он ввёл в адресную строку совершенно не относится к этому проекту. И что это неправильно, что ли.

  • А на запрос "принеси тапочки" система должна посылать посетителя нахрен. шутка.

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




CMS - все заметки



(Post a new comment)


[info]serioga
2005-03-07 11:25 pm UTC (link)
система ему выдала адрес ... и он согласился, что это действительно то, что нужно.

не совсем понятно, как система узнает что пользователь согласился с предложенным вариантом. Разве что ссылку поставить на видном месте, типа "если это не совсем то что вы хотели увидеть, нажмите сюда чтобы пожаловаться" :)

(Reply to this) (Thread)


[info]xekc
2005-03-08 01:54 am UTC (link)
многое из перечисленного работает по паретто - так и тут: можно вписать правило, что если посетитель побыл на предложенной странице больше минуты(eg читал), либо воспользовался какой то из форм на странице - то она ему подходит. и такое нехитрое правило будет работать в 80% случаев правильно.

(Reply to this) (Parent)(Thread)


[info]mauz
2005-03-08 02:12 am UTC (link)
ерунда.
я иногда открываю в бэкграунде десяток страниц, и они могут провисеть до вечера нечитанными, в том числе и 404-е. это ж скока я 404-х отаппрувлю? :)

(Reply to this) (Parent)(Thread)


[info]xekc
2005-03-08 02:56 am UTC (link)
кейс слабый вобщемто. ты когда френдленту читаешь - конечно открываешь много окон. но если ты ищешь у мошкова книгу какую то и не можешь найти - то тут всё уже работает именно так. и я думаю это как раз те 80% которые и важны.

(Reply to this) (Parent)(Thread)


[info]mauz
2005-03-08 03:12 am UTC (link)
как раз и у мошкова, и у в новостях, и проч и проч и проч.

(Reply to this) (Parent)


[info]veged
2005-03-07 11:54 pm UTC (link)
а если по кейвордам ничего не найдено - нахер?

(Reply to this) (Thread)


[info]xekc
2005-03-08 01:52 am UTC (link)
>Если Хорошая Система™ всё-всё попробовала и ничего не помогает - она
>должна честно признаться об этом пользователю, сообщив что ничего из того
>что он ввёл в адресную строку совершенно не относится к этому проекту. И
>что это неправильно, что ли.

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

(Reply to this) (Parent)


[info]mauz
2005-03-08 01:37 am UTC (link)
а что получает спайдер? :)

(Reply to this) (Thread)


[info]xekc
2005-03-08 01:47 am UTC (link)
как правило у спайдера правильные ручки - и адреса он набирает правильные. это был пост про обработку кривых запросов. хотя если спайдер пришёл по внешней кривой ссылке - он конечно получает всё то же самое. это только пост длинный, на деле пройти по такому списку условий можно очень быстро.

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

(Reply to this) (Parent)(Thread)


[info]mauz
2005-03-08 02:14 am UTC (link)
система, имхо, должна честно ему выдать 404-ю и не выпендриваться. Тогда он не будет индексировать и сохранять мусор по неправильным адресам.

(Reply to this) (Parent)(Thread)


[info]zaza
2005-03-08 06:08 am UTC (link)
Нормальный сервер позволит отдать ХТТП хедер 404 и соответствующее содержание самой страницы. Вот тока, какой-то там Ишак глюки выдаёт в этом плане...

(Reply to this) (Parent)


[info]zaza
2005-03-08 06:04 am UTC (link)
Ох, если бы спайдеры не подписывались, что они спайдеры (бля, как я жду этого момента, когда спайдеры будут иметь такой-же идентификатор как простой броузер, отрабатывать, к примеру яваскрипты, и т.д.)... Вот как тогда будет? По первой ссылке он уйдёт в никуда?

И я вообще считаю неправильно, что спайдеры отличаются по USER AGENT.

(Reply to this) (Parent)(Thread)


[info]xekc
2005-03-08 07:16 am UTC (link)
ну зачем так сложно? любой бровзер говорит я - бровзер. если не скзал - значит он спайдер. и всё.

(Reply to this) (Parent)


[info]indeyets
2005-03-08 02:32 am UTC (link)
Блин..
Вот я сейчас сижу на работе (8-е марта на дворе) и в срочном порядке доделываю никому нафиг не нужную (кроме как для "галочки") CMS.. Я же до утра не уйду, если по человечески её делать буду..

Впрочем, принципиально я со всем согласен и когда проект не авральный, то даже именно так и делаю :)

(Reply to this) (Thread)


[info]xekc
2005-03-08 02:46 am UTC (link)
я конечно идеалист, но думаю что теоретически написать в большой степени универсальную СMS всё таки возможно. и этот пост именно о такой системе :)
с другой стороны однажды проработав такие алгоритмы потом их уже не сложно использовать

(Reply to this) (Parent)(Thread)


[info]vipernail
2005-08-11 06:41 am UTC (link)
> думаю что теоретически написать в большой степени универсальную СMS всё таки возможно
Как раз такую сейчас и пишу :)
Список требований взял на заметку.

(Reply to this) (Parent)

Поступил запрос...
(Anonymous)
2005-08-26 03:34 am UTC (link)
Интересно было бы узнать, а откуда??? Обычный юзер может придумать запрос вида www.site.com/en/catalog/model1
IMHO обычный юзер никогда такой запрос к системе не составит. А если поступил такой запрос, то скорее всего ктото очень умный пытается найти на сайте "интересные" разделы и этот запрос надо не обрабатывать как идущий от человека а немедленно передать админам т.к. скорее всего это будет попытка разведки перед взломом.
По поводу ссылок на отдельные статьи, адреса которым могут измениться. Вспоминая теорию баз данных и бесконечные споры о суррогатных ключах начинаешь думать что все таки суррогатные ключи имеют место быть. А ссылки на сайт вполне могут иметь вид site?id=123 и такая ссылка (именно как внешняя ссылка на сайт) ничем не хуже ссылки вида site/catalog/en/model1 хотябы потому, что к любой ссылке можно добавить нормальное русское описание, которое в любом случае будет более информативным чем ctalog/en/model1.

P.S. Все это IMHO. но ...

(Reply to this) (Thread)

Re: Поступил запрос...
[info]xekc
2005-08-26 05:51 am UTC (link)
эта заметка была пробой пера и не продолжил я эту тему, хотя и следовало бы. я считаю что адресация, используется сегодня недостаточно гибко. книги давят. человек считает что информация должна находиться на существующей странице. человек считает что нужна обложка, содержание. а на деле в интернете каждый урл может и должен быть поисковым запросом. страниц нет. я ввожу адрес /все/сенокосилки/ или ввожу /новые/сенокосилки/ и вижу соответствующую информацию - страниц как таковых на сайте нет вообще.

А ссылки на сайт вполне могут иметь вид site?id=123 и такая ссылка (именно как внешняя ссылка на сайт) ничем не хуже ссылки вида site/catalog/en/model1 хотябы потому, что к любой ссылке можно добавить нормальное русское описание, которое в любом случае будет более информативным чем ctalog/en/model1.

это не так. вы воспринимаете вашу аудиторию - только как посетителей сайта. добавить описание на русском? а если бот поискового сервера не умеет читать на русском языке? а если бот смутит конструкция "id=1233", позволяющая предположить что страниц на этом сайте по меньшей мере 1233 и что это вероятно поисковый спам-сайт?

аудитория сети шире чем это ещё пока принято считать. и нужно думать о всех сегментах. мало того ценность сегмента "посетители сайта" чем дальше тем больше будет снижаться. например для многих проектов бот froogle.com уже сегодня в разы важнее чем любой посетитель.

(Reply to this) (Parent)(Thread)

Re: Поступил запрос...
(Anonymous)
2005-08-31 06:42 am UTC (link)
Неувязочка. С одной стороны мы говорим о человеко понятном URL. А с другой говорим, что бот для нас важнее человека. Что бота может что-то смутить. :-)
А если бот не понимает на русском? -> Значит это не русский бот. Тоже самое а если китаец зашедший на сайт не понимает на русском? Немного не логично.
А по поводу ботов и т.д. - так это все зависит от целей создания. Если наша цель - создать сайт который будет удобен людям - то так и надо создавать для людей. если мы делаем сайт удобный ботам - то тогда это совсем другая история. Просто фишка в том, что ботов пишут люди и стараются сделать так чтобы боты нормально понимали сайты сделанные для людей....
Это все IMHO.
P.S. Тут еще не был затронут вопрос повторяемости информации найденной по конкретной ссылке.... :-)

(Reply to this) (Parent)


[info]vitcom
2005-09-14 02:40 pm UTC (link)
а не проще отдавать 404 страницу с результатом поиска по вашему сайту

спайдер поймет что ошибка - а пользователь возможно найдет то, зачем пришел

(Reply to this) (Thread)


[info]xekc
2005-09-14 07:44 pm UTC (link)
во первых "проще" не равно "лучше".
во вторых - для библиотеки возможно так и лучше, но для магазина - чем дольше посетитель ищет, тем больше шанс что он уйдёт.

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

(Reply to this) (Parent)


[info]bege
2005-11-04 02:37 pm UTC (link)
ОК... сколько таких проверок должна выполнить система ?!
100...200...300...400
Проверки должны делать выборки из базы сайта...
100...200...300 страниц ?
Ок - выполняем все требования - стоимость реализации такой системы, насколько я понял тебя не инетересует реализация - только сумрачная идея возможности такой системы.
Такая система возможна - реализовать можно !!!
Теперь из этих размышлений берём реальные цифры - стоимость такой системы будет в десятки раз больше стоимость уже готовых не совершенных систем, бизнес тратит на поддрежку сайта не очень много денег, проще нанять на работу мальчика который разибрается в HTML и дать ему возможность клепать новости на страницу... дешевле будет чем брать секретаршу и покупать такую систему.

Тоесть - реализация такой системы не оправдана экономически.

Теперь - заботимся о пользователе... если у нас не найдена эта страница... подсунем ему другую... может быть похожею... а может пользователь координально ошибся ? и вообще не хочет смотреть у вас страницы на сайте ?
Време генерации такой страницы ?
обработка информации уровня гугла ?
Уровень гугла - смотрел какое надо оборудование для поддержки системы гугл ?
На каждую Хорошую Систему - прийдётся делать Хороший Сервер.

(Reply to this) (Thread)


[info]xekc
2005-11-04 02:58 pm UTC (link)
количество шажков которые система могла бы делать при обработке запросов уж точно не будет "100..200.300".

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

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

чувствуется программист :) пользователь это не серьёзный Оператор, создающий запросы вводом Команды.

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

Уровень гугла - смотрел какое надо оборудование для поддержки системы гугл ?

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

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

(Reply to this) (Parent)


[info]bege
2005-11-06 05:50 pm UTC (link)
Кластеризация.... - это давно известный факт. Там другие проблемы.
Про большую машину я вспомнил что такая CMS должна обслуживать сайт... средней комании. Можно конечно купить и свою машину на колоейшен... а можно взять хостинг... вот только нагрузки на хостинг ?!
Купите у нас CMS а вместе с этим вам прийдётся купить и ещё и новый сервер, а если не один ?

(Reply to this)


(Anonymous)
2007-03-06 04:12 am UTC (link)
Здравствуйте xekc!
Насчёт 404 всё верно написано,ряд замечаний и вправду полезен,но вы ещё напишите кмс для обработки запросов 404 страницы! Хмм.. А почему бы не сделать проверку на посещение страницы инопланетного разума? Если уж чего - то направлять их сразу на сайты с достопримечательностями Земли! Можно вообще нейронную сеть написать,чтобы пользователю было не скучно,если он вдруг ошибётся адресом - зато весело проведёт время общаясь с ИИ! Можно всё минимизирвать до самого необходимого...

(Reply to this) (Thread)


[info]xekc
2007-03-06 09:43 am UTC (link)
здравствуйте, Someone!

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

минимизировать наверное можно. лучше всего минимизировать до нуля, и всем от этого конечно будет только лучше. займитесь этим.

(Reply to this) (Parent)(Thread)


(Anonymous)
2007-03-07 12:54 pm UTC (link)
С чего это ты так саркастически отнёсся к моему посту? Я не спорю,ряд идей неплохой,но некоторое совсем чересчур... Что есть плохого в минимизации? Не до банальности конечно,сохраняя самое нужное и с точки зрения рациональности убрать маловостребованное в пользу быстродействия!
А если всё так досканально,скрупулёзно,педантично перетирать - тогда скоро чтобы авторизоваться на собственном сайте - нужно будет через специальный девайс образец отпечатков пальцев,анализ днк и мазок из попы на сервер отправлять,а также сделать сканер физического самочувствия,если глаза устали - чтобы система автоматически яркость/контраст настраивала итд...
Спасибо за внимание,я кончил!

(Reply to this) (Parent)(Thread)


[info]xekc
2007-03-07 01:19 pm UTC (link)
сарказм наверное потому, что для меня этот текст уже чуть ли из какой то прошлой жизни, очень много воды утекло, и много разных взглядов изменилось за это время.

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

поэтому упрекать меня в том, что перегибы там - не нужно, я это знаю, это было одной из целей. aim the moon - shoot the tree, aim the tree - shoot the fence, как то так.

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…