IndexNowで418URL送ってもBing検索で40本中0本だった──Webmaster APIで確認した記録
IndexNowのHTTP 200は公式ドキュメントの定義上「受け取った」以上の意味を持たない。当サイトはGoogleにインデックス済みの記事40本をタイトル完全一致でBing検索して0本しか拾えず、robots.txtは全許可(109バイト)・bingbotを名乗っても通常UAと同じHTTP 200・210,392バイトが返る状態だった。Bing Webmaster APIを叩くと、サイトマップは Status "Success"・424URLでクロール済みなのに GetPageStats/GetCrawlStats/GetQueryStats/GetRankAndTrafficStats は4つとも0行、GetLinkCounts は TotalPages 0・Links 空で、受理を数字で確認できたのは、送信後に残枠が `DailyQuota: 0` になったURL直接送信だけだった(2026年8月14日18時49分〜18時52分・日本時間に自分で取得)。
IndexNowがHTTP 200を返しても、それは「インデックスされた」ではない。IndexNow公式ドキュメントが「The HTTP 200 response code only indicates that the search engine has received your set of URLs.(HTTP 200のレスポンスコードは、検索エンジンがあなたのURL群を受け取ったことだけを示す)」と明記している。当サイトは2026年8月14日、Googleにインデックス済みの自社記事40本をタイトル完全一致でBingに検索して0本しか拾えず、原因を切り分けるためにBing Webmaster APIの読み取り専用メソッドを叩いた。返ってきたのは、サイトマップは Status: "Success"・424URLでクロール済みなのに、GetPageStats・GetCrawlStats・GetQueryStats・GetRankAndTrafficStats が4つとも0行、GetLinkCounts が TotalPages: 0・Links: [] という状態である。robots.txtは全許可(109バイト)で、bingbotのUser-Agentを名乗って記事を取得しても通常のUAと同じHTTP 200・210,392バイトが返るので、遮断でもrobotsでもない。そして受理を数字で確認できた唯一の経路は、送信枠を消費するURLの直接送信(SubmitUrlbatch・100URL・HTTP 200・送信後の残枠 DailyQuota: 0)だった。
- 「受理」には段階がある。 IndexNowのHTTP 200は公式定義上「受け取った」だけ。サイトマップは
GetFeedsがStatus: "Success"・UrlCount: 424を返すのでクロールまでは確認できる。送信後に残枠がDailyQuota: 0になるという形で受理を裏づけられたのはURL直接送信だけだった(100URL送信・HTTP 200/data/bing/submitted-2026-08-14.json。送信前が1日100件だったことは残枠からの逆算で、送信前の生の応答は保存していない)- Bing側の統計は全部0行だった。
GetPageStats/GetCrawlStats/GetQueryStats/GetRankAndTrafficStatsは4つともHTTP 200でdが空配列。GetLinkCountsはTotalPages: 0・Links: []=Bingが数えている被リンクは0(同じファイル)- 遮断・robots・UAでは説明が付かない。 robots.txtは
User-Agent: */Allow: /(HTTP 200・109バイト)、bingbotのUAで記事を取っても通常UAと同じHTTP 200・210,392バイト(2026年8月14日18時49分43〜45秒・curl)。ただしBing Webmaster側の登録もサイトマップ送信も同じ2026年8月14日で、統計が0行なのは「登録した当日だから」でも説明が付く。この2つを当サイトは切り分けていない
何を測ったのか
測ったのは3つある。①Bingの検索結果に記事が出るか ②Bing側がこのサイトをどう見ているか(Webmaster API) ③そもそもbingbotがページを取れるかである。①だけだと「スクレイピングが遮断されただけ」の可能性が残り、②だけだと「レポートがまだ生成されていないだけ」の可能性が残る。③はrobots.txtやUser-Agentでの締め出しを潰すために測った。
前提として、Google側の状態はこの日の全数検査で分かっている。2026年8月14日11時51分に全351記事をURL Inspection APIで検査した結果は、Submitted and indexed が100本(28.5%)、Discovered - currently not indexed が201本(57.3%)、URL is unknown to Google が48本(13.7%)、Duplicate が2本(0.6%)だった(data/gsc/full-inspect-2026-08-14.json)。Bingに投げた40本は、この「Googleにインデックス済み」の100本から抽出している。 Googleが受け入れた記事がBingに1本も無い、という比較にするためである。
① Bingの検索結果(記録:data/gsc/bing-coverage-2026-08-14.txt)
- 母集団:Googleで
Submitted and indexedの記事から40本を無作為抽出(seed 814) - 方法:記事タイトルの完全一致でBingを検索し、検索結果に自ドメインが出るかを見る
- 結果:0本 / 40本
- 対照群:ブランド名「AI時短ラボ」で検索したときのドメイン出現は6回。この対照群は実行の最後でも自サイトを拾えたので、検索側で遮断されていたわけではない
② Bing Webmaster API(記録:data/bing/webmaster-readonly-2026-08-14.json)
- エンドポイント:
https://ssl.bing.com/webmaster/api.svc/json/<メソッド名>?siteUrl=...&apikey=...(POX/JSON側) - 叩いたメソッド:
GetUrlSubmissionQuota/GetLinkCounts/GetPageStats/GetCrawlStats/GetQueryStats/GetFeeds/GetUrlStatistics/GetRankAndTrafficStatsの8つ。すべて読み取り専用で、書き込み系(SubmitUrl/SubmitUrlbatch/SubmitFeed等)は今回呼んでいない - 取得時刻:2026年8月14日18時52分17秒(日本時間)
- 再現方法:
python3 scripts/bing_readonly_probe.py
APIキーの扱いについて。Bing Webmaster ToolsのAPIキーはSettings → API Accessで発行するが、これは読み取り専用の鍵ではない。URLの送信・ブロック・disavowができる。当サイトのスクリプトは、キーを環境変数かパーミッション600のファイルから読み、値を画面にもログにも出さない。キーはクエリ文字列に載るため、リクエストURL自体も出力しない設計にしてある(本記事でも鍵の値と置き場所は書かない)。
③ robots.txtとbingbotのUser-Agent(2026年8月14日18時49分43〜45秒・curl 8.7.1 / macOS 15.1.1)
$ curl -s -w "\nHTTP %{http_code} size=%{size_download}\n" https://www.ai-jitan-hub.com/robots.txt
User-Agent: *
Allow: /
Host: https://www.ai-jitan-hub.com
Sitemap: https://www.ai-jitan-hub.com/sitemap.xml
HTTP 200 size=109
$ curl -s -o /dev/null -w "HTTP %{http_code} size=%{size_download}\n" \
-A "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" \
https://www.ai-jitan-hub.com/news/ai-glossary
HTTP 200 size=210392
同じURLを通常のUser-Agentで取得しても210,392バイトで同一だった。UAによる出し分けもしていない。
結果
Bing Webmaster APIの応答(2026年8月14日18時52分17秒・日本時間)
| メソッド | HTTP | 返ってきた中身 |
|---|---|---|
GetUrlSubmissionQuota |
200 | DailyQuota: 0 / MonthlyQuota: 1700 |
GetLinkCounts |
200 | Links: [] / TotalPages: 0 |
GetPageStats |
200 | d が空配列(0行) |
GetCrawlStats |
200 | d が空配列(0行) |
GetQueryStats |
200 | d が空配列(0行) |
GetRankAndTrafficStats |
200 | d が空配列(0行) |
GetFeeds |
200 | 1件(下の表) |
GetUrlStatistics |
404 | HTML(<title>Service</title>)=このエンドポイントに該当メソッドが無い |
GetFeeds が返した1件の中身は次のとおりである。
| フィールド | 値 |
|---|---|
Url |
https://www.ai-jitan-hub.com/sitemap.xml |
Type |
Sitemap |
Status |
Success |
UrlCount |
424 |
FileSize |
127,704 |
Submitted |
2026-08-14 15:27:41(JST) |
LastCrawled |
2026-08-14 15:27:41(JST) |
サイトマップは読まれている。424URLを認識し、Statusは Success である。それでもページ統計・クロール統計・クエリ統計・順位/トラフィック統計は全部0行だった。
3つの経路で「受理」がどこまで確認できるか
| 経路 | 返ってくるもの | 受理を数字で裏づけられるか |
|---|---|---|
| IndexNow | HTTP 200(応答本文は保存していない) | できない。 公式定義が「受け取った」だけ |
| サイトマップ | GetFeeds の Status: "Success" / UrlCount: 424 / LastCrawled |
クロールまでは確認できる。 インデックスされたかは別 |
URL直接送信(SubmitUrlbatch) |
HTTP 200 + 送信枠が減る | できる。 100URL送信後、残枠が DailyQuota: 0 / MonthlyQuota: 1700 になった |
直接送信の記録は data/bing/submitted-2026-08-14.json(2026年8月14日15時38分=ファイルの更新時刻。JSON内に時刻フィールドは無い)にある。送信したURLは100件、HTTPは200、送信後の残枠は1日0件・月1700件。送信件数が100で月の残りが1700なので、送信前は1日100件・月1800件だったことになる(これは残枠からの逆算で、送信前の値そのものをファイルに保存していない)。
同じ枠を3時間14分後の18時52分に叩いても DailyQuota: 0 のままだった。日次枠はこの間隔では戻っていない。
分かったこと/分からなかったこと
分かったこと
1. IndexNowの200は、公式の定義からして「届いた」以上の意味を持たない。 IndexNow公式ドキュメント(2026年8月14日18時58分13秒・日本時間に取得、28,555バイト)は、複数URL送信の項に次の文を置いている(単一URL送信の項にも同趣旨の文があるが、末尾は has received your URL. で、前半の文言も違う)。
A successful request will return an HTTP 200 response code; if you receive a different response, you should verify your request and if everything looks fine, resubmit your request. The HTTP 200 response code only indicates that the search engine has received your set of URLs.
(成功したリクエストはHTTP 200を返す。違う応答が返った場合はリクエストを確認し、問題が無ければ再送する。HTTP 200のレスポンスコードは、検索エンジンがあなたのURL群を受け取ったことだけを示す)
「200が返ったから通っている」は、公式文の後半を読み飛ばした読み方になる。
2. Bingが数えている被リンクは0だった。 GetLinkCounts の公式定義は「Get list of site pages which has inbound links(被リンクを持つサイトページの一覧を取得する)」で、公式のサンプルコードは linkCounts.TotalPages をページ送りの上限として使っている。当サイトの応答は TotalPages: 0 かつ Links: [] なので、Bingの集計上、被リンクを持つページが1つも無いという返答である。
3. 遮断・robots・UA・サイトマップ未送信では説明が付かない。 robots.txtは全許可、bingbotのUAでもHTTP 200・210,392バイト、サイトマップは Status: "Success" でクロール済み、IndexNowも直接送信も200。「送っていない」「読ませていない」が原因ではない。
4. 使っているAPI経路は17日後に廃止されると告知されている。 Bing Webmaster Toolsのヘルプページ(https://www.bing.com/webmasters/help/soap-pox-api-retirement-s0appox01 はHTTP 301で .../soap-pox-api-deprecation-s0appox01 に転送され、HTTP 200・125,562バイト。2026年8月14日18時58分24〜26秒・日本時間に取得)には、次の文字列が含まれている。
"SoapPoxDeprecationMessage":"Legacy SOAP and POX APIs will be retired on August 31, 2026. Migrate to our REST APIs to avoid service disruption."
(レガシーのSOAPおよびPOX APIは2026年8月31日に廃止される。サービス停止を避けるためRESTのAPIへ移行すること)
本記事の測定に使った https://ssl.bing.com/webmaster/api.svc/json はこのPOX/JSON側である。取得日から17日後に廃止されると告知されている経路の上に、この記事の数字は乗っている。
分からなかったこと
なぜBing検索で1本も拾えないのか、原因は特定できていない。 上の4点は「これが原因ではない」を潰しただけで、原因そのものは分かっていない。被リンク0と統計0行は同時に観測されたが、どちらがどちらを引き起こしたのかは切り分けていない。
統計が0行なのが「インデックスされていない」からなのか「レポートがまだ生成されていない」からなのかを分けられていない。 Bing Webmaster Toolsのヘルプページのリソース文字列には "NewUserDataPreparationMessage":"Your data and reports are being processed and it may take upto 48 hours to reflect. Meanwhile, to speed up the indexing process, please submit your sitemap by using the {0} feature."(データとレポートは処理中で、反映まで最大48時間かかる場合がある。その間、インデックス処理を速めるために{0}の機能でサイトマップを送信してほしい)という文言がある。当サイトのBing Webmaster側の登録もサイトマップ送信も同じ2026年8月14日で、48時間を経過していない。 統計が0行であることの説明として、この可能性を排除できていない。ただし①の検索結果0本/40本は、Bing Webmaster側の登録とは無関係に測っている。
RESTのAPIがどう叩けるのかは確定できていない。 https://api.bing.com/webmaster/api/v1/GetLinkCounts にキー無しでGETすると、2026年8月14日19時00分19秒(日本時間)時点でHTTP 400・198バイトが返り、本文は <h2>Our services aren't available right now</h2> という汎用のエラーページだった。これはゲートウェイ側の定型応答で、そのメソッドが存在するかどうかを示すものではない。 公式ドキュメントからRESTのメソッド名とパラメータ形状を確定できていないので、当サイトは推測で組み立てていない。
使ったスクリプト
| パス | 何をするか |
|---|---|
scripts/bing_readonly_probe.py |
本記事の②。読み取り専用メソッド8つを順に叩き、HTTPステータスと応答本文をそのまま data/bing/webmaster-readonly-YYYY-MM-DD.json に保存する。書き込み系メソッドは呼ばないので、何度実行しても状態が変わらない。キーは値を表示せず、apikeyがクエリに載るためリクエストURLも出力しない |
scripts/bing_submit_urls.py |
GetUrlSubmissionQuota で残枠を読み、優先順(当日公開 → Googleでインデックス済み → 残り)に並べて SubmitUrlbatch へ送る。--apply を付けない限り送信せず、対象の一覧だけを表示する |
scripts/bing_coverage.py |
記事URLを全数 GetUrlInfo にかけ、BingにあるURLと無いURLを分ける。--probe を付けるとPOX/JSONとRESTの両方に同じメソッドを投げ、どちらが生きているかを実際の応答で判定する |
scripts/indexnow_submit.py |
IndexNowへの送信。送信前に鍵ファイルが本番環境から引けるかを確認する(引けないと全件弾かれる)。冒頭に「Googleは参加していない」と明記してある |
scripts/gsc_full_inspect.py |
Google側の全数インデックス検査。出力は data/gsc/full-inspect-YYYY-MM-DD.json |
正直な但し書き
タイトルの「418URL」は当サイトの記録から引いた数字で、送信レスポンスのログが残っていない。 リポジトリ内の scripts/bing_coverage.py の冒頭に、2026年8月14日付で「IndexNow で418URLを送っているが、Bing側に入った形跡が無い」と書き残してある。IndexNow送信そのものの応答をファイルに保存する実装になっておらず、本記事の執筆時に再現・再測もしていない。この点はIndexNowにGoogleは参加していない件にも同じ但し書きを付けてある。本記事で数字として保証できるのは、data/bing/ と data/gsc/ に生の応答が残っているものだけである。
Bing検索の0本/40本は、標本40本の抜き取りである。 母集団は「Googleにインデックス済み」の100本で、サイト全体の351本ではない。また測定はSERPのHTMLを見る方法なので、当サイト自身がこの日、別件で「SERPのHTMLから外部リンク元は判別できない」という失敗をしている(data/gsc/backlinks-2026-08-14.txt)。SERP経由の測定は弱い指標である。 対照群が6回ドメインを拾えたことで「遮断されていない」までは言えるが、「Bingのインデックスに1本も無い」ことの証明にはならない。Bing Webmaster APIで記事URLを全数確認する経路(scripts/bing_coverage.py)はまだ走らせていない。
GetLinkCounts を page パラメータ無しで呼んでいる。 公式のJSONリクエストサンプルは ?siteUrl=...&page=0&apikey=... の形で page を含む。当サイトの呼び出しは siteUrl だけで、HTTP 200が返り TotalPages: 0 / Links: [] だった。省略時に0として扱われたのかどうかは確認していない。
GetUrlStatistics の404を「このエンドポイントに該当メソッドが無い」と読んだが、確定はしていない。 返ってきたのはWCFの汎用エラーページ(<title>Service</title>)で、メソッド名の誤りなのか、権限なのか、別の理由なのかは切り分けていない。
Bing公式の廃止告知は、ページのリソースJSON内の文字列として確認した。 このヘルプページはクライアント側でレンダリングされる作りで、取得したHTML(125,562バイト)の本文テキストには該当文が現れない。当サイトが確認したのは、HTMLに埋め込まれたローカライズ用JSONの SoapPoxDeprecationMessage キーの値である。画面上の表示位置や、他のページでの告知の有無は確認していない。
Bing側の登録が当日である点は、本記事の②全体に影響する。 「統計が0行」「被リンク0」の両方について、登録直後であることが理由である可能性を排除できていない。この記事は2026年8月14日1日分の観測で、経過を追った記録ではない。 48時間後・1週間後に同じ scripts/bing_readonly_probe.py を走らせて差分を見るまで、原因の断定はしない方針を取っている。
出典
- IndexNow - Documentation(2026年8月14日18時58分13秒 JSTに取得・28,555バイト): https://www.indexnow.org/documentation
- Bing Webmaster Tools - Help Documentation(2026年8月14日18時58分24〜26秒 JSTに取得・HTTP 301→200・125,562バイト): https://www.bing.com/webmasters/help/soap-pox-api-deprecation-s0appox01
- IWebmasterApi.GetLinkCounts(String, Int16) Method | Microsoft Learn(2026年8月14日確認): https://learn.microsoft.com/en-us/dotnet/api/microsoft.bing.webmaster.api.interfaces.iwebmasterapi.getlinkcounts
- IWebmasterApi.GetUrlSubmissionQuota(String) Method | Microsoft Learn(2026年8月14日確認): https://learn.microsoft.com/en-us/dotnet/api/microsoft.bing.webmaster.api.interfaces.iwebmasterapi.geturlsubmissionquota
- AI時短ラボ 実測ログ:
data/bing/webmaster-readonly-2026-08-14.json(18:52:17 JST)/data/bing/submitted-2026-08-14.json(15:38保存)/data/gsc/bing-coverage-2026-08-14.txt/data/gsc/backlinks-2026-08-14.txt/data/gsc/full-inspect-2026-08-14.json(11:51取得・351本)
出典・参照資料
AIニュースの解説を動画でも
YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。
コメント
まだコメントはありません。最初のコメントを書いてみませんか?
AIについて聞きたいことはありますか?
質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。
質問箱を見る →新しい記事をメールで受け取る
AIの新しい発表を、出典付きで整理して届けます。