サイトマップを出力したい

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です