Інструкція з кодів відповіді сервера
Щоразу, коли браузер або пошуковий бот звертається до сторінки, перше, що видає йому сервер — це код відповіді цієї сторінки. Цей код складається з трьох цифр і від нього залежить подальший алгоритм дій. Наприклад, якщо сервер видав код відповіді 200, то сторінка буде успішно відображена, якщо 301 — відбудеться перенаправлення тощо.
Роль кодів відповіді сервера в SEO
Коди відповіді сервера відіграють важливу роль у просуванні сайту. Якщо вчасно і коректно налаштувати код відповіді сервера, то пошуковий бот зможе швидко просканувати сторінку або виконати необхідні нам дії з нею.
Коди відповіді сервера допомагають нам при будь-яких змінах. При зміні адреси сторінки, при переході на безпечний протокол з’єднання, при зміні CMS. У всіх цих процесах за допомогою зміни коду відповіді сервера ми підказуємо пошуковому боту, що відбувається зі сторінками нашого сайту, щоб він коректно сприйняв ці зміни.
Як перевірити код відповіді сервера
У браузері Google Chrome для перевірки коду відповіді сторінки можна використовувати панель інструментів розробника, вкладку Network:

Перевірити код відповіді сервера також можна за допомогою спеціалізованих онлайн-сервісів, наприклад, httpstatus.io

За допомогою цього сервісу можна переглянути код відповіді не лише для вашого браузера, а й для різних пошукових ботів і браузерів. Часто це буває дуже корисно.

Для масової перевірки краще використовувати будь-який парсер. Наприклад, Screaming Frog SEO Spider. З його допомогою можна перевірити як увесь сайт, так і окремий перелік URL-адрес.
Які бувають коди відповіді сервера
Усі коди відповіді сервера поділені на класи стану. Кожна група характеризується певною спільною ознакою.
Усього виділяють п’ять груп кодів відповіді сервера:
- 1хх — інформаційні коди. Ці коди відповідають за інформацію про процес передачі даних. Повідомляють про успішне отримання запиту і те, що передача даних розпочалася.
- 2хх — успіх. Ці коди повідомляють про успішне прийняття і обробку запиту сервером.
- 3хх — перенаправлення. Ці коди повідомляють про те, що необхідно виконати додаткові дії для успішного виконання запиту, наприклад, зробити запит за іншим URI.
- 4хх — помилка клієнта. Ці коди повідомляють про те, що запит не може бути виконаний через помилку з боку клієнта.
- 5хх — помилка сервера. Ці коди повідомляють про те, що запит не може бути виконаний через помилку з боку сервера.
1хх коди відповіді сервера
100 Continue
Сервер відповів, що початковий запит прийнято, і він може продовжувати обробку заголовків від клієнта.
101 Switching Protocols
Сервер на вимогу клієнта переключив протокол на той, що вказаний у заголовку Upgrade. Сервер надсилає заголовок відповіді Upgrade, повідомляючи про протокол, на який відбулося переключення.
102 Processing
Сервер повідомляє, що запит прийнято, але для його обробки потрібен додатковий час. Надсилається з тією метою, щоб клієнт через тривале очікування не розривав з’єднання. Клієнт у відповідь на цей код повинен скинути таймер і чекати подальшої відповіді.
103 Early Hints
Цей код сервер видає для того, щоб клієнт отримав частину заголовків, поки сервер готує повну відповідь.
2хх коди відповіді сервера
200 OK
Сервер повідомляє, що запит оброблено успішно. Якщо відбувався запит якихось даних, то вони знаходяться в заголовку або тілі відповіді. Один із варіантів — сторінка успішно завантажена. Усі сторінки, які ви хочете бачити в індексі пошукової системи, повинні мати код відповіді сервера 200 OK.
201 Created
Цей код відповіді повідомляє, що в результаті успішного запиту був створений новий ресурс. Адреса або адреси створеного ресурсу вказуються в тілі відповіді або в заголовку Location. Також серверу рекомендується вказати характеристики ресурсу в тілі відповіді. Формат тіла відповіді визначається вмістом заголовка Content-Type. Новий ресурс має бути створений до того, як сервер надіслав відповідь клієнту, інакше буде використано наступний код.
202 Accepted
Запит клієнта прийнято в обробку, але потребує часу. Клієнт може не чекати остаточної передачі повідомлення.
203 Non-Authoritative Information
Цей код відповіді сервера аналогічний 200. Відмінність лише в тому, що інформація, яка передана за запитом, взята з вторинного джерела (інший сервер, резервна копія) і може бути неактуальною.
204 No Content
У відповіді відсутнє тіло повідомлення, але присутні заголовки (метадані). Клієнт може використовувати заголовки для оновлення кешованих заголовків, отриманих раніше.
205 Reset Content
Клієнт зобов’язаний скинути дані, введені користувачем. Документ оновлювати не потрібно, тіла повідомлення немає.
206 Partial Content
Серверу вдалося успішно обробити частковий запит, повернувши частину повідомлення. У заголовку Content-Range містяться байтові діапазони вмісту. Може використовуватися для того, щоб запустити завантаження, яке було поставлено на паузу.
207 Multi-Status
У відповіді міститься інформація одразу про кілька незалежних операцій.
3хх коди відповіді сервера
300 Multiple Choice
Ця відповідь надходить, якщо на запит доступно кілька відповідей. User-agent або користувач повинен обрати одну з відповідей.
301 Moved Permanently
Цей код відповіді сервера з’являється, коли ресурс назавжди і безповоротно змінив свою адресу. За допомогою цього коду вказується нова адреса сторінки, за якою тепер до неї потрібно звертатися.
Для SEO цей код відповіді сервера є одним із основних. Він дозволяє склеїти дзеркала сайту (наприклад, перехід на https), а також змінити адресу сторінки і вказати це пошуковій системі, щоб зберегти трафік і посилальну вагу.
302 Moved Temporarily
Документ тимчасово переміщено за іншою адресою.
Для SEO цей код корисний тим, що дає зрозуміти пошуковому боту, що необхідно враховувати старий URI, поки не надійдуть інші вказівки. Якщо ж нова адреса більше не зміниться, варто використовувати 301 Moved Permanently.
303 See Other
Цей код відповіді використовується для перенаправлення клієнта для отримання запитуваного ресурсу за іншим URI за допомогою методу GET.
304 Not Modified
Цей код відповіді сервера дозволяє суттєво знизити навантаження на сервер. Цей код варто видавати, коли дата останнього оновлення сторінки (Last-Modified) старша за дату в заголовку If-Modified-Since. Тобто, якщо документ не змінювався з вказаної дати, його не потрібно завантажувати повторно, і відбувається перенаправлення на кешовану копію.
305 Use Proxy
Запит до вказаного ресурсу може бути здійснений лише через проксі-сервер. Він указаний у полі Location. Клієнт повинен повторити запит через проксі.
307 Temporary Redirect
Код відповіді 307 за своєю суттю є аналогом 302. Ресурс тимчасово доступний за іншою адресою, але повернеться на стару. Відмінність лише в тому, що 307 не дозволяє змінити метод запиту з POST на GET.
308 Permanent Redirect
Така ж ситуація, що й із 307. Тільки 308 є аналогом 301 редиректу. Відмінність лише в тому, що цей редирект не дозволяє змінити метод запиту з POST на GET.
Докладніше з 3хх редиректами можете ознайомитися в нашій статті Гід по 3хх редиректам
4хх коди відповіді сервера
400 Bad Request
Сервер не може обробити запит через наявність у ньому помилки (сервер не розуміє запиту).
401 Unauthorized
Для отримання доступу до запитуваного ресурсу потрібна автентифікація. Клієнт повинен, грубо кажучи, представитися. У заголовку Authorization мають міститися необхідні дані. Якщо такого заголовка в запиті немає, його потрібно додати, якщо є, то введені дані не пройшли перевірку.
402 Payment Required
Код призначений для використання в платіжних системах. Наразі не використовується.
403 Forbidden
У клієнта немає прав для отримання або перегляду вмісту ресурсу.
404 Not Found
Найпоширеніший 4хх код відповіді сервера. Сервер зрозумів і прийняв запит, але не може знайти вказаний ресурс або вміст. Також важливо зазначити, що сторінка з інформацією про те, що ресурс недоступний, повинна видавати код відповіді сервера 404, а не 200 OK.
405 Method Not Allowed
Указаний у запиті метод не можна використовувати, тому що він був або заборонений, або деактивований. Сервер зобов’язаний указати доступні методи в заголовку Allow.
406 Not Acceptable
Цей код означає, що сервер прийняв і обробив запит, але відповідних за характеристиками документів не виявлено.
407 Proxy Authentication Required
Цей код відповіді сервера аналогічний коду 401, за винятком того, що автентифікація потрібна для проксі-сервера.
408 Request Timeout
Сервер обірвав невикористане з’єднання, оскільки тривалий час не отримував жодних запитів від клієнта. Цей код не повернеться, якщо клієнт самостійно перервав з’єднання або з’єднання перервалося з якихось інших причин, тому що відповідь уже неможливо надіслати.
409 Conflict
Сервер не може виконати запит через те, що він конфліктує з поточним станом сервера. Може з’являтися під час спільної роботи з файлами.
410 Gone
Для вебмайстрів є аналогом 404, якщо пошуковій системі потрібно вказати, що сторінка за цією адресою більше ніколи не буде доступна. За допомогою цього коду пошукова система краще розуміє, що сторінка більше ніколи не буде доступна, і швидше вилучить її з індексу. Якщо ж сторінка через деякий час з’явиться за цією адресою знову, то краще використовувати 404.
411 Length Required
У запиті має бути вказано значення заголовка Content-Length. Інакше запит не може бути виконаний. Може з’являтися, коли на сервері встановлено обмеження обсягу завантажуваного файлу. У запиті має бути вказаний його розмір, щоб не здійснювати запитів, які ні до чого не приведуть.
412 Precondition Failed
Запит не може бути оброблений успішно, оскільки в одному з його заголовків указана умова, яку сервер не може виконати.
413 Request Entity Too Large
Цей код повертається в тому випадку, якщо запит має занадто великий обсяг.
414 URI Too Long
Цей код повернеться, якщо URI занадто довгий і сервер не може його обробити. Може з’явитися, якщо URI містить занадто велику кількість параметрів.
415 Unsupported Media Type
Сервер не може виконати запит, оскільки запитаний формат даних ним не підтримується.
429 Too Many Requests
Клієнт надіслав занадто багато запитів за короткий проміжок часу. Може вказувати, що на сервер здійснюється DDoS-атака.
451 Unavailable For Legal Reasons
Доступ до вмісту закрито з юридичних причин, наприклад, за вимогою суду або через порушення авторських прав.
5хх коди відповіді сервера
500 Internal Server Error
Цей код означає, що сервер не може виконати запит через внутрішню помилку, яка не має позначення іншим кодом серед 5хх.
501 Not Implemented
Сервер не має можливості обробити запит. Найчастіше це відбувається через те, що в запиті вказано непідтримуваний метод. Якщо ж метод відомий, але не дозволений, то буде код відповіді 405.
502 Bad Gateway
Цей код відповіді сервера з’являється, якщо проміжний сервер, який виконує роль шлюзу між клієнтом і вищим сервером, отримав некоректну відповідь від останнього.
503 Service Unavailable
Сервер наразі недоступний і не може обробити запит. Зазвичай сервер недоступний у разі перезавантаження або технічних робіт. У відповіді може міститися заголовок Retry-After, де буде вказано, через який час слід звернутися до цього сервера знову.
504 Gateway Timeout
Час, необхідний для відповіді від вищого сервера проміжному, вичерпано. Шлюз не дочекався відповіді.
505 HTTP Version Not Supported
Указана в запиті версія HTTP-протоколу не підтримується сервером.
507 Insufficient Storage
Сервер видає цей код, якщо у нього закінчилося місце і обробити запит неможливо.
508 Loop Detected
Запит не буде виконаний, оскільки сервер виявив нескінченний цикл під час обробки.
511 Network Authentication Required
Цей код з’являється, якщо сервер-посередник, наприклад провайдер, вимагає авторизації в мережі. Наприклад, якщо доступ до Інтернету платний і потрібні логін і пароль для його використання. Передбачається, що з цим кодом має повертатися адреса форми для введення даних.
526 Invalid SSL Certificate
Цей код з’являється, коли не вдається підтвердити сертифікат шифрування веб-сервера.
Висновок
Як висновок пропонуємо визначити для себе, які коди відповіді сервера найчастіше необхідні та використовуються SEO-спеціалістами.
- Найголовніший — це 200 OK. Цей код мають видавати всі сторінки, які повинні бути в індексі пошукової системи.
- Якщо нам потрібно змінити URL якоїсь зі сторінок, то необхідно використовувати або 301, або 302 код відповіді сервера, залежно від ситуації.
- Якщо сторінку видалено, то необхідно використовувати 404 або 410, знову ж таки залежно від ситуації.
Грамотне використання кодів відповіді сервера дозволить налагодити швидку взаємодію між сайтом і пошуковою системою, що може позитивно позначитися на ефективності SEO.






