百度へのサイトマップ送信とAPIでのURL送信のやり方|Googleと違う注意点と、送ったあとの確かめ方
Google Search Console にはサイトマップを送ってあるのに、百度にも同じものを送ったらエラーになった。あるいは、送ったはずなのに中国語ページがなかなか収録されない。中国語サイトを公開したばかりの担当者からは、こうした声をよく聞きます。
百度にも、サイトマップやURLを送ってページを知らせる仕組みがあります。ただし、Google と同じつもりで設定すると、うまく処理されないことがあります。この記事では、百度搜索资源平台の「普通收录」でサイトマップとAPIを使ってURLを送る手順を、Google との違いに気をつけながら説明します。収録数の確かめ方は「百度の収録数(インデックス)を確認する方法」をご覧ください。
送信方法は3つ、目的で使い分ける
百度搜索资源平台の「普通收录」には、API提出、sitemap提出、手動提出の3つの送り方があります。どれも、百度のクローラーにページを見つけてもらうまでの時間を縮めるためのもので、送れば必ず収録されるわけではありません。
使い分けの考え方は次のとおりです。
- 新しく公開したページ:公開した時点でAPIから送る
- サイト全体のページ:サイトマップを登録しておき、定期的に読み込んでもらう
- 急いで知らせたい少数のページ:管理画面から手動で送る
更新の多いサイトならAPIとサイトマップの併用、ページ数が少なく更新もまれな会社案内のようなサイトなら、サイトマップと手動提出で十分なことが多いでしょう。百度搜索资源平台への登録がまだの場合は、「百度搜索资源平台の登録方法と使い方」から始めてください。
サイトマップで気をつける4つの点
百度に送るサイトマップは、形式そのものは Google と同じXMLが使えます。ただし、中国のCMSの解説では、百度には次のような決まりがあると紹介されています。
| 項目 | 百度 | |
|---|---|---|
| サイトマップ索引ファイル | 使えない。個別のサイトマップを直接送る | 使える |
| 1ファイルの上限 | 5万URL・10MB未満 | 5万URL・50MB(非圧縮) |
| 形式 | XMLのほか、URLを1行に1つ並べたtxtも可 | XML、RSS、txtなど |
| 置き場所 | サイトのルートディレクトリ | どこにでも置ける(ルートに置くことを推奨) |
1. サイトマップ索引ファイルは送らない
最も注意したいのがこの点です。複数のサイトマップをまとめる「サイトマップ索引ファイル(sitemap index)」は、Google では一般的に使われています。しかし百度は2020年7月の告知で、索引型のファイルは処理しないこと、しかもその中の子ファイルが送信の枠(配額)を消費することを案内しています。送ってしまった場合は削除するよう求めています。最近の解説でも、百度はサイトマップ索引ファイルに対応していないと紹介されています。
百度には、URLが並んだ個別のサイトマップを1つずつ登録しましょう。
2. 文字コード・URLの長さ・置き場所
ファイルは UTF-8 で保存します。1つのURLは256バイト以内とされています。また、百度ではサイトマップをサイトのルートディレクトリに置く必要があり、1ファイルは10MB未満に収めます。中国語の文字をそのままURLに使うと、エンコードされて長くなりやすいため、URLは英数字で短くまとめておくと安心です。
3. 送れるサイトマップの数には上限がある
登録できるサイトマップの数や、1日に新しく登録できる数には上限があり、サイトの規模によって変わると紹介されています。一般的なサイトでは登録できるのは200個前後、1日に新しく登録できるのは10個程度とする解説もあります。ページの種類ごとに細かく分けすぎず、更新の多いページをまとめたサイトマップを中心にしましょう。
4. 中国語のページだけを入れる
日本語・英語・中国語のページを1つのサイトマップに入れているサイトもあります。百度に送るのは、中国の検索ユーザーに見てほしいページです。中国語のページだけをまとめたサイトマップを別に用意しておくと、どのページを百度に知らせたのかを管理しやすくなります。
WordPressのサイトで気をつけること
WordPress 5.5 以降には、サイトマップを自動で作る機能があります。このとき /wp-sitemap.xml に作られるのは、サイトマップ索引ファイルです。実際のURLは、/wp-sitemap-posts-post-1.xml や /wp-sitemap-posts-page-1.xml のような子ファイルに入っています(ファイル名は /wp-sitemap.xml を開くと確認できます)。
つまり、Google と同じ感覚で /wp-sitemap.xml を百度に登録すると、前述のとおり処理されません。百度には子ファイルのURLを直接登録するか、百度向けのプラグインなどで個別のサイトマップを作りましょう。SEOプラグインによっては sitemap_index.xml のような索引ファイルを作るものもあるので、同じ注意が必要です。
APIでURLを送る
APIを使うと、ページを公開したタイミングでURLを自動で百度に送れます。百度搜索资源平台の「普通收录」の画面で、自社サイト用の送信先(site と token を含むURL)を確認できます。
送り方
送るURLを1行に1つずつ並べたテキストを、POSTで送ります。中国の技術記事で紹介されている形は次のとおりです(example.cn と xxxx は自社の値に置き換えます)。site= 以降は、管理画面に表示される送信先URLをそのまま使います(https のサイトでは https:// を含む形で表示されることがあります)。
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=https://www.example.cn&token=xxxx"
urls.txt には、送りたいURLを1行に1つずつ書きます。
返ってくる値
送信に成功すると、次のような値が返ってくると紹介されています。
| 項目 | 意味 |
|---|---|
| success | 送信に成功したURLの数 |
| remain | その日にあと送れるURLの数 |
| not_same_site | 登録したサイトのものではないため処理されなかったURLの一覧 |
| not_valid | 正しくないURLの一覧 |
失敗した場合は、error(エラーの番号)と message(内容)が返ります。not_same_site が出るときは、www の有無や http と https の違いで、登録したサイトと別のサイトとして扱われていないかを確かめましょう。
送るときの注意
tokenは自社サイト専用の鍵です。ブラウザで動くJavaScriptに書くと、誰でも見られてしまいます。送信はサーバー側の処理で行いましょう- 1日に送れる数には上限があり、残りは
remainで分かります。枠を無駄にしないよう、一度送ったURLは内容を更新したときだけ送り直しましょう - 送るのは、実際に公開されていて、正しく表示されるページだけにします。下書きやエラーページを送らないよう、公開処理のあとに送る仕組みにします
送ったあとに確かめること
送ったら終わりではありません。次の順に、百度がページを取得し、収録しているかを確かめます。
- 送信の結果:百度搜索资源平台の「普通收录」の画面で、サイトマップの状態やAPIで送った数を確認する
- 百度から見えているか:「抓取诊断」で、送ったページを百度のクローラーが取得できるかを確かめる。日本のサーバーからは表示できても、百度からは失敗することがある
- 収録されたか:数日から数週間おいて、「索引量」や
site:で収録の状況を見る
送り続けても収録が増えない場合は、送り方を変えるより、サイトの側を見直しましょう。robots.txt、サーバーの応答、内容の独自性などを見直す順番は「百度の収録数(インデックス)を確認する方法」で解説しています。
まとめ
- 百度の「普通收录」には、API・サイトマップ・手動の3つの送り方がある。送れば必ず収録されるわけではない
- 百度ではサイトマップ索引ファイルが処理されない。個別のサイトマップを直接登録する
- WordPress の
/wp-sitemap.xmlは索引ファイルなので、百度には子ファイルを登録する - APIは公開した時点で自動で送るのに向いている。
tokenはサーバー側で扱い、remainで残りの枠を確かめる - 送ったあとは、抓取诊断と索引量で、百度がページを取得・収録できているかを確かめる
SEOChinaでできること
SEOChina は、日本語で使える百度の順位チェックツールです。収録されたページが、狙ったキーワードで検索結果に出てきているかを毎日確かめられます。
- 登録したドメインとキーワードについて、百度PCの順位を毎日自動で記録します
- 順位は50位まで取得し、ランクインしたURLも記録するので、登録したキーワードで新しく公開したページが50位以内に表示され始めたかが分かります
- 期間を指定して推移を表やグラフで確認できます
Free プランは無料で、1ドメイン・日次順位監視10枠(履歴30日保存)から始められます。登録はこちらから行えます。
参考
- 百度搜索资源平台 搜索学堂「链接提交工具中不同提交方法的对比」: https://ziyuan.baidu.com/college/articleinfo?id=1107
- 腾讯云开发者社区「索引型sitemap是什么,索引型sitemap百度将不予处理」: https://cloud.tencent.com/developer/article/2161199
- UJCMS「Sitemap - 百度搜索引擎优化」: https://www.ujcms.com/articles/63304510210828801.html
- 腾讯云开发者社区「SEO工具脚本,Python百度普通收录API提交工具」(2020年、送信先URLの形式): https://cloud.tencent.com/developer/article/1684189
- techgrow(百度の普通收录APIのcurlでの送信例): https://techgrow.cn/posts/920b584b.html
- 林风网络「如何查询百度搜索资源平台API推送配额」(2024年、APIの返り値): https://www.linfengnet.com/python/python-seo/2259.html
- WordPress.org「New XML Sitemaps Functionality in WordPress 5.5」(2020年): https://make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5
- Google 検索セントラル「サイトマップの作成と送信」: https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap?hl=ja