60 (+1)

Выпуск №3

Не теряйте своих посетителей! (404 ошибка)
Коды ошибок web-сервера
Энциклопедия интернет-рекламы

Поиск по сайтуДля желающих написать письмоПослать ссылку другуВерсия для распечатки


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



Web-сайт

Не теряйте своих посетителей! (404 ошибка)

Как Вы думаете, насколько часто посетитель видит 404-ую ошибку (страница не найдена). А насколько часто это происходит с Вашим сайтом? К сожалению, не так редко, как этого бы хотелось. Но давайте по-порядку - сначала выясним, откуда же берется эта ошибка, а потом разберемся с вопросом о том, как удержать посетителя.

Итак, 404-ая ошибка. Думаете, она случается только у нерадивых web-мастеров? Вовсе нет, есть масса совершенно других причин, абсолютно не связанных с созданием сайта. Проблема, естественно, заключается в ссылках на Ваш сайт, которые указывают на несуществующие странички, а точнее сказать - на уже несуществующие странички. Если поддерживать в корректном состоянии внутренние ссылки на сайте достаточно легко - для этого нужно просто проверять каждую добавляемую на сайт страничку, то с внешними ссылками ситуация кардинально иная.

Сайт, существующий достаточно долго, успевает за свою жизнь несколько раз сменить хостинг, дизайн, внутреннюю структуру, программный движок и т.д. Во всех этих случаях есть риск, что изменятся ссылки на внутренние страницы сайта. Страничка, ранее находившаяся по одному адресу, теперь вдруг оказывается по совершенно другому. А поисковые системы, каталоги, да и просто другие сайты, которые решили на Вас сослаться, продолжают указывать на старый адрес. Через некоторое время эта ситуация, конечно, слегка изменится. Как известно, поисковые системы периодически посылают своих роботов на проверку сайтов. Но от владельцев сайтов, которые от доброты душевной поставили ссылку на Ваш сайт, мы не можем требовать, чтобы они также периодически бегали к Вам. Да, я понимаю, что Вам бы этого очень хотелось, но это не так. Поэтому смиримся с этим и попробуем решить задачу сами.

404-ая ошибка сайта 'Cherry-Design'
Что происходит, когда сервер не находит запрошенной странички? Все правильно, он возвращает код 404-ой ошибки и броузер показывает стандартную страничку о том, что ничего не найдено. Исходя из этого, посетитель может сделать ошибочный вывод, что нужной информации на сайте нет. Ведь узнать о том, что страничка сменила свой адрес и сообщить об этом пользователю, броузер никак не может. Но есть один хороший способ - мы можем вместо странички по умолчанию подставить свою собственную страничку об ошибке. На ней мы и можем сообщить пользователю о том, что, мол, страничка, которую Вы ищете, вовсе никуда и не делась, а просто сменила место жительства. И, что самое главное, кроме информирования пользователя об этом факте, мы сможем дать ему конкретный совет - а что же делать дальше? Это может быть просто рекомендация поискать нужную страничку с корня сайта и ссылка на первую страницу. А может быть и более сложный вариант, который вкратце повторяет карту сайта с кратким описанием где и что расположено. Этот способ позволяет сократить для пользователя время поиска потерявшейся странички. Именно такой способ я применил на сайте "Cherry-Design". Справа вы можете видеть скриншот странички с сообщением об ошибке. Для более подробного изучения этой странички, просто щелкните на скриншоте.

Как же настроить web-сервер, чтобы он при наборе ошибочного адреса в строке броузера выдавал не свою стандартную страничку об отсутствии запрошенной информации, а нашу собственную, где мы можем так красиво расписать, почему ее не оказалось на месте? Исходя из того, что на данный момент интерес, по-сути, представляют всего два web-сервера - это небезызвестный Apache и не менее известный Microsoft Internet Information Server (IIS) - о них и поговорим. А вопрос: "Как быть, если у Вас нет своего собственного web-сервера?" - мы затронем в самом конце статьи.

Начнем в алфавитном порядке. Итак, Apache. Все его настройки содержатся в файле httpd.conf, который Вам и следует сейчас открыть. У кого он есть, конечно (а я так рассчитываю, что если Вы читаете эту статью, то он у Вас должен быть). Далее следует найти в этом файле следующую секцию:

# Customizable error response (Apache style)
#  these come in three flavors
#
#    1) plain text
#ErrorDocument 500 "The server made a boo boo.
#  n.b.  the (") marks it as text, it does not get output
#
#    2) local redirects
#ErrorDocument 404 /missing.html
#  to redirect to local URL /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
#  N.B.: You can redirect to a script or a document using server-side-includes.
#
#    3) external redirects
#ErrorDocument 402 http://some.other_server.com/subscription_info.html
#  N.B.: Many of the environment variables associated with the original
#  request will *not* be available to such a script.

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

  1. Указание текста ошибки прямо в директиве
  2. Локальный редирект на страничку ошибки
  3. Внешний редирект на страничку ошибки

Первый способ для нас не годится, т.к. мы хотим оформить страничку 404-ой ошибки в едином стиле со всем сайтом, а это, как Вы понимаете, при помощи чистого текста сделать достаточно затруднительно. Третий способ нам тоже не подходит, т.к. слишком громоздкий для одного сайта. Мы же не ставим перед собой задачу обеспечения нескольких сайтов, расположенных на разных серверах единой страничкой ошибки? Так что остается для нас наиболее подходящим способом - локальный редирект. Достаточно просто убрать комментарий (#) со строчки:

#ErrorDocument 404 /missing.html

И, изменить адрес на ту страничку, которую подготовили мы:

ErrorDocument 404 /pages/error404.htm

Осталось перезапустить Apache и набрать в броузере после доменного имени сайта какой-нибудь несуществующий адрес. Если Вы увидели свою собственную страничку 404-ой ошибки, то все прекрасно. В противном случае, проверяйте файл конфигурации.

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

<VirtualHost 127.0.0.2>
  ServerAdmin yourmail@domain.com
  ServerName yoursite
  DocumentRoot "/home/yoursite/www"
  ErrorDocument 404 /pages/error404.htm
</VirtualHost>

Диалог настройки страничек об ошибке в IIS
А сейчас поговорим о втором по-популярности web-сервере. Запустите программу управления IIS. Теперь выберите web-сайт, для которого мы собираемся настраивать ошибочные сообщения, и, нажав правую клавишу мышки, выберите из контекстного меню пункт "Propeties". Откроется меню настроек данного сайта, подобное тому, что приведено на скриншоте. Выберите вкладку "Custom Errors", и Вашему взору предстанет длинный список кодов ошибок, которые можно переопределить. Выберите из него 404-ую ошибку и нажмите кнопку "Edit Propeties...".

IIS позволяет использовать два способа переопределения, которые соответствует локальному редиректу (File) и внешнему (URL) или выбрать страничку по-умолчанию. Выберите тип переопределения "File" и укажите местонахождение вашей странички 404-ой ошибки. Вот и все! Перезапустите web-сервер и можете тестировать сайт на 404-ую ошибку.

А теперь переходим к прозе жизни, которая гласит - не у каждого есть свой собственный web-сервер. И что же делать в таком случае? Как сконфигурировать страничку ошибки? Во-первых, уточните у своего провайдера, дает ли он вам возможность использовать свои собственные файлы конфигурации. Проще говоря, возможность использования файла .htaccess. Если да, то все очень просто - создайте такой файл, поместите в него команду переопределения странички для 404-ой ошибки:

ErrorDocument 404 /pages/error404.htm

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

А что делать, если у Вас нет такой возможности? Тогда создайте страничку 404-ой ошибки, пришлите провайдеру ссылку на нее и попросите сконфигурировать web-сайт на эту страничку. Хороший провайдер не откажет. Правда, совсем хороший даст доступ к .htaccess.

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

http://www.yoursite.com/no_such_page.htm

и второй адрес

http://www.yoursite.com/folder/no_such_page.htm

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



Полезное

Коды ошибок web-сервера

Ниже я привожу краткий список наиболее распространенных кодов ошибок, генерируемых web-сервером. Большинство из них Вы можете переопределить вышеописанными способами, если в этом есть необходимость. Полное описание всех возможных кодов можно прочитать в RFC2616, который описывает HTTP-протокол.

  • 200 Ok - все в порядке, запрос выполнен успешно.
  • 401 Unauthorized - требуется авторизация. Страница появляется при запросе защищенного ресурса.
  • 403 Forbidden - доступ запрещен. Страница появляется, если пользователь ввел неверный пароль при входе в защищенную область сайта.
  • 404 Not Found - страница не найдена и скорее всего физически отсутствует по указанному адресу. Самая распространенная ошибка. Ее удельный вес порядка 90-95% всех ошибок.
  • 408 Request Timeout - истекло время ожидания ответа на запрос. Такое может произойти на серверах с очень узким и забитым каналом.
  • 500 Internal Server Error - внутренняя ошибка сервера. Возникает в случае, если произошла ошибка при выполнении серверного скрипта. В этом случае сервер просто приостанавливает дальнейшее выполнение таких скриптов, а броузеру посылается уже упомянутый код ошибки.
  • 503 Service Unavailable - сервис временно недоступен. Такое обычно случается при слишком большом количестве запросов в единицу времени. Web-сервер просто захлебывается в потоке запросов. Можно попробовать зайти по этому адресу несколько позже.


Интересное

Энциклопедия интернет-рекламы

Если Вы уже достаточно давно занимаетесь раскруткой сайтов, то этот ресурс вам уже наверняка знаком, а если только начали, то это именно то самое место, с которого следует начать. И что же в нем особенного? А все достаточно просто - умный человек и специалист своего дела - Тимофей Бокарев - написал хорошую книжку о рекламе в интернет. Для того, чтобы Вас заинтриговать, я приведу несколько выдержек, взятых наугад:

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

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

"...Движение приковывает взгляд. То же касается анимированных баннеров. По статистике, отклик у них на 25% выше, чем у их статичных собратьев. Самое сложное здесь - добиться максимальной эффектности при небольшом размере файла изображения..."

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

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

http://book.promo.ru/ - Вы уже успели щелкнуть по скриншоту? Если нет, то быстренько щелкайте по этой ссылке.

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


Предыдущий выпускНаверхСледующий выпуск


Свои мнения, пожелания и вопросы по выпускам Вы можете присылать по адресу mike@cherry-design.ru.
Я оставляю за собой право цитировать письма, пришедшие по вышеуказанному адресу.
Copyright © 2001-2008 Михаил Мельников. Перепечатка без разрешения запрещена.