ごめんください。コスギです。
SWELL で有名な了さんのプラグイン「SEO SIMPLE PACK」を拡張し、サイトマップを自動生成するためのプラグインを開発しました。
公式プラグインにはなっていないので、使えそうなら使ってください、という感じ。案件として使っているので、それなりにメンテはします。
目次
作ろうと思ったきっかけ
SEO SIMPLE PACK は国産のシンプルなSEOプラグインとして、使いやすさが魅力です。しかし、サイトマップ機能は備わっておらず、別途プラグインを入れるか自前で生成しないといけませんでした。
また、「noindex」設定を反映させた柔軟なサイトマップが欲しかったため、SEO SIMPLE PACK で noindex にした投稿やタクソノミーをサイトマップに含めないようにして、自動的にアップデートされるシンプルなサイトマップを手軽に導入できる仕組みが必要でした。
そこで、SEO SIMPLE PACK の noindex 設定をそのまま利用しつつ、WordPress の「パーマリンク構造」や「投稿タイプ」「タクソノミー」などに応じて自動生成するサイトマッププラグインを作成しました。
プラグインの主な特徴
noindex 設定を尊重
- 「SEO SIMPLE PACK」で noindex が設定された投稿やタクソノミーを、自動的にサイトマップから除外します。
- カスタム投稿タイプやタームごとの noindex 設定にも対応します。
サイトマップの構成をシンプル化
/sitemap.xml
へのアクセスでサイトマップインデックスを生成し、そこから各年別・投稿タイプ別・タクソノミー別のサイトマップファイルへリンク。- 大規模サイトにも耐えられるように年別のURLを分割していますが、余計なオプションは極力排除。
軽量&拡張しやすいコード構成
- WordPress のフックを使って動的にXMLを吐き出すだけなので、速度への影響は最小限。
- クラスごとに処理を分割しているため、開発者が機能を差し替え・拡張しやすくなっています。
SEO SIMPLE PACK 本体との連携
- 管理画面の「設定」→「Sitemap Settings」を開くと、
- noindex が適用されている投稿やタームの一覧
- 投稿タイプ・タクソノミーごとの index/noindex 設定状況を確認でき、SEO SIMPLE PACK本体の該当設定画面へジャンプできます。
使い方
ダウンロード
前提条件
- WordPress 5.0以上(PHP 7.4以上推奨)
- 「SEO SIMPLE PACK」プラグインが有効化済みであること
インストール
- 管理画面の「プラグイン」の「新規追加」画面で zip ファイルをアップロード
- 管理画面の「プラグイン」から「SEO SIMPLE PACK Sitemap」を有効化
基本的な設定
- 「設定」→「Sitemap Settings」にアクセスすると、投稿タイプやタクソノミーの index/noindex 状況が一覧表示されます。
- noindex を切り替えたい場合は、各リンクからSEO SIMPLE PACKの「一般設定」ページへ飛び、投稿タイプ/タクソノミーのインデックスをON/OFFしてください。
サイトマップの確認
/sitemap.xml
にアクセスするとサイトマップインデックスが表示されます。- 投稿、固定ページ、年別投稿、カテゴリー、タグなど、noindexじゃないものだけ自動的に反映されます。
今後の展望
- ページネーション対応
大規模サイトでは1年分の投稿でも多い場合があるため、サイトマップをさらに細分化(月別など)できるようにしたいですね。5万件の限度もありますし。 - 翻訳対応
シンプルなので問題ないとは思うのですが、英語のみなので多言語対応できたらと思っています。 - 重要度と更新頻度対応
サイトマップの重要度と更新頻度には対応していません。それらが必要なら他のプラグインでもいいかなと思っているのですが、noindex を引き継げるのが良いので検討します。 - 公式プラグインへの登録
これは憧れみたいなものです。
参考リンク
上記に関連する記事