Не теряйте посетителей при возникновении ошибок сервера
Мир Internet
Олег Новиков
Жесткая борьба за посетителей не позволяет ныне веб-мастеру
оставлять стандартные сообщения сервера об ошибках. Не надейтесь, что
ваш посетитель, увидев на экране «404 Not Found», будет
долго размышлять, в какую черную дыру киберпространства провалился ваш
URL. Стандартное его действие — переход на другой адрес.
Вот несколько простых шагов, которые не дадут опомниться посетителю
и возвратят его на указанный вами URL. Это позволит не потерять
посетителя из-за ошибок сервера.
Шаг первый: переназначение ошибок сервера. Если у вас есть доступ к
конфигурации сервера, внесите следующие строки в файл srm.conf[*] в каталоге
/conf :
ErrorDocument 404 /missing.html
#для других ошибок прописываются аналогичные строки#
Если доступа к конфигурации нет, достаточно создать файл .htaccess в
своем корневом каталоге и внести туда эти строки.
Шаг второй: создание HTML-файлов для возникающих ошибок. Если ваш
сайт не использует фреймов или дополнительных окон, то HTML-файл будет
иметь простую структуру:
<!-- missing.html -->
<html><head>
<!-- Даем посмотреть шесть секунд и переадресуем
пользователя на домашнюю страницу -->
<meta HTTP-EQUIV="REFRESH" CONTENT="6;
URL=/index.html" target="_top">
<title>Ошибка!</title></head>
<body>
Извините, данная страница не существует.<br>
Для перехода к главной странице <a href =
"http://www.yourname.com/index.html" target="_top">
нажмите сюда</a>
<!-- Обязательно вставляйте эту связь на случай
нераспознавания броузером метатега -->
</body>
</html>
Если ваш сайт использует фреймы, то перенаправление пользователя на
домашнюю страницу — это потеря времени на перезагрузку всей структуры
сайта. Более рационально вернуться к основной странице фрейма,
выдавшего ошибку:
<!-- missing.html -->
<html><head>
<!-- В случае отключенного JavaScript
перенаправляем пользователя через 10 секунд -->
<meta HTTP-EQUIV="REFRESH" CONTENT="10;
URL=/index.html" target="_top">
<title>Ошибка!</title>
<Script language="JavaScript">
<!--//
function GotoIndex()
{
// задаем интервал времени шесть секунд
var atime1 = setTimeout(‘Start()’,6000);
}
function Start()
{
// определяем имя фрейма или окна
var framname=window.self.name;
// сравниваем с существующими именами фреймов и
окон,
// при совпадении — открываем там основную страницу
if (framname == ‘frame1’)
{
window.open(‘/frame1_main.html’,’ frame1’);
};
if (framname == ‘ frame2’)
{
window.open(‘/frame2_main.html’,’ frame2’);
};
// при несовпадении имен — загружаем всю структуру
сайта сначала.
if (framname != ‘frame1’ && framname != ‘frame2’ )
{
window.open(‘/index.html’,’_top’);
};
};
//-->
</script>
</head>
<!-- Запуск переадресации по окончании загрузки
страницы или в случае ошибки-->
<body onLoad="GotoIndex();" onError="GotoIndex();">
Извините, данная страница не существует.<br>
Для перехода к основной странице <a href =
"http://www.yourname.com/index.html"
target="_top"> нажмите сюда</a>
<!-- Эта связь необходима на случай несрабатывания
автоматической переадресации -->
</body>
</html>
Все, и никаких более «404 Not Found», а посетители не
покинут ваш сайт, продолжив его изучение. Единственный дополнительный
совет — не перегружайте эти файлы графикой и текстом.
Иногда это делается иначе...
Не терять посетителя при возникнoвении ошибки 404 можно и другим
способом. Такая ошибка может, например, случиться на крупном сайте
бесплатного хостинга (типа
www.fortunecity.com),
если указанная страница отсутствует. И ни web-мастера, ни посетителя
обвинить в этом нельзя. На таких сайтах обычно поступают проще —
закладывают в файл обработки ошибки 404.html (в предыдущем
примере — missing.html)
максимально упрощенный вариант заглавной страницы сервера для быстрой
навигации по сервисам сайта.
Но обычно такая ошибка возникает в двух случаях — по вине
web-мастера и по вине самого посетителя. В первом случае логично
поступать, как описано в предыдущей заметке (например, если сайт только
строится или обновляется и некоторые линки по его внутренней структуре
могут быть пустыми или неверными). Если web-мастер уверен, что в
структуре сайта ошибочных связей нет, он может предположить, что такая
ошибка будет, скорее всего, возникать по вине самого посетителя, из-за
неправильного набора адреса или из-за того, что посетитель не в меру
любопытен и пытается найти на сайте что-то такое, что не было
предусмотрено для всеобщего обозрения. В этой ситуации web-мастер может
и пошутить — создать такой 404.html, который
предупредит, удивит, шокирует или рассмешит посетителя. Естественно,
посетитель после этого, скорее всего, с сайта не уйдет, но прекратит
попытки лезть туда, куда его не просили. Кстати, поэтому имеет смысл
также положить в служебные директории сайта (например,
<имя_сайта>/images) аналогичный файл, но с именем index.html — для эмуляции
Access Forbidden.
Это может быть файл с анимированной графикой, смешными фотографиями,
надписями, звуком, видео или скриптами — каждый развлекается, как
умеет. Оказывается, в Сети существуют целые коллекции подобных файлов
404.html и целые специализированные сайты, посвященные этому искусству,
содержащие как ссылки друг на друга, так и россыпи остроумных обработчиков 404-й
ошибки, разделенных на рубрики вроде: «Крутые»,
«Интерактивные», «Глупые»,
«Сексуальные», «Странные»,
«Информационные» и т. д. Проводятся конкурсы на лучший
404.html дня, недели, месяца, страны и пр.
Большое количество таких сайтов можно обнаружить на сервере
www.yahoo.com, если в
качестве образца для поиска задать просто цифру «404».
Попробуйте посмотреть эти коллекции — вы не пожалеете о потраченном
времени, и настроение ваше непременно поднимется. Может быть, вы и сами
захотите поучаствовать в мировых рейтингах оригинальных и смешных
404.html ?
Лучшие онлайн игры на деньги
|