Как создать свою страницу ошибка 404-file not nound?

Автор:
Nurlan Kemelbekov

Бывает так, что в какой-то момент мы удаляем содержание страницы или адрес с нашего веб сайта, и если этот url был уже связан с другим сайтом, то получим очередную «битую» ссылку, которая приводит посетителя на страницу ошибка 404 – страница не найдена.

Хотя не факт, что именно удаление или перемещение страницы могут быть причиной ошибки 404 – страница не найдена. Причины бывают разные, но итог один. Посетитель идет по этой ссылке и что он видит? Почти пустая страница с украшенной над ним “404 – Not Found”?

И хорошо, если человек отреагирует на это спокойно,  сам найдет выход из ситуации и, оставаясь на вашем сайте, будет продолжать поиск и чтение статей.

Но в большинстве случаев этого не происходит и потенциальный посетитель вашего сайта просто уходит раздраженный тем, что его ожидания не оправдались. Что же можно предпринять в данной ситуации, чтобы как-то удержать на сайте посетителя? Для этого нужно создать свою страницу ошибка 404, отличную от той, которая прописана по умолчанию в файле 404.php. И, если вы сможете представить взору человека не просто пустую, невзрачную картину с  непонятной для некоторых вывеской error 404-Not Found, а более информативную страницу ошибка 404 с предложениями дальнейших действий, то вероятность того, что посетитель согласится остаться на вашем сайте возрастет.

Функция поиска WordPress для страницы ошибка 404.

Для того, чтобы устранить эти ошибки и попытаться удержать посетителя мы можем превратить уродливое 404 Not Found в более дружелюбное сообщение и через функцию поиска WordPress на странице ошибка 404 — страница не найдена показать максимально близкое по термину сообщение.

Мы будем пытаться отобразить содержание близкое с тем, что посетитель ожидает увидеть и даже, возможно, найти содержание которое полностью совпадает. И если страница на блоге WordPress не найдена, то часть URI из доменного имени удаляется и подается функция поиска WordPress по подходящему термину. Если в результате поиска находится только один подходящий пост, то он и будет загружен. В противном случае весь перечень подходящих по термину ключевых слов загружается и отображается.

Установка очень проста. Просто скопируйте приведенный ниже код и вставьте его в самом начале файла 404.php.

<? php
$search_term = untrailingslashit( substr( $_SERVER['REQUEST_URI'], 1 ) );
$search_term = urldecode( stripslashes( $search_term ) );
$find = array( "'.html'", "'.+/'", "'[-/_]'" );
$replace = " ";
$search_term = trim( preg_replace( $find, $replace, $search_term ) );

// Sanitise the search term
global $wpdb;
$search_term_q = esc_js( $wpdb->escape( urlencode( strip_tags( $search_term ) ) ) );

$redirect_location = get_home_url().'?s='.$search_term_q.'&search_404=1';
get_header();
? >
<script type="text/javascript">
jQuery(document).ready(function($){
window.location.replace( "<?php echo $redirect_location; ?>" );
});
</script>

Если хотите выделить слова в результатах поиска откройте search.php файл, найдите функцию the_title () и замените его на echo $title;
Теперь, как раз перед модифицированной линии, добавьте этот код:

 $title = get_the_title();
$keys= explode(" ",$s);
$title = preg_replace('/('.implode('|', $keys) .')/iu',
'\0',
$title);
?>

Сохраните изменения в файле search.php и откройте style.css. Добавьте следующую строку к нему:

strong.search-excerpt { background: yellow; }

Если совсем ничего похожего нет, можно просто вывести последние записи блога.

На странице «Инструменты для веб-мастеров» можно найти скрипт для виджета 404, который также выводит дополнительную информацию с подсказками для поиска.

<script type="text/javascript">
  var GOOG_FIXURL_LANG = 'ru';
  var GOOG_FIXURL_SITE = 'http://www.example.com'
</script>
<script type="text/javascript"
  src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js">
</script>

Теперь слово за вами. Прошу написать свое мнение об этом в комментарии. Возможно, Вас также заинтересует статья Как исправить ошибку 404 на WordPress.



Вам также может понравиться:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Copy This Password *

* Type Or Paste Password Here *

9 − 3 =

Я просто хотел сказать, как сильно я ценю Ваш комментарий на мой пост. Спасибо Вам !!