ブログ初心者・WordPress・Web制作の情報サイト

XML Sitemapsの使い方 検索エンジンにサイトマップを自動送信する

XML Sitemapsの使い方 検索エンジンにサイトマップを自動送信する

XMLサイトマップの送信は、SEOにおいてとても重要です。

XMLサイトマップはサイト構造を検索エンジンに伝えて、クロールの効率を向上させます。

XMLサイトマップを送信するWordPressプラグインは数多くありますが、最もおすすめなのは「XML Sitemaps(Google XML Sitemaps Generator)」です。XML Sitemapsは導入するだけで自動でXMLサイトマップを送信してくれます。

XML Sitemapsの主な機能は次の通りです。

  • XMLサイトマップを出力してサイト構造を検索エンジンに伝える
  • 検索エンジンのページクロール効率を向上させる
  • 記事の投稿・更新を検索エンジンに伝える
  • サイトマップに出力するページを細かく設定できる

この記事ではXML Sitemapsで検索エンジンにXMLサイトマップを自動送信する方法を紹介します。

サイトを運営するならXMLサイトマップの送信は必須です

WordPressにもサイトマップの機能はあります。最低のサイトマップ機能ならこれで問題ありませんが、細かく設定するにはコードを書く必要があります。ping通知やnoindexの問題もあるので、ブログ初心者にはXML Sitemapsプラグインを使うことをおすすめします。

XML Sitemapsってどれのこと? (探し方)

XML Sitemaps

XMLサイトマップを送信するWordPressプラグインは大量にあります。

しかも名前が似ています。

WordPressのプラグイン検索画面で「XML Sitemaps」と検索しても検索しても、違うプラグインが大量にヒットするので見つけられないかもしれません。

インストールする際は上記画像を参考に探してください。

WordPressの管理画面でプラグイン > 新規追加 > 人気タブを開くと発見しやすいです。

有効インストール数の多さも目印になります。

XML Sitemapsの使い方

XML Sitemapsをインストールして有効化します。

あとは何もしなくても自動でサイトマップを送信してくれます。

サイトマップのURLは、http://ドメイン名/sitemap.xmlです。XMLサイトマップは動的に生成されるので、サーバー内を探してもファイルは見つかりません。

各種設定を行う場合、設定 > XML-Sitemap

XML Sitemapsの管理画面

サイトマップが送信されると「正しく通知されました」と表示されます。

XML Sitemapsのping通知

XML Sitemapsの基本的な設定

XML Sitemapsの基本的な設定

基本設定は特に変更する必要ありません

以下重要な箇所の説明です。

Notify Google about updates of your Blog
投稿を公開または更新するたびにGoogleにping通知を行います。インデックスへの反映が速くなりやすいです。

Notify Bing about updates of your Blog
上記と同様にBingに対して通知を行います。

Add sitemap URL to the virtual robots.txt file
仮想robots.txtにサイトマップのURLを追加します。ping通知をサポートしていない検索エンジン(Baidu・Yandexなど)がサイトマップを発見しやすくなります。

Include sitemap in HTML format
XMLだけでなく、HTMLフォーマットでもサイトマップを出力します。XMLを理解しない検索ボットに対して便利な設定です。

静的ページをXMLサイトマップに追加する

XML Sitemaps:静的ページをXMLサイトマップに追加する

Additional Pagesでは特定のページをXMLサイトマップに追加できます。

XML Sitemapsでは基本的にWordPressが生成する動的ページ(投稿や固定ページなど)をサイトマップに含めます。WordPressが関与していない静的ページはそのままではサイトマップに追加されません。

静的ページをサイトマップに追加したい場合は手動で設定してください。

新しいページの追加を押して次のように設定します。

  • ページURL:追加するページのURL
  • 優先順位:0.6に設定する
  • 更新頻度:毎日(検索エンジンは独自に判断するのであまり重要ではない)
  • 最終更新:ページの更新日(YYYY-MM-DD形式で入力)

優先順位は投稿・固定ページと同じ「0.6」に設定すればOKです。

XML Sitemaps:優先順位の設定

投稿の優先順位

投稿の優先順位(XML Sitemaps)

優先順位を自動的に計算しないにチェックを入れます。

これですべての投稿の優先度が「優先順位の設定(priotity)」で設定した値になります。

デフォルトではコメント数にチェックが入っています。コメントは使わない人もいると思うので「優先順位を自動計算しない」方がおすすめです。

Sitemap コンテンツ (サイトマップに出力するページの種類)

XML Sitemaps:Sitemap コンテンツ (サイトマップに出力するページの種類)

どのページをXMLサイトマップに出力するかの設定です。

デフォルトでは以下の3つにチェックが入っています。

  • ホームページ(トップページ)
  • 投稿
  • 固定ページ

カテゴリーページをサイトマップに含めるかどうかについて、

個人的には、カテゴリーページを独自に編集していない限り「含めないくていい」と思います。

投稿を羅列しているだけのカテゴリーページはほとんど価値を持っていません。Search Consoleで確認しても、アクセスどころかほとんど表示されていないことが多いです。また、価値がある場合はサイトマップに登録しなくてもGoogleはクロールしてくれます。

カテゴリーページについてはあまり気にする問題ではありません。

Excluded Items (ページの除外設定)

XML Sitemaps:Excluded Items (ページの除外設定)

Excluded Itemsではサイトマップに含めたくないページを指定できます。

カテゴリーごとの指定とページ単位の指定が可能です。削除予定の記事を「未分類」に集めて除外する等の目的で利用するのがおすすめです。

noindex指定した記事は必ず除外設定してください

noindexのついた記事をサイトマップに登録しているとSearch Consoleでエラーが起こります。

例えば、利用規約やプライバシーポリシーはnoindex指定することが多いです。固定ページをサイトマップに出力していると、これらの記事も登録されてしまいます。

カテゴリー除外や個別記事の除外設定を活用して除外しましょう。

個別記事を除外する場合は、投稿IDをカンマで区切って入力します。

WordPressのサイトマップを停止する

XML Sitemapsを利用するとWordPress側のサイトマップは不要になります。

サイトマップが2つ出力されるのでWordPress側を停止させます。

以下のコードをfunctions.phpに追加してください。functions.phpを変種する際の注意点

//WordPressのサイトマップを停止する
add_filter('wp_sitemaps_enabled', '__return_false');

Bingに通知されないエラーが起こる

XML Sitemapsが4.1.3にアップデートされてから、次のようなエラーが表示されてBingへの通知ができないようです。

There was a problem while notifying Bing.
There was a problem while notifying Bing.

エラーメッセージ

Warning: array_map(): Expected parameter 2 to be an array, string given in /.../wp-content/plugins/google-sitemap-generator/class-googlesitemapgeneratorui.php on line 452

Warning: array_map(): Expected parameter 2 to be an array, string given in /.../wp-content/plugins/google-sitemap-generator/class-googlesitemapgeneratorui.php on line 465

サイトはBing ウェブマスターツールに登録済みです。ウェブマスターツール側でサイトマップを再送信しても解決しませんでした。

プラグインの再インストールや設定リセットを試しても変わらず。

XML Sitemapsのアップデートに伴うバグだと思われるので、下手にさわらずに更新されるまで待ちましょう。

他にもバージョン4.13ではバグが多発しているようです。

検索エンジンのクロールを増やすには?

XMLサイトマップを送信する目的は「検索エンジンのクロールを効率化すること」です。

サイトの構造を伝えれば無駄なページのクロールは確実に減ります。「XMLサイトマップの送信はとても重要」と言われる理由は、検索エンジンのクロール数に影響を及ぼすからです。

しかし、いくらサイトマップを送信したからと言ってサーバーが遅ければ意味がありません。

サーバーが重ければ検索エンジンクロールの効率が低下して、クロール数自体が減少します

クロールの効率化を考えるのであれば、サーバーにも気を使うべきです。

重要なのは「速さ」ではなく「安定性」です。

参考:サーバーが重いと検索エンジンのクロールが減少する