Рейтинг@Mail.ru

Лучшая 404 страница с автопоиском для сайта или блога

Если посетители вашего сайта неправильно ввели URL, то по умолчанию им выводится сообщение о том что указанная страница не существует. И всё. Не слишком-то информативно! Особенно если страница на самом деле существует, но у нее просто изменился адрес. И все клики по старым линкам не приводят на нужную страницу, что плохо как для PR и тИЦ, так и для ссылок в социальных сетях, которые вы изменить не в состоянии.

Гораздо лучше предлагать пользователю страницы на сайте, используя введенный им адрес в качестве ключевых слов поиска. Для создания такой страницы, откройте шаблон 404.php и полностью очистите его. Теперь вставьте туда следюущий код:

<?
$search_term = substr($_SERVER['REQUEST_URI'],9);
$search_term = urldecode(stripslashes($search_term));
$search_url = 'http://ВАШДОМЕН.RU?s=';
$full_search_url = $search_url . $search_term;
$full_search_url = preg_replace('/ /', '%20', $full_search_url);
$full_search_url = preg_replace('/-/', '%20', $full_search_url);
$full_search_url = rtrim($full_search_url,"/");
$full_page = implode("", file($full_search_url));

print_r($full_page);
?>

Для того чтобы автопоиск заработал, нужно настроить его под ваш конкретный сайт. Прежде всего, необходить подкорректировать строку $search_term = substr: цифра в данном параметре обозначает, сколько символов после адреса нужно игнорировать. В данном примере будет проигнриваны девяь цифр после домена, т.е. дата публикации и слеши (/ГГГГ/ДД/).
Следующий важный параметр – это адрес строки поиска. Для WordPress это как правило ваш домен с символами ?s= в конце (http://ВАШДОМЕН.RU?s=). Узнать точный адрес можно просто поискав что-нибудь встреонным поиском вашей CMS.
Сохраняем страницу. Теперь, введя неправильный адрес, сайт будет автоматически искать нужную и выдавать результаты поиска посетителю.

Leave a Comment