Главная / Рефераты / Рефераты по информатике, программированию

Реферат: Совершенная 404-ая страница


Совершенная 404-ая страница

Ян Ллойд (Ian Lloyd)
Добро пожаловать в мир ошибки 404. Вы запросили страницу, набрав в адресной строке URL или же кликнув по "мёртвой" ссылке - и вуаля! - вы в самом сердце виртуального "нигде". Веб-сайт, заботящийся о пользователях, протянет вам руку помощи, в то время как другие сайты не сделают ничего, понадеявшись на встроенные в броузеры механизмы сообщения об ошибках. Но мы-то можем поступить лучше, не правда ли?
Я не буду вдаваться в подробности о том, как вам надо настроить ваш сервер для правильной отдачи страницы о 404-ой ошибке. Ищите подробности в этих статьях:
Creating a Custom 404 Error Page (4 Guys From Rolla)
Creating Custom Error Messages in Apache (4WebHelp)
Я же предложу вам варианты стратегии создания страницы "404", которая наиболее эффективным образом поможет справиться с неприятной ситуацией.
Для начала нам необходимо проверить наиболее распространенный причины, по которым люди оказываются на странице "404".
неправильно набран URL (или устаревшая закладка)
ссылка на поисковом сервере устарела
внутренняя ссылка на вашем сайте сломана по недосмотру веб-мастера
Всё это различные проявления одного и того же, но для каждого из этих случаев необходимо своё особое "лекарство" - сообщение на странице "404" должно быть своим для каждой ошибки. Есть несколько трюков, которые вы можете использовать во всех случаях, но мой самый первый совет предельно прост…

Не ищите виноватого!

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

404-ая страница должна иметь...

Вы должны убедиться, что наряду с фразой типа "что-то вышло не так", ваша страница имеет перечисленные ниже элементы:
Ссылка на карту сайта (если карта у вас есть) и ссылка на главную страницу сайта. Это самый простой способ помощи пользователям. Он не требует написания хитроумных скриптов.
Блок поиска. Если у вас на сайте есть функция поиска, добавьте поле поиска на вашу 404-ую страницу. Если поиска нет, и у вас на сайте страница 404 появляется слишком часто, постарайтесь эту функцию как-нибудь раздобыть.
Сугубо минималистичный внешний вид. Избегайте помещать на "404-ю" всю стандартную навигацию вашего сайта. Избегайте обилия отвлекающих деталей. Кроме того, полный комплект навигации на 404-ой странице требует дополнительных затрат на поддержку ее актуальности. Если на 404-ой странице навигации не будет, о ее обновлении можно не заботиться, а значит ваши посетители не столкнутся с ситуацией, когда ссылки навигации на 404-й странице сами приводят к 404-ой странице. Это я так иронизирую!
Не используйте профессиональный жаргон. В смысле, мы тут говорим о 404-х страницах, верно? Мы ведь среди своих. Но вот шестидесятилетней Дорис, попавшей на "мёртвую ссылку" в результате поиска на сайте о вязании, будет невдомёк, что это за 404-ая ошибка такая. Если уж вам так хочется использовать фразу "Ошибка 404" - делайте это незаметно, поместите её в подвале страницы как примечание для тех, кто понимает этот причудливый язык Сети.
Теперь давайте посмотрим, как можно заставить 404-ю страницу поработать на вас, а не против вас.

Сделаем все по-умному

Тут я должен отметить, что вам потребуются знания JavaScript (возможно, вы не имеете прав на исполнение серверных скриптов - это зависит от настроек вашего сервера). Поэтому не забывайте про тег <noscript>, внутри которого должно находиться сообщение для пользователей, которые отключили поддержку JavaScript в своём броузере. Если же вы можете использовать серверные скрипты (что в данном случае предпочтительно - проблемы с совместимостью и настройками броузеров отпадают сами собой), то приспособьте предложенный код под ваши нужды.
Во-первых, вам нужно будет задать несколько переменных:
var strReferrer=document.referrer.toLowerCase();
var blnSearchReferral = false;
var blnInsiteReferral = false;
var str=";
var strSite = "";
Итак, что мы будем с ними делать?
Неверно набранный URL
Неверно набранный URL (или же устаревшая закладка) не будут иметь referrer, так что ваш код для этого случая должен быть чем-то вроде этого:
ВНИМАНИЕ! Символ "»" означает в данном случае лишь перенос строки так, чтобы она могла быть показана на этой странице - вам не надо использовать этот символ в своём коде.
if (strReferrer.length==0)
 {
 str+=*We think you will find one of the following »
 links useful:</p>*;
 str+=*<a href=/home.php><img src=ref_img.php?informatics/http://images.km.ru/ »
 home.gif alt=Home Page width=100 height=30" »
 /> </a>*;
 str+=*<a href=/site-map.php><img src=ref_img.php?informatics/http://images.km.ru/ »
 site-map.gif alt=Site Map width=100 height= »
 "30" /></a>*;
 str+=*<hr />*;
 str+=*<p><strong>You may not be able to find the »
 page you were after because of:</strong></p>*;
 str+=*<ol type=a>*;
 str+=* <li>An <strong>out-of-date bookmark/favorite »
 </strong></li>*;
 str+=* <li>A search engine that has an <strong>out- »
 of-date listing for us</strong></li>*;
 str+=* <li>A <strong>mis-typed address</strong></li>*;
 str+=*</ol>*;
 document.write(str);
  }

Устаревшая ссылка на поисковике

Если значение referrer присутствует, мы можем поискать в нем URL поискового сервера (разумеется здесь вы можете дать простор своей фантазии). После этого мы можем разобрать параметры поиска, найти список ключевых слов, которые посетитель вводил на поисковом сервере и предложить ему страницу, подходящую по нашему мнению под его запрос.
if (strReferrer.length!=0)
 {
 if ((strReferrer.indexOf(".looksmart.co")>0)||
 (strReferrer.indexOf(".ifind.freeserve")>0)||
 (strReferrer.indexOf(".ask.co")>0)||
 (strReferrer.indexOf("google.co")>0)||
 (strReferrer.indexOf("altavista.co")>0)||
 (strReferrer.indexOf("msn.co")>0)||
 (strReferrer.indexOf("yahoo.co")>0))
 {
 blnSearchReferral=true;
 //get site domain — split at the first forward-slash
 var arrSite=strReferrer.split("/");
 // now find search parameters
 var arrParams=strReferrer.split("?");
 var strSearchTerms = arrParams[1];
 arrParams=strSearchTerms.split("&");
 
 strSite=arrSite[2];
 var sQryStr=";
 
 //define what search terms are in use by the »
 different engines
 var arrQueryStrings = new Array();
 arrQueryStrings[0]=q=; //google, altavista, msn
 arrQueryStrings[1]=p=; //yahoo
 arrQueryStrings[2]=ask=; //ask jeeves
 arrQueryStrings[3]=key=; //looksmart
 
 for (i=0;i<arrParams.length;i++)
 //loop through all the parameters in the referring »
 page’s URL
 {
 for (q=0;q<arrQueryStrings.length;q++)
 {
 sQryStr = arrQueryStrings[q];
 if (arrParams[i].indexOf(sQryStr)==0)
  {//we’ve found a search term!
  strSearchTerms = arrParams[i];
  strSearchTerms = strSearchTerms.split(sQryStr);
  strSearchTerms = strSearchTerms[1];
  strSearchTerms = strSearchTerms.replace("+", " ");
  }
 }
 }
 //Tell the visitor what site is at fault, what the
 //search terms were
 document.write ("<p>You did a search on <strong> »
 <a href=*" + strReferrer + "* target=*_blank*>" + »
 strSite + "</a> </strong> for "<strong>"»
 + strSearchTerms + "</strong>". However, »
 their index appears to be out of date.</p> »
 <h2>All is not...

ВНИМАНИЕ!
Текст просматриваемого вами реферата (доклада, курсовой) урезан на треть (33%)!

Чтобы просматривать этот и другие рефераты полностью, авторизуйтесь  на сайте:

Ваш id: Пароль:

РЕГИСТРАЦИЯ НА САЙТЕ
Простая ссылка на эту работу:
Ссылка для размещения на форуме:
HTML-гиперссылка:



Добавлено: 2012.06.23
Просмотров: 1019

При использовании материалов сайта, активная ссылка на AREA7.RU обязательная!