Google Search Console часто позначає помилки "soft 404" на сайтах Next.js, що може призвести до марнування краулінгового бюджету.

Що насправді таке soft 404

Справжня відповідь 404 надсилає HTTP-код статусу 404, повідомляючи браузерам і ботам, що запитуваний ресурс не існує. Soft 404, навпаки, повертає статус 200 OK, надаючи при цьому мало контенту або не надаючи його зовсім. Пошукові системи сприймають 200 як статус успішної сторінки, хоча вона не несе жодної цінності. Результатом є марнування циклів сканування та сигнал для Google про низьку якість контенту сайту.

Чому Next.js потрапляє в цю пастку

Динамічний роутинг Next.js дозволяє обслуговувати такі сторінки, як /products/[slug], без жорсткого кодування кожного URL. Коли товар зникає з бази даних, компонент все одно рендериться, і якщо код не перевіряє наявність даних, Next.js за замовчуванням відповідає 200 OK. Те саме стається, коли користувач помиляється в URL або коли старі маршрути залишаються після редизайну. Сторінка завантажується, але не пропонує жодного змістовного контенту, що викликає позначку soft 404 у Search Console.

Ризики для власників сайтів

  • Марнування краулінгового бюджету – Боти виділяють обмежену кількість запитів на сайт. Soft 404 поглинають цю квоту, залишаючи менше шансів для індексації реальних сторінок.
  • SEO-санкції – Повторювані soft 404 сигналізують пошуковим системам про низьку якість сайту.
  • Вплив на користувацький досвід – Відвідувачі, які потрапляють на порожню сторінку, миттєво покидають сайт, що підвищує показник відмов і негативно впливає на конверсію.

Як перетворити soft 404 на правильну 404

1. Використовуйте вбудований notFound хелпер

  • App Router – Імпортуйте notFound з next/navigation. Після отримання даних викликайте notFound(), якщо результат відсутній. Тоді Next.js надішле справжній статус 404.
  • Pages Router – Повертайте { notFound: true } з getStaticProps або getServerSideProps, якщо отримання даних завершилося невдачею. Це робить те саме для старішого API роутингу.

2. Розгорніть кастомну сторінку 404

Стандартна сторінка помилки залишає користувачів у розгубленості. Створіть app/not-found.js (App Router) або pages/404.js (Pages Router) із навігаційними посиланнями, рядком пошуку або пропозиціями пов'язаного контенту. Добре спроектована сторінка 404 утримує відвідувачів на сайті, замість того щоб відправляти їх одразу на вихід.

3. Очищуйте "сирітські" маршрути

Видаляйте статичні сторінки, які більше не мають сенсу. Якщо файл залишається, але його вміст порожній, додайте відповідь notFound або видаліть файл повністю. Регулярні аудити директорій pages або app допоможуть запобігти появі непрацюючих URL.

4. Налаштуйте постійні (301) редиректи для переміщеного контенту

Коли URL сторінки змінюється, редирект 301 повідомляє браузерам і ботам, що ресурс було переміщено назавжди. Додайте редиректи в next.config.js у ключі redirects. Це запобігає поверненню коду 200 без контенту для старого URL.

5. Моніторте сповіщення Search Console та реагуйте на них

Часто перевіряйте Google Search Console, щоб виявляти soft 404. Використовуйте автоматизований краулер, щоб виявляти нові помилки до того, як вони накопичаться. Сприймайте кожне сповіщення як сигнал для перевірки логіки отримання даних.

Підсумок

Сторінка, яка повертає 200 OK, не надаючи контенту, непомітно виснажує SEO-цінність. У Next.js динамічні маршрути та неперевірене отримання даних роблять soft 404 поширеними, але ви можете їх усунути. Використовуйте notFound, створіть корисну кастомну сторінку 404, видаляйте сирітські маршрути, налаштовуйте 301 редиректи та будьте пильними в Search Console, щоб захистити краулінговий бюджет, зберегти позиції в пошуку та утримувати відвідувачів на сайті.