サイトマップを生成していなくても、十分に検索にヒットしている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