ArtReal logo
На грани иронии
 

<! doctype content //public >
<! xref location=/Toweek/2004 >

 
01.03.2004

Вадим Артамонов

404 as is

Некоторые особенности использования 404-й страницы

   Фразу "404-я страница" знает каждый, пользующийся Интернетом. Но не каждый знает, что ее может и не быть. Впрочем, все по порядку.

   Поскольку "404" означает отсутствие требуемой страницы, то для посетителя важен ее практический смысл, а не экзистенциальный (как некоторые думают). Иначе говоря, нет смысла делать 404-ю страницу в виде шедевра, поскольку посетителя (как и поисковую систему) не интересует монументальный труд "39 причин, по которым вы оказались на этой странице". Его интересует факт отсутствия нужной страницы и линк на карту сайта (список рубрик, фронтпейдж) - для самостоятельного поиска нужной страницы.
   Еще большей ошибкой является использование "интеллектуальной системы коррекции ошибок". По идее такая система при отсутствии нужной страницы должна перенаправить пользователя на наиболее подходящую страницу. Но на практике такая штука может довести до истерики - когда хочешь получить одну страницу, а сервер почему-то подсовывает совершенно другую (а почему - непонятно). Посетитель предпочитает нормальную логику "Если страница есть - покажи ее; нет страницы - так и скажи, что ее нет", а не серфинг в условиях неопределенности и потусторонних1 явлений.

   Но еще более интересен вопрос 404-й страницы на динамичных сайтах2 (блогах, лентах новостей, etc).
   Во-первых, новые записи появляются быстрыми темпами, а каждая запись получает уникальный адрес (далеко не всегда предсказуемый).
   Во-вторых, старые записи уходят в архив (или в мусорник), а какие-то новые записи удаляются.
   В-третьих, можно ошибиться при ссылке на другую запись (например, неправильно скопировать адрес, обрезав хвост).
   В-четвертых, RSS распространяется быстрее, чем исправляются ошибки или удаляются так называемые "ошибочные" записи.
   Все эти факторы и приводят к тому, что отсутствие нужной записи - это вполне штатная ситуация. И как же в таком случае должна вести себя 404?
   Во-первых, никакого "искусственного интеллекта". Если посетитель хочет получить вполне конкретную запись, то не следует ему подсовывать совершенно другую запись. "Шулерство" здесь не уместно.
   Во-вторых, логический смысл 404 - это отсутствие статической страницы3, а не записи, привязанной исключительно к url.
   В-третьих, 404, возникающая при просмотре блога, несколько дезорганизует посетителя - непонятны причины отсутствия записи и дальнейшие действия (можно ли добраться до нужной записи как-то иначе?).

   Поэтому вполне логичным будет отсутствие 404 в динамичных сайтах. Вполне достаточно вместо текста записи выводить "Запись не найдена или удалена" или показывать "пустую запись"4. А посетитель пусть сам решает, что делать дальше.

   --
   1 - server-side
   2 - где единицей контента является запись (record), а не статья (article)
   3 - независимо от того, существует ли она физически или генерируется на лету
   4 - руководствуясь принципом "Если показывать нечего - мы ничего и не покажем"

На печать  

<! xref location=/Toweek/2004 >
<! doctype links //site-relative >