Дружелюбная 404 страница

Дружелюбная страница сделает поиск материалов, сменивших URL, легким делом для посетителей

Если посетитель приходит на один из моих сайтов с популярных поисковиков, а материал сменил URL или удален, ему выдается 404 ошибка:

Я использую компонент sh404SEF, в котором можно отредактировать 404 страницу на свое усмотрение.

  • Ключевые слова, с которыми пришел посетитель, определяюся по document.referrer
  • Несколько повторений strSearchTerms = strSearchTerms.replace("+", " "); нужно, чтобы удалить "+" из document.referrer
  • Часть /search/most-popular.html?searchphrase=any&searchword= зависит от настроек sh404SEF. Посмотрите сами. В моем случае ищется любое из слов, результаты - в порядке популярности
  • загружает из позиции pop_position популярные материалы. Для этого создайте модуль популярных материалов и поставте ему позицию pop_position, включите плугин Content - Load Module.

Код 404 страницы:

<table width=100% border=0 cellpadding="5" cellspacing="5">
<tr>
<td width="10%" valign="top"><img src="images/stories/404.gif"></td>
<td width="80%" valign="top">

<script type="text/javascript">
var strReferrer=document.referrer.toLowerCase();
var blnSearchReferral = false;
var blnInsiteReferral = false;
var str="";
var strSite = "";

if (strReferrer.length==0)
{

// Поиск по сайту и главная
document.write('Ссылки, по которой Вы пришли, нет');
str+='<p><a href="">Перейти на главную страницу<\/a><\/p>';
str+='<p>Поиск по сайту:<\/p>';
str+='<p> <form action="" method="post" class="search">';
str+='<input name="searchword" id="mod_search_searchword" maxlength="30" class="inputbox" type="text" size="20" value="поиск..." onblur="if(this.value==\'\') this.value=\'поиск...\'\;" onfocus="if(this.value==\'поиск...\') this.value=\'\'\;" \/>';
str+='<input type="hidden" name="option" value="com_search" \/>';
str+='<input type="hidden" name="task" value="search" \/>';
str+='<\/form><\/p>';
document.write(str);
}

if (strReferrer.length!=0)
{
if ((strReferrer.indexOf("yandex.ru")>0)||(strReferrer.indexOf("google.ru")>0)||
(strReferrer.indexOf("google.com")>0)||
(strReferrer.indexOf("yahoo.com")>0)||
(strReferrer.indexOf("find.ru")>0)||(strReferrer.indexOf("mail.ru")>0)||(strReferrer.indexOf("rambler.ru")>0)||(strReferrer.indexOf("nigma.ru")>0)||(strReferrer.indexOf("qip.ru")>0))
{
blnSearchReferral=true;
document.write('<p>Ссылки, по который вы пришли с поисковика, нет<\/p>');
//берем домен
var arrSite=strReferrer.split("/");
//ищем параметры
var arrParams=strReferrer.split("?");
var strSearchTerms = arrParams[1];
arrParams=strSearchTerms.split("&");
strSite=arrSite[2];
var sQryStr="";
//какие слова???
var arrQueryStrings = new Array();
arrQueryStrings[0]="q="; //google, mail.ru
arrQueryStrings[1]="p="; //yahoo
arrQueryStrings[2]="text="; // yandex.ru, find.ru
arrQueryStrings[3]="query="; //search.qip.ru
arrQueryStrings[4]="s="; //nigma.ru
arrQueryStrings[5]="btnG="; // nova.rambler.ru

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("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
strSearchTerms = strSearchTerms.replace("+", " ");
}
}
}
}

//Tell the visitor what site is at fault, what the
//search terms were
document.write ("<p>Найти <a href=/search/most-popular.html?searchphrase=any&searchword="+strSearchTerms + "><strong>"+decodeURI(strSearchTerms) +"<\/strong><\/a> на сайте");
}
</script>

<p>Популярные страницы:</p>
<p></p>

<hr>
<p><strong>Вы не можете перейти на эту страницу, потому что:</strong></p>
<ol type="1">
<li>Устарела закладка/избранное</li>
<li>Некоторые страницы сайта давно не переиндексировались поисковой системой</li>
<li>Ошибка при наборе адреса URL</li>
</ol>

</td>
<td width="10%" valign="top"><img src="images/stories/znak.gif"></td>
</tr>
</table>

 

You are here: Joomla! Дружелюбная 404 страница
Код для вставки на веб-страницы:
Код для вставки на форум: