Перейти до вмісту
← Усі статті Soft 404: що це за помилка і як її виправити

Soft 404: що це за помилка і як її виправити

Сторінка відповідає 200, а виглядає як «нічого не знайдено». Чому краул такого не знаходить, звідки це береться в SPA і що віддавати замість.

Soft 404 — це сторінка, яка каже відвідувачу «нічого не знайдено», а серверу — «все гаразд». Search Console визначає це як запит, який «повертає зрозуміле користувачеві повідомлення “не знайдено”, але не код відповіді 404». Уся справа в розходженні: статус каже, що сторінка є, вміст — що її немає, і Google доводиться вирішувати, чому вірити.

Через це soft 404 — єдина проблема індексації, яку не знайде краул. Будь-який інший статус видно в колонці кодів: 403 для Googlebot, 404, ланцюжок редиректів. Soft 404 відповідає 200, тому обхід сайту — зокрема нашим сканером — покаже здорову сторінку. Сигнал у вмісті, а не в заголовку відповіді.

Як Google вирішує, що це soft 404

Правило записано в документації з обходу, у рядку про 2xx: Google бере контент в обробку, і «Якщо контент виглядає для Google Пошуку як помилка, порожня сторінка або повідомлення про помилку, Search Console покаже помилку soft 404». Там само — та частина, яку зазвичай пропускають: «Для Google Пошуку код 2xx не гарантує індексування».

Тобто ні списку заборонених фраз, ні опублікованого порога немає. Задокументовано напрям оцінки: контент, який читається як помилка або в якому нічого немає, вважається помилкою незалежно від того, що сказав заголовок. Звідси й рекомендація самої Search Console: «Для справді відсутніх сторінок радимо повертати код 404 і додати на сторінку більше інформації, щоб ми зрозуміли, що це не soft 404».

Звідки беруться soft 404

СторінкаЧому читається як помилка
Порожня категорія або комбінація фільтрівШаблон відмалювався, список порожній. Для читача і для Google у сторінки немає предмета.
Товар закінчився, але сторінка лишиласяПішли ціна, опис і кнопка купівлі — лишилося повідомлення.
Внутрішній пошук без результатів«За вашим запитом нічого не знайдено» — це буквально повідомлення про помилку з кодом 200.
Видалена сторінка з редиректом на головнуПитали конкретне, відповіли іншою сторінкою. За вихідним URL і далі нічого немає.
SPA, яке не дочекалося данихОболонка відмалювалася, контент не прийшов, а 200 було віддано до того, як це з'ясувалося.
Застаріле оголошення, подія, що минула, закрита вакансіяСторінка живе з одним рядком про те, що все закінчилося.

Зараз головне джерело — односторінкові застосунки

Клієнтський роутинг не може виставити код відповіді: статус визначився, коли віддавали оболонку. Google пише про це прямо і називає дві стратегії, щоб уникнути помилок soft 404 в односторінкових застосунках:

  • редирект на JavaScript на URL, для якого сервер відповідає 404 — наприклад /not-found;
  • додавання <meta name="robots" content="noindex"> на сторінки помилок засобами JavaScript.

Там само пояснено, чому проблема виникає взагалі: «Усі сторінки з кодом 200 надсилаються в чергу на відтворення незалежно від того, чи є на сторінці JavaScript». Оболонка отримує свій 200 задовго до того, як стане відомо, чи є дані.

Як їх знайти

  1. Починати із Search Console, бо знає тільки вона. У звіті про індексування є статус із точною назвою «Сторінка з кодом soft 404». Наш інструмент проблем індексації групує такі URL, щоб було видно: це один шаблон, одна папка чи весь каталог.
  2. Подивитися на сторінку так, як її відмалював Google. Рекомендація Search Console — запустити живу перевірку URL і відкрити «Переглянути перевірену сторінку» зі скриншотом. Порожній блок там, де у браузері товари, і є відповідь.
  3. Перевірити, що на сторінці після відтворення. Якщо весь текст — заголовок і одне речення, він прочитається як помилка незалежно від намірів. Аналізатор сторінки показує, що на ній фактично є.
  4. Відстежити ті, що ще приносять кліки. У частини soft 404 є трафік і вхідні посилання. Органічні 404 знаходять URL, які отримують пошуковий трафік і при цьому відповідають як помилка, — таким потрібен редирект, а не видалення.

Що віддавати замість

Лагодження залежить від того, чому сторінка порожня, а не від того, що зручніше.

СитуаціяПравильна відповідь
Сторінки справді немає404, а якщо точно не повернеться — 410. Рекомендація Google для реально відсутніх сторінок пряма.
Контент переїхав301 на сторінку, яка відповідає на той самий запит, а не на головну.
Товар тимчасово закінчивсяЗалишити 200, залишити опис і характеристики, написати, коли повернеться. У сторінки лишається предмет.
Категорія порожня, але розділ існуєЗалишити 200 і додати зміст: опис, суміжні категорії, сусідні фільтри. Або закрити noindex, поки порожньо.
Результати внутрішнього пошукуЗакрити в robots.txt. Їх узагалі не треба обходити.
Стан помилки в SPAОдна з двох задокументованих стратегій вище: редирект на реальний 404-URL або noindex, доданий на JavaScript.

Решта рішень щодо кодів відповіді, зокрема випадки, коли 410 кращий за 404, зібрані в нашому довіднику HTTP-статусів.

Що зміниться після виправлення

Сторінка, яка почала відповідати 404, іде з індексу — у цьому й сенс. Чекайте, що число у статусі «soft 404» впаде, а в «Не знайдено (404)» зросте: це працює полагодження, а не нова проблема. Сторінки, які ви натомість наповнили змістом, лишаються на 200, і їх потрібно переобійти й переоцінити — строків на це Google не публікує. Стежити варто за одним: якщо число soft 404 не зрушило взагалі, зазвичай це означає, що шаблон полагодили на одній сторінці й не полагодили на сотні інших, зібраних із нього.

FAQ до статті

Короткі відповіді на часті питання за темою статті.

Що таке soft 404?
Сторінка, яка повертає успішний код відповіді й при цьому показує повідомлення «не знайдено». Search Console описує це як запит, що повертає зрозуміле користувачеві повідомлення про відсутність сторінки, але не код 404.
Чи шкодить soft 404 просуванню?
Сторінку не буде проіндексовано, а обхід витрачається на URL, які ні на що не відповідають. Код 2xx індексування не гарантує — Google каже про це прямо, — тож успішний статус тут нічого не дає.
Чому краулер не знаходить soft 404?
Бо сервер відповідає 200. Перевірки за статусами, зокрема обхід сайту, бачать здорову сторінку. Сигнал у вмісті, тому працюють звіт про індексування і жива перевірка відтворення.
Як виправити soft 404 в односторінковому застосунку?
Google документує два варіанти: редирект на JavaScript на URL, який сервер віддає з кодом 404, або додавання мета-тега robots noindex у стан помилки засобами JavaScript.
Чи можна редиректити soft 404 на головну?
Ні. Питали конкретну сторінку, а головна на цей запит не відповідає. Редирект потрібен на сторінку з тієї самої теми — або віддавайте 404 і відпускайте URL.
Товар закінчився і став soft 404 — видаляти сторінку?
Не потрібно, якщо товар повернеться. Залиште опис, характеристики й фотографії та напишіть, що сталося. Сторінка стає soft 404 лише тоді, коли її вміст читається як повідомлення про помилку.