Технічне SEO

IndexNow відповідав 200, а сторінок не подано: 6 файлів замість 867 адрес

З 2 серпня до 3 вересня 2026 наш скрипт IndexNow подавав у Bing шість адрес файлів карти сайту замість сторінок, і на кожну подачу приходило «успішно». Розбираємо, чому код 200 нічого не довів і як за 15 хвилин перевірити, що саме подає ваш модуль.

IndexNow — це протокол, через який сайт сам повідомляє пошуковим системам про нові й змінені сторінки: надсилає список адрес і отримує відповідь. Одна подача розходиться між усіма учасниками протоколу, серед яких Bing. Google IndexNow не використовує, тому для нього все це не працює взагалі — про це нижче окремо.

2 серпня 2026 ми додали в проєкт скрипт, який подає сторінки нашого сайту через IndexNow. 3 вересня 2026 з'ясувалось, що весь цей час він не подав жодної сторінки. І кожна подача виглядала успішною.

Що саме подавав скрипт

Скрипт робив просту річ: відкривав /sitemap.xml, вибирав усі адреси з тегів <loc> і надсилав їх в IndexNow.

Проблема в тому, що наш /sitemap.xml — не карта сторінок, а індекс карт. Усередині в нього не адреси сторінок, а посилання на інші файли: sitemap-pages.xml, sitemap-services.xml і ще чотири. Тож у Bing при кожному запуску їхало шість адрес, і всі шість були адресами XML-файлів.

Друга половина помилки: /sitemap.xml описує лише українську версію сайту. Англійська й російська мають власні індекси, /en/sitemap.xml і /ru/sitemap.xml, і всі три оголошені окремими рядками Sitemap: у robots.txt. Скрипт знав тільки про перший.

Чому ніхто не помітив

Бо IndexNow на кожну подачу відповідав кодом 200.

Документація протоколу на indexnow.org описує 200 як «URL submitted successfully» і окремо уточнює: цей код означає лише, що пошукова система отримала ваші адреси. Помилку протокол повертає в конкретних випадках: 400 на неправильний формат запиту, 403 на недійсний ключ, 422 на адреси чужого домену або ключ, що не відповідає схемі, 429 на надто часті подачі. Є ще 202: адреси отримано, ключ ще перевіряється.

Жоден із цих кодів не перевіряє, чи подана адреса є сторінкою. XML-файл карти — цілком коректна адреса на нашому домені, ключ дійсний, формат правильний. Отже, 200. Скрипт бачив 200, писав «подано», і причин дивитись глибше не було.

Це не особливість IndexNow. Так поводиться будь-яка точка прийому, яка валідує форму запиту, а не зміст: вона каже «запит прийнято», а ми читаємо «все зроблено як треба».

Скільки адрес мало бути

Коли 3 вересня 2026 ми виправили скрипт, він уперше порахував, що насправді є на сайті. Ось розклад на той день:

Джерело Адрес
/sitemap.xml (6 дочірніх карт) 355
/en/sitemap.xml 256
/ru/sitemap.xml 256
Разом унікальних 867

355 адрес українського індексу складалися з 11 основних сторінок, 6 сторінок послуг, 15 робіт портфоліо, 19 статей блогу, 257 сторінок мережі послуг і 47 сторінок інструментів.

Звідси видно, що це були дві окремі помилки. Якби скрипт навчився розкривати індекс, але й далі читав лише /sitemap.xml, він подавав би 355 адрес із 867, тобто трохи більше третини сайту. Англійська й російська версії лишились би поза подачею. На практиці не було й цього: подавались тільки шість файлів.

Скільки разів скрипт запускали між 2 серпня і 3 вересня, ми не рахували. Для висновку це й не важливо: кожен запуск давав той самий результат.

Як перевірити свій сайт за 15 хвилин

Якщо у вас стоїть модуль або плагін IndexNow для OpenCart, WordPress чи іншої платформи, ми не знаємо, чи має він таку саму помилку: жоден модуль ми не тестували. Але перевірити це можна без доступу до коду.

1. Знайдіть усі карти, які ви оголошуєте.

curl -s https://ваш-сайт.com.ua/robots.txt | grep -i '^sitemap:'

Рядків може бути кілька. У нас їх три, і скрипт знав про один.

2. Для кожної карти подивіться кореневий тег.

curl -s https://ваш-сайт.com.ua/sitemap.xml | grep -o -m1 '<sitemapindex\|<urlset'

<urlset> означає звичайну карту сторінок. <sitemapindex> означає індекс: адреси в ньому ведуть на інші XML-файли, а не на сторінки. Орієнтуйтесь на тег, а не на назву файлу: назва може бути будь-якою.

3. Порахуйте реальну кількість сторінок. Для індексу треба відкрити кожну дочірню карту:

for s in $(curl -s https://ваш-сайт.com.ua/robots.txt | grep -i '^sitemap:' | awk '{print $2}' | tr -d '\r'); do
  curl -s "$s" | grep -o '<loc>[^<]*' | sed 's/<loc>//'
done | sort -u > level1.txt

grep '\.xml$' level1.txt | while read child; do
  curl -s "$child" | grep -o '<loc>[^<]*' | sed 's/<loc>//'
done | sort -u > pages.txt

grep -vc '\.xml$' level1.txt; wc -l < pages.txt

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

4. Порівняйте з тим, що подає модуль. Відкрийте журнал модуля або статистику подач у розділі IndexNow в Bing Webmaster Tools. Якщо серед поданих адрес є такі, що закінчуються на .xml, — це саме наша помилка. Якщо подано помітно менше, ніж у кроці 3, модуль, імовірно, не бачить частини карт, найчастіше мовних.

5. Не шукайте цього в Google. Search Console про подачі IndexNow нічого не покаже, бо Google протокол не використовує. Для Google карти сайту подаються там окремо.

Якщо самі карти викликають сумнів — дублі, порожній файл, одна мова замість двох, — про це є окремий розбір карт сайту. Перевірити robots.txt і карту онлайн можна нашим безкоштовним інструментом.

Що ми змінили

Скрипт тепер відрізняє індекс від звичайної карти за кореневим тегом <sitemapindex> і розкриває індекси рекурсивно, не глибше трьох рівнів, щоб кільцеве посилання між картами не зациклило обхід. Джерел стало три: українська, англійська й російська карта.

Після виправлення 3 вересня 2026 скрипт подав 867 адрес із 867. Подача йде партіями по 500 адрес, тож вийшло дві партії, і обидві отримали 200. Цього разу 200 означав те, що ми хотіли, але знаємо ми це не з коду відповіді, а з того, що перед подачею перелічили, які саме адреси в ній лежать.

Того ж дня ми перейшли на ключ IndexNow, виданий самим Bing Webmaster Tools, щоб статистика подач у панелі Bing прив'язувалась саме до нього. Попередній, згенерований нами ключ лишили на сайті: подачі, зроблені раніше того дня, Bing міг перевіряти ще якийсь час, і без файлу ключа вони не пройшли б перевірку власності.

Чого це не виправило

Подача через IndexNow не означає індексації. Протокол лише повідомляє пошуковику, що адреса існує або змінилась, а брати її в індекс чи ні, вирішує він сам.

Ефекту від виправлення ми не міряли. Даних Bing Webmaster Tools до і після в нас немає, тож стверджувати, що сторінки після 3 вересня 2026 потрапили в Bing швидше, ми не можемо.

На Google це не вплинуло ніяк. Для нього індексація великого сайту — це карти в Search Console, внутрішні посилання і те, на що робот витрачає обхід. Про останнє ми писали в розборі куди витрачається обхід сайту, а для каталогів на тисячі позицій є окрема послуга з індексації великого каталогу.

Головне, що ми винесли: відповідь «прийнято» від будь-якої точки прийому перевіряє форму запиту, а не те, що в ньому лежить. Щоб знати, що подано, треба дивитись на сам перелік адрес.

Теги

SEOE-commerce

Вам сподобалась стаття?

Ваша думка допомагає нам створювати кращий контент

Поділіться з друзями

Знайшли щось корисне?

Допоможіть іншим дізнатись про це — поділіться статтею в соціальних мережах

Дякуємо, що допомагаєте нам рости

Засновник LIONEX

Владислав Чистяков

Пише про те, що робить руками: інтернет-магазини на OpenCart, застосунки на Next.js, інтеграції та швидкість сайтів. У статтях — заміри й перевірки, які читач може повторити на своєму проєкті, а не загальні поради. Комерційна розробка з 2015 року.

Питання

Часті запитання

Відповіді на популярні питання по темі

Чи допоможе IndexNow швидше потрапити в Google?

Ні. Google IndexNow не використовує, тому для нього лишаються карта сайту в Search Console і ручний запит на індексацію. IndexNow приймають Bing і ще кілька пошукових систем, і подана адреса розходиться між усіма учасниками протоколу.

Що означає відповідь 200 від IndexNow?

Що запит складено коректно й адреси прийнято. Помилки протокол повертає на неправильний формат, недійсний ключ, чужий домен або надто часті подачі. Перевіряти, чи подані адреси є сторінками, а не файлами карти сайту, він не зобов'язаний, тому 200 не доводить, що ви подали те, що хотіли.

Як зрозуміти, що мій /sitemap.xml — це індекс карт?

Відкрийте його й подивіться на кореневий тег. Якщо там <sitemapindex>, файл містить посилання на інші карти, а не на сторінки. Якщо <urlset> — це звичайна карта сторінок. Орієнтуйтесь на тег, а не на назву файлу.

Мій модуль IndexNow для OpenCart чи WordPress має таку саму помилку?

Ми цього не знаємо: жоден модуль ми не тестували. Перевірте самі: порахуйте адреси в усіх картах, оголошених у robots.txt, і порівняйте з тим, що показує журнал модуля або статистика подач у Bing Webmaster Tools. Адреси на .xml серед поданих — ознака саме цієї помилки.

Чи гарантує подача через IndexNow, що сторінку проіндексують?

Ні. IndexNow лише повідомляє пошуковику про адресу, а рішення, чи брати її в індекс, лишається за ним. Ефекту від виправлення подачі ми не міряли: даних Bing Webmaster Tools до і після в нас немає.

Отримуйте найкращі статті на пошту

Підпишіться на нашу розсилку та отримуйте корисні поради, інсайти та новини про веб-розробку, маркетинг та бізнес.

Ми поважаємо вашу приватність. Відписатись можна в будь-який момент.

Далі в блозі

Схожі статті

Одна літера в адресі: 76 перейменованих сторінок і шість днів 404Технічне SEO

Одна літера в адресі: 76 перейменованих сторінок і шість днів 404

19 серпня 2026 року ми перегенерували 76 російських адрес, бо в межах одного шляху співіснували дві транслітерації, — і майже шість днів старі адреси відповідали 404, бо механізм переїзду шукав сторінку лише за українським slug'ом. Через п'ять тижнів 12 старих адрес досі у видачі, а на юридичній сторінці сума за місяць і тижневі дані кажуть різне. Розповідаємо, чого з цього не випливає і як перевірити свій сайт.

Читати далі
Ми втратили власний магазин разом із доменом: що про це знає веб-архівТехнічне SEO

Ми втратили власний магазин разом із доменом: що про це знає веб-архів

17 вересня 2026 ми перерахували за веб-архівом, як виглядала втрата власного магазину разом із доменом: 2 378 знімків головної в березні 2022, перший 301 першого квітня, останній знімок нашого вмісту 18 травня. Показуємо, що з архіву відновлюється, а що ні.

Читати далі
Перший екран стрибає: як ми шукали зсув від шрифту і що не спрацювалоШвидкодія сайту

Перший екран стрибає: як ми шукали зсув від шрифту і що не спрацювало

17.08.2026 аудит показав CLS 0,2283 на десктопній головній нашого сайту. Причиною виявився шрифт: одиниця ch в абзаці й нахилена декоративна смуга. Розбираємо, які поради виміряно не допомогли, що дало 0,0056 і як перевірити свій сайт.

Читати далі