Редиректи та коди відповіді сервера: 301, 302, 404, 410

Блог_баннер_редиректы

Код відповіді сервера — це перше, що бачить пошуковий робот, коли звертається до сторінки. Від нього залежить, чи потрапить сторінка в індекс, яка адреса стане канонічною і чи не витратить робот бюджет сканування даремно.

Ця стаття вийшла у 2020 році. Ми переписали її повністю: виправили два твердження, які були неправильними, замінили поради під інтерфейси, яких уже немає, і додали те, чого бракувало, — офіційну позицію Google щодо постійних і тимчасових перенаправлень.


1. Класи кодів відповіді

Клас Що означає Що з цим робить пошук
2xx Запит успішний. Головний — 200 OK Сторінка обробляється й може потрапити в індекс
3xx Перенаправлення: вміст доступний за іншою адресою Робот іде за перенаправленням і вирішує, яку адресу вважати канонічною
4xx Помилка на боці клієнта. Основні — 404 і 410 Сторінка з часом випадає з індексу
5xx Помилка сервера Робот вважає це тимчасовим збоєм і повертається пізніше. Довгі 5xx уповільнюють сканування всього сайту

 

Окремо варто сказати про 304 Not Modified. Його часто зараховують до редиректів через цифру 3 на початку, але це не перенаправлення: код повідомляє, що сторінка не змінилася з минулого звернення й її можна взяти з кешу. Нікуди він не веде.


2. Постійні й тимчасові редиректи

Google ділить перенаправлення на дві групи, і ця різниця важливіша за конкретний номер коду.

Тип Коди й способи Як трактує Google
Постійні 301, 308, meta refresh із затримкою 0, HTTP refresh із затримкою 0, JavaScript location Сигнал, що канонічною має стати сторінка-ціль
Тимчасові 302, 303, 307, meta refresh із затримкою більше 0 Не є сигналом канонізації: канонічною залишається стара адреса

 

Це формулювання з офіційної документації Google, і воно розв’язує найпоширенішу плутанину в темі.

Два міфи, які варто прибрати з голови.

«302 не передає вагу сторінки». Передає. Google ще у 2016 році заявив, що втрати PageRank немає в жодного з кодів 30x. Різниця не у вазі, а в тому, яка адреса залишиться в індексі: при 302 це буде стара сторінка.

«Якщо 302 висить довше тижня, сайт потрапить під фільтр». Такого фільтра не існує. Довгий 302 Google з часом починає трактувати як постійний — але ви не керуєте моментом, коли це станеться, і до того часу в індексі лишається не та сторінка, яку ви хотіли.

Практичний висновок простий: тип редиректу обирають не за вагою, а за тим, яку адресу ви хочете бачити у видачі.

Ще про 308: він працює так само, як 301, і Google офіційно це підтвердив. Технічна різниця в тому, що 308 зберігає метод запиту — при перенаправленні POST залишається POST, тоді як 301 і 302 історично дозволяли браузеру замінити його на GET. Для звичайного сайту це ні на що не впливає; має значення для форм і API.


3. Який редирект ставити в якій ситуації

Ситуація Що ставити
Перехід на HTTPS 301 посторінково, з http-адреси на ту саму https
Вибір дзеркала: з www чи без 301 із другорядного варіанта на основний, теж посторінково
Змінився URL сторінки 301 на нову адресу
Переїзд на новий домен 301 посторінково. Не всі сторінки на головну — це типова помилка
Товар знято з виробництва, є заміна 301 на конкретну заміну. Якщо заміни немає — 404 або 410, не редирект
Сторінка на технічних роботах 503 з заголовком Retry-After, а не редирект
A/B-тест або тимчасова акційна сторінка 302: канонічною має лишитися основна сторінка
Регіональна версія за геолокацією 302, і обов’язково з можливістю перемкнутися вручну
Різні URL з тим самим вмістом Не редирект, а canonical — якщо обидві адреси мають лишатися доступними

 

Останній рядок — те, що плутають найчастіше. Редирект прибирає сторінку, canonical лишає її доступною для користувача й указує пошуку, яку версію індексувати.


4. Типові помилки з редиректами

  • Ланцюжки. Стара адреса веде на другу стару, та — на третю, і лише потім на живу сторінку. Кожен зайвий крок уповільнює сканування, а довгі ланцюжки робот може й не дійти до кінця. Правило: один перехід від старої адреси до кінцевої;
  • Цикли. A веде на B, B веде на A. Сторінка недоступна взагалі — ні для людей, ні для роботів;
  • Редирект на неіснуючу сторінку. Перенаправлення має вести на адресу, яка віддає 200. Редирект на 404 — гірше, ніж просто 404;
  • Усе на головну. При переїзді або чистці каталогу зручно перенаправити сотні адрес на головну сторінку. Для Google це виглядає як soft 404: вміст цілі не відповідає запиту, і сигнали не передаються;
  • Внутрішні посилання через редиректи. Якщо в меню й текстах лишилися старі адреси, кожен клік користувача й кожен обхід робота йде зайвим кроком. Після зміни URL посилання треба оновити в самому контенті — це обов’язковий крок будь-якої перебудови структури сайту;
  • Різнобій зі слешем. Частина адрес закінчується слешем, частина ні. Треба обрати один варіант і налаштувати 301 з другого;
  • Великі літери в URL. Для сервера /Tovar і /tovar — різні адреси. Потрібен 301 на варіант у нижньому регістрі;
  • Дубльовані слеші на кшталт /razdel////tovar — теж окрема адреса, яку варто зводити 301 на нормальну;
  • Редирект замість 404 для видаленого вмісту. Якщо заміни справді немає, чесний 404 кращий за перенаправлення кудись поблизу.

5. 404 і 410: видалені сторінки

404 Not Found — сторінки немає. Google поступово прибирає її з індексу, але ще певний час перевіряє, чи вона не повернулася.

410 Gone — сторінку видалено назавжди. Сигнал жорсткіший: робот припиняє звертатися швидше. Різниця в швидкості, не в результаті, тож 410 має сенс там, де ви точно знаєте, що вміст не повернеться.

Головне правило, яке порушують найчастіше. Сторінку 404 не треба «перенаправляти на сторінку 404». Правильно — віддавати вміст сторінки помилки за запитаною адресою зі статусом 404. Якщо замість цього стоїть 301 на /404, виходить ланцюжок «301 на сторінку, яка віддає 200», і пошук бачить не помилку, а звичайну сторінку.

Що має бути на сторінці помилки:

  • зрозуміле повідомлення, що адреси не існує;
  • посилання на головну й основні розділи;
  • пошук по сайту;
  • той самий дизайн і меню, що й на решті сайту.

Soft 404 — це коли сторінки фактично немає, а сервер відповідає 200. Класичні випадки: порожня категорія, картка знятого з продажу товару без вмісту, масове перенаправлення на головну. Google позначає такі сторінки окремо в Search Console; їх треба або наповнити, або віддати чесний 404.

Як шукати биті посилання: Screaming Frog, Netpeak Spider, Sitebulb, звіт «Індексування» в Search Console, для WordPress — плагін Broken Link Checker. Детальніше про сам процес — у матеріалі про биті посилання на сайті.


6. Як налаштувати

Apache — файл .htaccess у кореневій папці. Найпоширеніший спосіб. Посторінкове перенаправлення:

Redirect 301 /stara-storinka/ https://site.com/nova-storinka/

Перехід на HTTPS для всього сайту:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Nginx — у конфігурації сервера, директивою return 301. Файл .htaccess тут не працює взагалі, і це часта причина здивування: правила прописали, а нічого не змінилося.

WordPress — плагіном. Redirection веде статистику й ловить 404; у Yoast SEO Premium редиректи вбудовані й пропонуються автоматично при зміні URL.

OpenCart — через .htaccess або модулем менеджера редиректів.

Shopify — доступу до сервера немає, але є вбудований інструмент: Online Store – Navigation – URL Redirects. Платформа сама пропонує створити редирект, коли ви змінюєте адресу товару чи сторінки.

Joomla — компонент «Перенаправлення» в адмінці, там же видно биті посилання.

Незалежно від способу: після налаштування перевірте, що редирект віддає саме 301, а не 302, і веде на кінцеву адресу за один перехід. Частина плагінів за замовчуванням ставить тимчасове перенаправлення.


7. Як перевірити й скільки тримати

Перевірка. Для однієї адреси достатньо інструментів розробника в браузері: вкладка Network, колонка Status. Для сайту цілком — Screaming Frog, Netpeak Spider, Sitebulb: вони покажуть і ланцюжки, і цикли, і редиректи на 404. У Search Console стан адрес видно у звіті «Індексування».

Перевіряти варто не лише сам редирект, а й те, що канонічна адреса змінилася в індексі. Це займає час: після зміни URL Google має обійти старі сторінки й перенести сигнали, і на великому сайті це тижні, а не дні. Якщо нові адреси довго не з’являються в індексі, причина зазвичай не в редиректах — можливі варіанти розібрані в матеріалі про проблеми з індексацією.

Скільки тримати. Мінімум рік — це прямі слова представника Google. Рік рахується не від моменту налаштування, а від того, коли Google уперше просканував перенаправлення. Якщо є можливість, редиректи краще не знімати взагалі: старі адреси лишаються в закладках, листах і на чужих сайтах, і через п’ять років вони так само приводитимуть людей.


8. Коротко

  • Постійні перенаправлення (301, 308) — сигнал, що канонічною стає нова адреса. Тимчасові (302, 303, 307) таким сигналом не є.
  • Вагу передають усі коди 30x. Твердження «302 не передає вагу» й «за 302 буває фільтр» неправильні.
  • 304 — не редирект, а відповідь про те, що сторінка не змінилася.
  • Ланцюжки, цикли й редиректи на 404 шкодять більше, ніж їхня відсутність.
  • Перенаправлення всього підряд на головну Google трактує як soft 404.
  • Сторінку помилки не перенаправляють — її віддають за запитаною адресою зі статусом 404.
  • 410 прибирає сторінку з індексу швидше за 404, результат той самий.
  • Редиректи тримають щонайменше рік від першого сканування, а краще постійно.

Технічний стан сайту — коди відповіді, редиректи, індексація — ми перевіряємо в межах SEO-аудиту сайту, а виправляємо під час внутрішньої оптимізації.

Звертайтесь!

Отримайте більше користі

Ви отримаєте від нас найкращий контент, який допоможе вашому бізнесу зростати.
Ваш запит надіслано

    Підписатись

    Просувайтеся з нами — залиште заявку просто зараз

    Отримайте безкоштовну консультацію та оцінку просування бізнесу
    Ваш запит надіслано

      Надіслати