プラグインを使わずにWordPressのXMLサイトマップを作成する方法

プラグインを使わずにWordPressのXMLサイトマップを作成する方法

プラグインを使わずにWordPressのXMLサイトマップを作成する方法を知りたいですか?

XMLサイトマップは、サイト上のページ、ビデオ、その他のファイル、およびそれらの間の関係に関する情報を提供するファイルです。つまり、XMLサイトマップは検索エンジンのために作られたものであり、人間のために作られたものではありません。

XMLサイトマップの作成はプラグインを使う方がはるかに簡単ですが、ユーザーによっては自分で作成することを好み、プラグインを使うとサイトが遅くなると心配する人もいます。

プラグインを使わずにWordPressでXMLサイトマップを作成する方法を見てみましょう。また、サイトマップを使用するメリットや、より良い作成方法もご紹介します。

このXMLサイトマップチュートリアルをナビゲートするために、以下の目次をご利用ください:

XMLサイトマップを使用するメリット

サイトマップを使うことには多くのメリットがあります。サイトマップが直接検索エンジンの順位を上げるわけではありませんが、検索エンジンがあなたのウェブサイトをより良くクロールできるようになります。

つまり、より多くのコンテンツを見つけ、検索結果に表示させることができる。

サイトマップがないと、検索エンジンのボットはリンクをたどることでしかあなたのすべてのページを見つけることができず、投稿コンテンツや動画、アーカイブページなどは見つけることができません。

そのためには、WordPressでウェブサイトを立ち上げたら、検索エンジンがコンテンツを発見し、インデックスし、クロールできるように、サイトマップを必ず作成する必要がある。

とはいえ、WordPressサイトでXMLサイトマップを使うメリットはいくつかあります:

  • 検索エンジンにコンテンツに関する情報を提供 - XMLサイトマップは、サイトの各ページに関する情報(作成日や最終更新日、サイト内の他のページとの相対的な重要度など)を提供します。
  • 検索エンジンが新しいページを発見するのを助ける- 検索エンジンに新しいページや新しいブログ記事を公開したことを知らせます。
  • ページとクロールの優先度の向上- ウェブサイト上のページの相対的な優先度を変更します。例えば、サイトマップにどのページが最も重要かを示すタグを追加することができ、ボットはこれらの優先順位の高いページを重点的にクロールします。
  • ウェブサイトのURLのリスト- ウェブサイトのすべてのURLのリストを提出することができます。サイトマップを提出しないと検索エンジンに見つからないURLもあるため、これは有益です。 

サイトマップが必要なウェブサイトの種類を見ていきましょう。

どのようなウェブサイトにサイトマップが必要か?

プラグインを使わないWordPress XMLサイトマップ

グーグルによると、ほとんどのウェブサイトはサイトマップを持つことで恩恵を受けるという。

特に以下のような場合に役立つ:

  • 大規模サイト
  • 外部リンクの少ない新しいサイト 
  • 適切にリンクされていないコンテンツが多いサイト
  • メディア・コンテンツの多いサイト

もうお分かりだろうが、大半のサイトはサイトマップを使うべきだ。XMLサイトマップがなければ、あなたのコンテンツが検索エンジンに表示されたり、検索エンジンから削除されたりするのに時間がかかる。

WordPressが基本的なサイトマップを自動生成

その前に、WordPress 5.5とそれ以降のバージョンでは、WordPressが自動的にサイトマップを生成することを明確にしておく必要がある。このバージョンでは、基本的なXMLサイトマップ機能をWordPressコアに追加する機能が導入された。

その結果、WordPressのサイトマップは非常に基本的なものとなり、インデックスが設定されていない可能性のあるものも含まれるため、サイト上でエラーが発生する可能性がある。

詳しくは、WordPressのサイトマップを使うべきか、自分で作るべきかについての記事をご覧ください。  

XMLサイトマップはプラグインで作成するのがベストか、プラグインなしで作成するのがベストか?

プラグインを使わずにWordPressのXMLサイトマップを作成する方法

プラグインは、WordPressサイトに新しい機能を追加するWordPressの重要な機能です。しかし、多くのユーザーは、サイトで使用するプラグインは少ないほど良いと考えていますが、必ずしもそうとは限りません。

確かに、ひどくコーディングされたプラグインは、サイトを肥大化させ、速度を低下させる可能性がある。しかし、よくできた軽量のプラグインは、悪い影響を与えることなく、物事を単純化し、多くの時間を節約することができる。

実際、WordPressサイトのプラグインの数は、サイトのスピードやパフォーマンスとほとんど直接的な相関関係はありません。インストールされているプラグインの質がすべてなのです。プラグインがサイトの速度にどのように影響するかについては、こちらをご覧ください。

本題に入る前に、なぜプラグインを使わずにWordPressのXMLサイトマップを作成することがあなたのサイトにとって最良の選択ではないのかを見てみましょう。

  • 難しく、時間がかかる - SEOプラグインを使わずにサイトマップを作成するのは難しく、余分な時間がかかる。PHPコードの使い方を知っていて、XMLサイトマップを機能させる方法を理解できる必要があります。
  • せっかくの苦労が水の泡に- WordPressのテーマをアップデートすると、ほとんどの場合、変更内容が消えてしまいます。
  • WordPressのテーマを変更することはできません- カスタムコードはその特定のテーマを使用している場合にのみ機能するため、WordPressのテーマを変更することはできません。
  • 強力な機能を逃してしまう- SEOプラグインを使えば、動画サイトマップGoogleニュースサイトマップ、きめ細かいサイトマップ制御機能などの高度な機能を簡単に含めることができる。

結論として、サイトマップをカスタマイズし、高度なコンテンツも含めたい場合は、市場で最も強力なSEOプラグインであるAll in One SEO(AIOSEO)を使用することをお勧めします。

このプラグインはスピードのために最適化されており、あなたのサイトを遅くすることはありません知っている完全に確信することができます。

最高のWordPress SEOプラグイン All in One SEO (AIOSEO)

加えて、参加させるか、参加させないかを選択することができる:

  • 画像とギャラリー
  • パスワードで保護された投稿
  • カスタム投稿タイプ
  • メディア添付ページ
  • タグ、カテゴリー、著者のアーカイブページ
  • その他多数 

AIOSEOは、サイト上のコンテンツを公開、更新、削除するたびに、自動的に検索エンジンに通知します。

AIOSEOを使えば、Googleがあなたのサイトで最も重要なページを把握し、質の高いコンテンツのみを上位表示させることができます。

WordPressのXMLサイトマップをプラグインなしで作成する

とはいえ、プラグインなしでWordPressのXMLサイトマップを作成する方法を学びたい場合は、次にその方法を紹介しよう。ただし、そのためにはPHPコードの使い方を知っておく必要があります。

注:プラグインを使わずにWordpressのXMLサイトマップを作成する場合は、手動でGoogleのクローラーにそのファイルを知らせる必要があります。これを行うには、Google Search Console(旧Googleウェブマスターツール)にファイルを送信する必要があります。

詳しくは、WPBeginnerのWordPressサイトをGoogle Search Consoleに追加する方法をご覧ください。

それでは、WordPressでサイトマップを追加する方法の詳細を説明しよう。

最初のステップは、XMLサイトマップ用のカスタムコードを作成することです。PHPのコードに慣れておらず、WordPress用のXMLサイトマップのコードの書き方がわからない場合は、以下の例を参考にしてください。

WordPressのXMLサイトマップのカスタムコード 

次に、XMLサイトマップ用のカスタムコードスニペットをコピーして、WordPressウェブサイトのfunctions.phpファイルに追加します。以下でその方法を説明します。

/* function to create sitemap.xml file in root directory of site  */
// add_action("publish_post", "eg_create_sitemap");
// add_action("publish_page", "eg_create_sitemap");
add_action( "save_post", "eg_create_sitemap" );
function eg_create_sitemap() {
    if ( str_replace( '-', '', get_option( 'gmt_offset' ) ) < 10 ) { 
        $tempo = '-0' . str_replace( '-', '', get_option( 'gmt_offset' ) ); 
    } else { 
        $tempo = get_option( 'gmt_offset' ); 
    }
    if( strlen( $tempo ) == 3 ) { $tempo = $tempo . ':00'; }
    $postsForSitemap = get_posts( array(
        'numberposts' => -1,
        'orderby'     => 'modified',
        'post_type'   => array( 'post', 'page' ),
        'order'       => 'DESC'
    ) );
    $sitemap .= '<?xml version="1.0" encoding="UTF-8"?>' . '<?xml-stylesheet type="text/xsl" href="' . 
        esc_url( home_url( '/' ) ) . 'sitemap.xsl"?>';
    $sitemap .= "\n" . '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
    $sitemap .= "\t" . '<url>' . "\n" .
        "\t\t" . '<loc>' . esc_url( home_url( '/' ) ) . '</loc>' .
        "\n\t\t" . '<lastmod>' . date( "Y-m-d\TH:i:s", current_time( 'timestamp', 0 ) ) . $tempo . '</lastmod>' .
        "\n\t\t" . '<changefreq>daily</changefreq>' .
        "\n\t\t" . '<priority>1.0</priority>' .
        "\n\t" . '</url>' . "\n";
    foreach( $postsForSitemap as $post ) {
        setup_postdata( $post);
        $postdate = explode( " ", $post->post_modified );
        $sitemap .= "\t" . '<url>' . "\n" .
            "\t\t" . '<loc>' . get_permalink( $post->ID ) . '</loc>' .
            "\n\t\t" . '<lastmod>' . $postdate[0] . 'T' . $postdate[1] . $tempo . '</lastmod>' .
            "\n\t\t" . '<changefreq>Weekly</changefreq>' .
            "\n\t\t" . '<priority>0.5</priority>' .
            "\n\t" . '</url>' . "\n";
    }
    $sitemap .= '</urlset>';
    $fp = fopen( ABSPATH . "sitemap.xml", 'w' );
    fwrite( $fp, $sitemap );
    fclose( $fp );
}

注:コードを編集するときは、必ず子テーマを使用することを忘れないでください。子テーマを使えば、テーマがクラッシュしたり、変更が失われたりする心配をすることなく、簡単に親テーマを更新することができます。詳しくは、WPBeginnerのWordPressに子テーマをインストールする方法をご覧ください。 

サイトマップのカスタムコードをコピーしたら、まず外観 " テーマエディターに移動して追加します。

テーマエディターで、右カラムのテーマファイルの下にあるfunctions.phpファイルを開く必要があります。 

プラグインなしでXMLサイトマップを作成する - ワードプレスのテーマエディタでfunctions.phpを開く

新しいウィンドウが開き、そこでファイルを編集することができます。

次に、XMLサイトマップのカスタムコードをファイルエディターに貼り付けます。コードを貼り付ける場所は説明書に記載されていますが、記載されていない場合は、ファイルの一番下にコードを追加する必要があります。

プラグインなしでXMLサイトマップを作成する - functions.phpにカスタムコードを追加する

コード・スニペットを追加したら、「ファイルを更新」ボタンをクリックします。

FTPを使ってテーマファイルにカスタムコードを追加する方法もあります。FTPクライアントをウェブサイトに接続し、/wp-content/themes/your-theme-folder/に移動して、functions.phpファイルを右クリックするだけです。

プラグインなしでXMLサイトマップを作成 - FTPを使ってカスタムコードを追加する

View/Editfileオプションを選択し、テキストエディタを開く。コードを追加したら、「保存」をクリックします。

これでプラグインを使わずにWordPressのXMLサイトマップを作成できました。サイトマップは、新しい投稿を公開したときに検索エンジンがあなたのコンテンツを発見し、インデックスするのに役立ちます。 

しかし、これは基本的なサイトマップであり、publish_postのパラメータしか含まれていません。タクソノミー、アーカイブページ、動画の添付ファイルなど、他のタイプのコンテンツは含まれていません。

そのため、すべてのコンテンツが含まれていることを確認するために、XMLサイトマップを作成するためのより良い方法をご紹介します。

XMLサイトマップの作成方法

AIOSEOを使えば、たった1クリックでXMLサイトマップを作成できます。このプラグインは非常にユーザーフレンドリーです。インストールするだけで準備完了です!

プラグインをインストールしたことがない場合は、WPBeginnerでWordPressプラグインのインストール方法のステップバイステップガイドを見つけることができます。

それでは、AIOSEOを使ってXMLサイトマップを作成する方法をご紹介しましょう。

プラグインをインストールして有効化したら、All in One SEOメニューのSitemapsにアクセスするだけです。

All in One SEOのサイトマップ・メニュー項目

次に、上部メインナビゲーションメニューの「一般サイトマップ 」をクリックします。  

一般的なサイトマップ」ウィンドウが開き、「サイトマップを有効にする」が「オン」に設定されていることが確認できます。

All in One SEOでサイトマップを有効化 - XMLサイトマップを作成する優れた方法

それだけだ!

ワンクリックで、AIOSEOがXMLサイトマップを作成します。

さらに、サイトのコンテンツを公開、更新、削除するたびに、検索エンジンに自動的に通知される。

これ以上簡単なことはない!

それでは、サイトマップの表示に移りましょう。

サイトマップを見る

サイトマップをご覧になりたい場合は、「サイトマップを開く」ボタンをクリックしてください。

All in One SEOでサイトマップを開く

XMLサイトマップのインデックスページが表示されます:

All in One SEOeのXMLサイトマップインデックスページの例

インデックスページには、あなたのサイトのすべてのサイトマップが一覧表示され、それぞれのサイトマップには異なるタイプのコンテンツが含まれています。

例えば、投稿、ページ、添付ファイル、カテゴリーなどに異なるサイトマップがあることがわかる。

All in One SEOにおけるXMLサイトマップのコンテンツ例

インデックスの概要で各WordPressサイトマップのURLをクリックすると、特定のコンテンツの一覧が表示されます。

サイトマップを手動でテストする

最後に、サイトのURLにアクセスし、末尾に/sitemap.xmlを追加することで、サイトマップを手動でテストまたは表示することもできます:

www.example.com/sitemap.xml

サイトマップのURLは常に最新バージョンを表示します。

より高度なコンテンツをワードプレスのXMLサイトマップに含めたい場合は、XMLサイトマップのカスタマイズ方法の詳細をこちらでご覧いただけます。   

要約すると、サイトマップは検索エンジン最適化(SEO)の観点から重要であり、間接的に検索エンジンのランキング向上に役立つ。

そのため、サイトマップを使用し、重要なコンテンツがすべて含まれるようにカスタマイズすることを強くお勧めします。

このブログ記事で、プラグインを使わずにWordPressでXMLサイトマップを作成する方法を学び、AIOSEOを使って高度なサイトマップ機能も搭載することの大きな可能性を知っていただけたなら幸いです。

プラグインを使わずにWordPressのXMLサイトマップを作成するのが良いアイデアかどうか、まだ迷っているのであれば、WordPressサイトマップ vs AIOSEOの記事をご覧いただきたい。

SEOについてもっと知りたい方は、 究極のWordPress SEOガイドもご覧ください。

AIOSEOの新機能と改善にご期待ください。

まだAIOSEOをダウンロードして いない

AIOSEOを無料で試したいですか?

AIOSEO LiteをインストールするWordPressサイトのURLを入力してください。

このフォームを入力するには、ブラウザのJavaScriptを有効にしてください。

情報開示私たちのコンテンツは読者支援型です。つまり、あなたが私たちのリンクをクリックした場合、私たちはコミッションを得る可能性があります。私たちは、読者に付加価値をもたらすと信じる製品のみを推薦します。

著者アバター
スティナ・ペッターソン

コメントを追加する

コメントをお寄せいただきありがとうございます。すべてのコメントはプライバシーポリシーに従って管理され、すべてのリンクはnofollowであることにご留意ください。名前欄にはキーワードを使用しないでください。個人的で有意義な会話をしましょう。