Варто відвідувачеві неправильно набрати одну літеру у адресі матеріалу вашого блогу – як він отримає помилку 404 („сторінку не знайдено”). Помилка 404 – це відповідь сервера, коли йде запит до неіснуючого файла або сторінки.
Зрозуміла річ, що при потраплянні на таку сторінку користувач:
- повинен зрозуміти що трапилось і чому це трапилось;
- не повинен покинути ваш блог, не відшукавши рішення проблеми.
Першим і найлогічнішим кроком буде створення сторінки 404, яка повністю відповідатиме дизайнові вашого блогу і буде зрозумілою користувачеві.
Як створити сторінку 404 у WordPress
Зайдіть у файли своєї WordPress-теми і перевірте, чи є в ній файл із назвою 404.php. Його наявність – це хороша прикмета. Але навіть якщо такого файлу немає – не розчаровуйтесь. Адже по-суті файл 404 – це копія шаблону головної сторінки (page.php або index.php) вашого блогу з видаленим контентом. Тому просто скопіюйте один із цих файлів, назвіть його 404.php і видаліть з нього контентну складову (залиште хедер, сайдбар, футер та інші елементи загального дизайну).
Тепер можна помислити, як видозмінити сторінку 404 таким чином, щоб читачі, не знайшовши потрібного їм контенту (а саме через це люди й потрапляють на цю сторінку), не покинули ваш блог, а таки відшукали необхідну інформацію. До речі, навіть якщо у вашій темі є файл 404.php – можливо, ви захочете його трішечки видозмінити, щоб зробити зручнішим для користувача.
Що розмістити на сторінці 404
У кожному випадку рішення може бути різним. Але я схиляюся до максимальної орієнтованості на користувача. Людина, яка прийшла на ваш блог, повинна отримати те, що шукає. Навіть на 404-тій сторінці. Як на мене, вихід може полягати у розміщенні переліку архівних записів. Так ви пропонуєте відвідувачеві матеріали тієї тематики, яка його цікавить.
Щоб створити такий перелік, просто внесіть у необхідному місці файлу 404.php код:
<ul><?php get_archives('postbypost', 20); ?></ul>
Окрім переліку, можна розмістити інформацію про саму сторінку (чи, простіше кажучи, пояснити користувачеві, куди він потрапив і чому це могло статися).
А ось як виглядає сторінка 404 на “Українській блогосфері”:

Оце й усе. Користуйтесь на здоров’я!


Коментарів: 22
липня 15, 2008 @18:06
я уявлення не мала як зробити сторінку 404, тепер обов’язково перевірю чи вона у мене є і якщо нема – зроблю. дякую
липня 15, 2008 @18:12
немає за що. Для мене найбільша подяка, якщо хтось використовує ці поради за призначенням.
липня 15, 2008 @20:15
Але найважливіше, про що автор забув сказати, щоб при звертанні до цієї сторінки в заголовки http протоколу віддавався статус 404
Без цього є шанс потрапити в списки клоакерів в пошукові системи!!!!
липня 15, 2008 @20:15
header(“HTTP/1.0 404 Not Found”);
липня 15, 2008 @20:16
ех…
шкода, що не працює тег code в коментарях
липня 15, 2008 @20:20
ну в тебе на блозы все ок з цим
HTTP/1.0 404 Not Found
Date: Tue, 15 Jul 2008 18:19:57 GMT
Server: Apache/1.3.41 (Unix) PHP/5.2.5 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.8b
X-Powered-By: PHP/5.2.5
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
X-Pingback:
Last-Modified: Tue, 15 Jul 2008 18:19:58 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
липня 15, 2008 @20:24
я наскільки розумію, у WordPress за замовчуванням все налаштовано. Просто у деяких темах немає сторінки 404, яка була б стилізована під дизайн блога. Тому вище написано як таку створити (якщо немає) і як її можна налаштувати для зручності користувачів.
В будь-якому разі, думаю, комусь можуть бути корисні твої доповнення. Тому дякую за них!
липня 15, 2008 @20:31
саме про теми, в яких відсутня сторінка 404 і йдеться мова, бо швидше за все автор такої теми опустив кілька важливих питань і не вніс відсилання коректного заголовка.
Аналогічне питання варто висвітлити і сторінку 403… Скажімо карту сайта на таку сторінку викласти. Але знову не забути про заголовок
header(”HTTP/1.0 403 Access denied”);
липня 15, 2008 @20:34
Ага і ще одне…
Досить непоганим варіантом рахую редірект по 302 Moved Permanently
на скажымо хмарку тегів, або головну. Про це навіть в Ґуґл вебмайстрі десь згадувалось.
липня 15, 2008 @20:35
Автору дякую за статтю, сторінка 404 є, але все збираюсь її зробити більш інформативною, тому поради вчасні. Також спасибі podarok за доповнення
липня 16, 2008 @8:28
- чомусь не спрацювало
липня 16, 2008 @8:29
це про код для виводу архіву на сторінці
липня 16, 2008 @8:44
Якщо сама сторінка працює і інший текст виводиться (а не працює тільки код), то причиною можуть бути лапки навколо слова postbypost… Спробуйте у своєму коді видалити ці одинарні лапки і знову ввести їх з клавіатури при ввімкненій англійській розкладці.
P.S.: У самому коді, який розміщений у статті, я їх також уже виправив. Так що можете пробувати знову скопіювати цей код і вставити у файл!
липня 16, 2008 @8:47
Дуже дякую, Ярославе, помилка справді у лапках
липня 16, 2008 @9:39
Ще питаннячко. Як перевірити чи віддається в заголовки http протоколу статус 404 і якщо це не так – то як виправити?
липня 16, 2008 @9:56
Статус перевірити можна кількома методами
Я використовую naviscope як візуальний проксі сервер, але підозрюю, що розібратись з ним буде непросто одразу, тому підкажу інший метод
В файрфокса постав Live HTTP Headers плагін і з його допомогою можна проглянути видачу заголовків при відкритті неіснуючої сторінки
Якщо замість 404 віддається 200, тоді треба в відповідну сторінку вставити PHP код
header(”HTTP/1.0 404 Not Found”);
липня 16, 2008 @10:01
podarok, дякую за відповідь…
я ще знайшов один метод. Можна скористатися он-лайн сервісом be1.ru/stat
Просто вводиш адресу неіснуючої сторінки (яка повинна була б видавати статус 404) у адресний рядок сервісу і аналізуєш. Якщо все пройде без збоїв – то наприкінці звіту ти отримаєш статус: HTTP/1.1 404 Not Found
липня 16, 2008 @11:29
дякую за поради, скористався плагіном для ФФ. Таки статус був 200. Поставив код на сторінку, але тепер виникла проблема – пише, що не може змінити хедер, бо він вже встановлений All in one SEO Pack Як це можна вирішити?
липня 16, 2008 @11:32
Все, всім велике дякую – проблема вирішилась!
липня 17, 2008 @23:34
ой, а я вже давно її був налаштував. і в мене теж так написано
липня 18, 2008 @8:09
Знаю! Створюючи 404-ту сторінку, я орієнтувався на твій текст… А ще у тебе там дуже прикольна бульбашка
липня 30, 2008 @7:29
Ще один зручний сервіс для перевірки заголовків
Додати коментар