プラグインなしでWordPress XMLサイトマップを作成する方法を知りたいですか?
XMLサイトマップは、サイト上のページ、動画、その他のファイルに関する情報とそれらの関係を提供するファイルです。言い換えれば、XMLサイトマップは人間のためではなく、検索エンジンのために作成されます。
XMLサイトマップを作成するためにプラグインを使用する方がはるかに簡単ですが、自分で作成することを好むユーザーもおり、プラグインがサイトを遅くすることを心配しています。
ここでは、プラグインを使用せずにWordPressでXMLサイトマップを作成する方法を見ていきましょう。サイトマップを使用する利点についても説明し、より良い作成方法も紹介します。
この情報満載のXMLサイトマップチュートリアルをナビゲートするために、以下の目次を自由にご利用ください。
- XMLサイトマップを使用する利点
- どのような種類のウェブサイトにサイトマップが必要ですか?
- XMLサイトマップはプラグインありとなし、どちらで作成するのが最適ですか?
- プラグインなしでWordPress XMLサイトマップを作成する
- XMLサイトマップを作成するより良い方法
XMLサイトマップを使用する利点
サイトマップを使用することには多くの利点があります。サイトマップは検索エンジンのランキングを直接向上させるわけではありませんが、検索エンジンがウェブサイトをより良くクロールできるようになります。
これは、より多くのコンテンツを見つけて検索結果に表示し始めることができることを意味し、結果としてランキングが向上し、サイトへのトラフィックが増加する可能性があります。
サイトマップがないと、検索エンジンのボットはリンクをたどることによってのみすべてのページを見つけることができ、投稿コンテンツ、動画、アーカイブページなどは見つけることができません。
この目的のために、WordPressウェブサイトを開始したら、検索エンジンがコンテンツを発見、インデックス、クロールできるように、サイトマップを作成するようにしてください。
それを踏まえて、WordPressサイトでXMLサイトマップを使用する利点をいくつかご紹介します。
- コンテンツに関する検索エンジンへの通知 – XMLサイトマップは、各ページの作成日時と最終更新日時、およびサイト上の他のページに対する重要度を含む情報を提供します。
- 検索エンジンが新しいページを発見するのを支援 – 新しいページやサイトに新しいブログ投稿を公開したときに、検索エンジンに通知します。
- ページとクロールの優先度を上げる – ウェブサイト上のページの相対的な優先度を変更します。たとえば、サイトマップにどのページが最も重要であるかを示すタグを追加すると、ボットはこれらの優先ページをクロールすることに集中します。
- ウェブサイトのURLをリストする – ウェブサイトのすべてのURLのリストを送信できます。サイトマップで送信しないと検索エンジンが見つけられなかったURLがある可能性があるため、これは有益です。
次に、どのような種類のウェブサイトにサイトマップが必要かを見ていきましょう。
どのような種類のウェブサイトにサイトマップが必要ですか?

Googleによると、ほとんどのウェブサイトはサイトマップを持つことでメリットがあります。
特に以下のような場合に役立ちます。
- 大規模なサイト
- 外部リンクが少ない新しいサイト
- 適切にリンクされていないコンテンツが多いサイト
- メディアコンテンツが多いサイト
ご存知のとおり、ほとんどのサイトではサイトマップを使用する必要があります。XMLサイトマップがないと、コンテンツが検索エンジンに表示されたり削除されたりするのに時間がかかります。
WordPressは基本的なサイトマップを自動生成します
まず、WordPress 5.5以降では、WordPressが自動的にサイトマップを生成することを明確にする必要があります。このバージョンでは、WordPressコアに基本的なXMLサイトマップ機能を追加する機能が導入されました。
その結果、WordPressのサイトマップは非常に基本的であり、インデックス作成しないように設定したコンテンツも含まれる可能性があり、サイトにエラーが発生する可能性があります。
詳細については、WordPressサイトマップを使用すべきか、自分で作成すべきかについての投稿をご覧ください。
XMLサイトマップはプラグインありとなし、どちらで作成するのが最適ですか?

プラグインはWordPressの重要な機能であり、WordPressサイトに新しい機能を追加します。それでも、多くのユーザーは、サイトで使用するプラグインが少ないほど良いと考えていますが、必ずしも常にそうとは限りません。
コーディングの悪いプラグインは、サイトに負荷をかけ、遅くする可能性があることは事実です。しかし、適切に作成された軽量なプラグインは、悪影響なしに、物事を簡素化し、多くの時間を節約できます。
実際、WordPressサイトのプラグイン数は、サイトの速度とパフォーマンスに直接相関しません。インストールされているプラグインの品質がすべてです。プラグインがサイトの速度にどのように影響するかについては、こちらで詳しく読むことができます。
始める前に、プラグインなしでWordPress XMLサイトマップを作成することが、サイトにとって最善の選択ではない理由を見てみましょう。
- 困難で時間がかかる – SEOプラグインを使用せずにサイトマップを作成するのは困難で、多くの追加時間がかかります。PHPコードの使用方法を知っており、機能するXMLサイトマップをコーディングする方法を理解できる必要があります。
- すべての努力が無駄になる可能性があります – WordPressテーマを更新すると、変更はほとんどの場合消去されます。
- WordPressテーマを変更できません – カスタムコードは特定のテーマを使用している場合にのみ機能するため、WordPressテーマを変更することはできません。
- 強力な機能を見逃すことになります – SEOプラグインを使用すると、動画サイトマップ、Googleニュースサイトマップ、詳細なサイトマップ制御機能などを簡単に含めることができます。
結論として、サイトマップをカスタマイズし、高度なコンテンツを含めたい場合は、市場で最も強力なSEOプラグインであるAll in One SEO (AIOSEO)を使用することをお勧めします。
このプラグインは速度のために十分に最適化されており、サイトを遅くしないことを知って、完全に安心できます。

さらに、含めるか除外するかを選択できます:
- 画像とギャラリー
- パスワードで保護された投稿
- カスタム投稿タイプ
- メディア添付ファイルページ
- タグ、カテゴリ、作成者のアーカイブページ
- その他多数
そして何よりも、AIOSEOはサイトでコンテンツを公開、更新、または削除するたびに自動的に検索エンジンに通知します。
AIOSEOを使用すると、Googleがサイトのどのページが最も重要であるかを確実に把握させ、質の高いコンテンツのみをランク付けさせることができます。
プラグインなしでWordPress XMLサイトマップを作成する
とはいえ、プラグインなしでWordPressのXMLサイトマップを作成する方法をまだ学びたい場合は、次にその方法を説明します。ただし、これにはPHPコードの使用方法を知る必要があります。
注意: プラグインなしでWordPress XMLサイトマップを作成する場合、ファイルについてGoogleのクローラーに手動で通知する必要があります。これを行うには、ファイルをGoogle Search Console(旧Google Webmaster Tools)に送信する必要があります。
詳細については、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サイトマップ用のカスタムコードを貼り付けます。コードを貼り付ける場所は指示に記載されていますが、記載されていない場合は、ファイルの末尾にコードを追加する必要があります。

コードスニペットを追加したら、ファイルを更新ボタンをクリックします。
別の方法として、FTPを使用してテーマファイルにカスタムコードを追加することもできます。FTPクライアントをウェブサイトに接続し、/wp-content/themes/your-theme-folder/に移動して、functions.phpファイルを右クリックします。

表示/編集ファイルオプションを選択してテキストエディターを開きます。コードを追加したら、保存をクリックします。
これで、プラグインなしでWordPress XMLサイトマップが作成されました。サイトマップは、新しい投稿を公開したときに検索エンジンがコンテンツを発見してインデックス作成するのに役立ちます。
ただし、これは基本的なサイトマップであり、publish_postのパラメータしか含まれていません。タクソノミー、アーカイブページ、ビデオ添付ファイルなどの他のコンテンツタイプは含まれていません。
そのため、すべてのコンテンツが含まれるように、XMLサイトマップを作成するより良い方法を説明します。
XMLサイトマップを作成するより良い方法
AIOSEOを使用すると、わずか1回のクリックでXMLサイトマップを作成できます。このプラグインは非常にユーザーフレンドリーです。インストールするだけで、すべてが完了します!
プラグインをインストールしたことがない場合は、WPBeginnerにWordPressプラグインのインストール方法に関するステップバイステップガイドがあります。
AIOSEOを使用してXMLサイトマップを作成する方法を説明します。
プラグインをインストールして有効化した後、All in One SEOメニューのSitemapsにアクセスするだけです。

次に、メインナビゲーションメニューの上部にあるGeneral Sitemapをクリックします。
これにより、General Sitemapウィンドウが開かれ、Enable Sitemapがオンになっていることがわかります。

これで完了です!
ワンクリックで、AIOSEOがすべて設定され、XMLサイトマップが作成されます。
さらに良いことに、サイト上のコンテンツを公開、更新、または削除するたびに、検索エンジンに自動的に通知されます。
これ以上簡単なことはありません!
次に、サイトマップの表示に進みましょう。
サイトマップを表示する
サイトマップを表示したい場合は、Open Sitemapボタンをクリックするだけです。

これにより、XMLサイトマップのインデックスページに移動し、次のようになります。

インデックスページには、サイトのすべてのサイトマップがリストされ、各サイトマップには異なる種類のコンテンツが含まれています。
たとえば、投稿、ページ、添付ファイル、カテゴリなどに異なるサイトマップがあることがわかります。

インデックス概要の各WordPressサイトマップURLをクリックして、その特定のコンテンツのリストを表示します。
サイトマップを手動でテストする
最後に、サイトのURLにアクセスし、末尾に/sitemap.xmlを追加して、サイトマップを手動でテストまたは表示することもできます。
www.example.com/sitemap.xml
サイトマップURLには、常にサイトマップの最新バージョンが表示されます。
WordPress XMLサイトマップにさらに高度なコンテンツを含めたい場合は、XMLサイトマップをカスタマイズする方法の詳細をご覧ください。
要約すると、サイトマップは検索エンジン最適化(SEO)の観点から重要であり、間接的に検索エンジンのランキングを向上させるのに役立ちます。
そのため、サイトにサイトマップを使用し、すべての重要なコンテンツを含めるようにカスタマイズすることを強くお勧めします。
このブログ投稿が、プラグインなしでWordPressでXMLサイトマップを作成する方法を学ぶのに役立ち、さらにAIOSEOを使用して高度なサイトマップ機能を含めることの大きな可能性を示したことを願っています。
プラグインなしでWordPress XMLサイトマップを作成することが良い考えかどうかまだ疑問に思っている場合は、WordPressサイトマップ対AIOSEOに関する投稿を確認してください。
SEOについてさらに詳しく知りたい場合は、究極のWordPress SEOガイドもご覧ください。
AIOSEOの新機能と改善にご期待ください。
まだAIOSEOをダウンロードしていませんか?何を待っていますか?
開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、手数料が発生する可能性があることを意味します。当社は、読者に価値をもたらすと信じる製品のみをお勧めします。
