サイトマップを生成していなくても、十分に検索にヒットしているWebサイトもあるので、なくても支障はないかもしれませんが、1日でも早く検索エンジンのクローラーにクロールしてもらいたいときには、サイトマップも出力したくなりますよね。
プラグインを使う場合
「Google XML Sitemaps」や 「All In One SEO Pack」を導入するのが、一番簡単だと思います。
管理画面 > プラグイン > 新規追加 で、検索、インストール、有効化します。
記事ページのみでなく、固定ページ、トップページ、カテゴリページ、タグ、アーカイブなどなど、WordPressのURLは多数あります。また大量にページが存在するときは分割も考えなくてはならないです。自作するよりもプラグインに頼ったほうが簡単でしょう。
簡単なテキストのサイトマップを自作する場合
カテゴリページなどはおいといて、記事のURLの一覧を生成する程度であれば、比較的簡単です。
サイトマップとしての完成度は高くないですが、GoogleにURLを送信するまでであれば、目的は達成できると思います。
WordPressのデータベースに問い合わせて、公開されているページの一覧を羅列するプログラムは以下のようになります。
<?php
// WordPressの設定と関数を流用するため
require_once('ワードプレスを配置した場所/wp-load.php');
// 公開されている投稿、固定ページの一覧を取得(テキストサイトマップの制限のため上限5000件)
$posts = get_posts(array('posts_per_page' =< 5000, 'post_type' =< null));
// 出力する
header('Content-Type: text/plain');
foreach ($posts as $post) {
echo get_permalink($post->ID) . "\n";
}
sitemap.php のような名前で設置してください。
この方法のメリットは、プラグイン不要、テーマに手も加えない、投稿や固定ページも不要、ほぼ独立した別プログラムとして設置できることです。
→ 使用例) https://058.jp/twentyseventeen/sitemap.php
