Много забавных 404 страниц были недавно поделился: тщательно разработанные мемы, смешные GIF-даже странный интерактивную игру.Но если 404 не поможет своим посетителям, то что точка
Посетитель мог найти себе на 404 странице для одной из многих причин: пропущен адрес, плохой ссылку откуда-то еще, удаленный страницу или содержание, переехал в другом месте.В то время как вы можете предотвратить ошибки из переехали страниц с переадресовывает, вы не можете контролировать ошибки людей .
Быть Helpful
Люди участки на вашем сайте ищут его содержание, как правило, с помощью ссылки.Они нажали на эту ссылку, ожидая одну вещь, так почему показать им рисованной панда?Вместо этого, ваша страница 404 должны получить их туда, где они должны быть .
Эта проблема не является новой, и мы видели много идей о том, как справиться с этим.Показаны форму поиска или ссылки на главную страницу разумно.Тем не менее, те пассивные решения, которые не решают проблему посетителя.Более прямой подход будет угадать, где посетитель намеревался отправиться и предложить эту страницу .
Предлагая правильный Page
Один из способов, чтобы предложить нужную страницу, чтобы искать его самостоятельно и представить результат.К счастью, мы не должны написать поисковик, чтобы сделать это (хотя, если у вас есть один удобный, хорошо для вас!).Вместо этого, мы можем использовать __13 компании Google | Custom Search API 1 .
Google Custom Search в API является инструментом для поиска в пределах отдельного сайта.При настройке, она позволяет получить то, что он считает лучшим матч с вашего сайта.Это нужно поисковую фразу, хотя.Таким образом, чтобы дать Google что-то поиск с, мы будем использовать путь к URL, что пользователь находится в настоящее время на .
Оговоркой: Пределы Abound
Прежде чем прыгать в “как” часть, стоит отметить, что уровень свободного для этого API имеет ограничение в 100 звонков в день.Вы можете пойти свет на тестирование во время работы на нем.Мне удалось прожечь 100 звонков в менее чем за час, и я должен был проводной части это вместе, не видя результата до следующего дня .
В то время как кто-то с визитки может быть штраф с этого предела, платные обновления доступны.Документация по API от Google упоминает цена $ 5 за 1000 queries __34 | | 2__14 и до10000 запросов в день .
Настройка Up
Перед использованием пользовательских Search API, мы должны позволить Google знает, кто мы есть, и получить некоторые ключи доступа .
Поисковая ID
Мы должны пройти через несколько этапов, прежде чем мы можем летать через эти 100 запросов API.Во-первых, зарегистрировать свой сайт конкретных поисковый engine __10 | | 3__9 .
- Выберите “Добавить”.
- Хит “Создать”.
Ссылка введите веб-сайта (yoursite.com
|) __16 в “сайты для поиска.”
Теперь вы должны найти свой “Поисковая ID.” Нажмите кнопку “Изменить” на поисковой системе, что вы создали, затем кнопку “Search Engine ID”.Принять к сведению, что код
API Разработчикам Access
Затем перейдите к Разработчики Console 6 .
Если у вас еще нет проекта, выберите опцию “New Project” и заполните форму .
Под “API,” активировать “Пользовательские Search API”, переключая кнопку “Off” в положение “Вкл.” Затем выберите “Полномочия”, а затем “Создать новый ключ”, и выберите опцию “Браузер ключ”.Принять к сведению ключ API
JavaScript
Вооруженные как с поисковой ID и ключ API, теперь вы можете начать удара API.Код ниже требуется jQuery __79 | | 9__9 .Это делает некоторые AJAX JSON вещи, так что я бы предпочел опереться нарамки для того, чтобы она работает во всех браузерах .
. Перед созданием функции, мы должны рассмотреть условия, которые наш код будет работать, потому что мы пишем наличие на переднем конце, наш код может работать вместе с другими плагинами и скриптами.Итак, давайте строить мало места, чтобы отделить чисто наши функции от всего остального:
function createCustomSearch() {
// Private variables and methods here
}
В нашем customSearch
объекта, мы можем определить методы и переменные на безопасном расстоянии от глобального контекста.Во-первых, давайте настроить некоторые переменные, чтобы использовать позже:
function createCustomSearch() {
// Some private variables for this object
var context = this;
var dialog = document.querySelector('dialog');
// Your keys
var engineID = 'YOUR_ENGINE_ID';
var apiKey = 'YOUR_API_KEY';
}
Заменить ключи с тем, мы получили ранее .
Первоначально мы установим локальный контекст, сохраняя это в переменной.Мы будем использовать это, чтобы получить доступ к showDialog
метод .__ позже 0 |
Попытка A Search
Во-первых, мы добавим метод, который пытается пользовательский поиск:
function customSearchConstructor() {
// Some private variables for this object
var context = this;
var dialog = document.querySelector('dialog');
// Your keys
var engineID = 'YOUR_ENGINE_ID';
var apiKey = 'YOUR_API_KEY';
this.trySearch = function(phrase) {
var queryParams = {
cx: engineID,
key: apiKey,
num: 10,
q: phrase,
alt: 'JSON'
}
var API_URL = 'https://www.googleapis.com/customsearch/v1?';
// Send the request to the custom search API
$.getJSON(API_URL, queryParams, function(response) {
if (response.items && response.items.length) {
console.log(response.items[0].link);
}
});
};
}
Это trySearch
метод принимает фразу и отправляет его вместе с ключами в качестве запроса на API Google.Затем ответ проверяется, и первая ссылка, что он находит будут регистрироваться в консоли.Вы назвали бы это так:
var customSearch = new customSearchConstructor();
customSearch.trySearch('cat');
Предполагая, что ваш веб-сайт содержит страницы о кошках (а чья не?), Вы должны увидеть что-то вошли в консоли .
Получение Поиск Phrase
Далее мы напишем код, чтобы получить путь от URL страницы.Этот путь станет поиск фраза .
$(document).ready(function() {
var customSearch = new customSearchConstructor();
var path = window.location.pathname;
var phrase = decodeURIComponent(path.replace(/\/+/g, ' ').trim());
customSearch.trySearch(phrase);
});
В JQuery ready
Метод, мы забрать pathname
часть текущего URL и создать поисковую фразу из него.Мы декодировать URI, заменить любой косую черту с пробелами, и отправить результат в trySearch
Метод .
Замена строк с JavaScript
Одна удобная вещь, чтобы знать, как заменить глобальный регулярное выражение в JavaScript.Это один множество матчей, разделенных труб:
/\/+/g
Первый и последний косую черту (/
) должны там содержать выражение.В ней мы избежать обратной косой черты (\/
) так, чтобы она рассматривается как фактический характер.+
будут соответствовать все экземпляры нескольких косых черт, и g
затем говорит, чтобы заменить все вхождения в строке .
Показаны Redirect
В моей первой версии, у меня было страницы перенаправления немедленно.Это было весело, но не большой опыт для посетителя.Страница будет загружаться, мерцание и прыгать в другом месте .
Альтернативный подход заключается в представлении опцию в виде наложения и в качестве связующего звена, что посетитель может нажать.Таким образом, посетитель лучше понимает, что произошло, и видит ясный путь, чтобы продолжить.И они будут иметь возможность не предпринимать действий, если результат не устраивает .
Другое Approaches
Показаны единственный результат является одним из способов пойти об этом, но это будет стоить с учетом более чем в первый резуль …
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров