Мы позаботились о посетителях, пришедших по битым ссылкам с поисковых серверов. Теперь давайте позаботимся о ссылках не с поисковых серверов (или с тех поисковых серверов, о которых вы не знаете). В код надо добавить еще несколько условий:
if (!blnSearchReferral) {
strSite = strReferrer;
strSite = strSite.split("/");
strSite = strSite[2];
document.write("<p>You were incorrectly referred to»
this page by: <strong><a href='" + strReferrer + "»
'target='_blank'>" + strSite + "</a></strong>»
<br />We suggest you try one of the links below:»
</p>");
}
... и этими ссылками будут ссылка на карту сайта и ссылка на главную страницу сайта, о которых мы говорили в начале.
А что, если проблема в вашем сайте?
Вы не можете взять и написать на вашей 404-ой странице " На сайте, с которого вы пришли, неверная ссылка", когда неверный referrer - это ваш собственный сайт. В таком случае было бы нелишне изменить формулировку и признать свою вину.
blnInsiteReferral =((strReferrer.indexOf("http://»
www.mysite.co.uk")>=0)||
(strReferrer.indexOf("http://www.myothersite.com")»
>=0))
if (blnInsiteReferral)
{
document.write("<p>This one’s down to us! Please»
accept our apologies for this — we’ll see to it»
that the developer responsible for this broken»
link is given 20 lashes (but only after he or»
she has fixed this problem).<\/p>");
}
Решение проблемы
Итак, мы сумели найти путь из мрачных недр 404-ой ошибки. Но исправили ли мы сами ошибки? Нет. Тем не менее, у вас есть несколько вариантов действий, так как мы уже знаем, какая страница запрашивалась и какая страница сделала ошибочную ссылку (если конечно она была). Мы можем занести эту информацию в базу данных, либо автоматически либо с помощью кнопки "сообщите о сломанной ссылке администратору", которую можно поместить на 404-ой странице. Второй способ уменьшит уровень "шума", так как посетители обычно нажимают такие кнопки только в случае очень важной сломанной ссылки. Дальше вы уже сами решайте, как вы будете распоряжаться накопленной информацией.
Что еще почитать
Посмотрите, как данные советы работают в реальной жизни. Вот примеры с сайтов Accessify и A List Apart:
Скопируйте данную ссылку в адресную строку броузера, чтобы сымитировать случай с устаревшей закладкой: http://www.accessify.com/err.asp
А вот вариант со сломанной ссылкой
Имитация ссылки из результатов поиска на Google [тут задействована промежуточная страница]
Выкачайте пример 404-й страницы с кодом, описанным в статье, и измените его по своему усмотрению.