シンプルなテキスト形式のサイトマップを生成するWordPressプラグイン「Text Sitemap Generator」

シンプルなテキスト形式のサイトマップを生成するWordPressプラグイン「Text Sitemap Generator」 自作プラグイン

SEO対策とは、検索エンジンにサイトを適切に認識させ、より多くの訪問者を獲得するための取り組みです。
その取り組みの中でも中核をなすのが、「サイトマップ」です。

サイトマップとは、ウェブサイト内のページの構造を示すファイルで、検索エンジンのクローラーがサイトを効率的にインデックスするのを助けます。サイトマップは、サイトの全ページを網羅しているため、検索エンジンにサイトの全体像を伝える重要な役割を持ちます。

この「Text Sitemap Generator」は、WordPressサイトに、シンプルなテキスト形式のサイトマップを自動生成するプラグインです。投稿記事、固定ページ、カテゴリー、タグのURLを含めたテキスト形式のサイトマップを生成するほか、設定画面からサイトマップに出力する内容もカスタマイズすることが可能になっています。

【動作デモ】「Text Sitemap Generator」で出力したテキスト形式のサイトマップ

実際に「Text Sitemap Generator」を使って出力した、当サイトのテキスト形式のサイトマップが、以下のURLからご確認いただけます。

テキスト形式のサイトマップhttps://www.gugurekasu.net/urllist.txt

投稿記事、固定ページ、カテゴリー、タグのURLを出力することが可能です。
SEOを考慮し、初期設定では「カテゴリーのみ」を出力する設定となっていますが、管理画面から「タグのみ」、「カテゴリーとタグの両方」を出力することも可能です。
また、特定の記事やページのURLをIDで指定して除外するオプションのほか、WordPressの仮想robots.txtに、テキスト形式のサイトマップURLを追加するオプションも用意しているので、テキスト形式のサイトマップの存在を検索エンジンのクローラーにスムーズに伝えることに役立ちます。

「Text Sitemap Generator」の特徴

  • テキスト形式のサイトマップ自動生成
    WordPressサイトの全ページURLを自動的にリストアップし、テキスト形式のサイトマップ(urllist.txt)をサイトのルートディレクトリに生成します。
  • カスタマイズ可能な出力設定
    記事、ページ、カテゴリー、タグのURLを含む、サイトマップの内容を簡単な設定でカスタマイズできます。
  • 除外設定も可能
    特定の投稿ID、カテゴリーID、タグIDをサイトマップから除外する設定が可能です。
  • 最大URL数の設定
    テキスト形式のサイトマップに含めるURLの数を設定できるため、大規模サイトでも効率的に管理できます。
    ※テキスト形式のサイトマップに含めることが可能なURLの最大数は、Googleの推奨値の50,000件を上限としています。
  • 仮想robots.txtへサイトマップのURLを追加
    WordPressの仮想robots.txtにテキスト形式のサイトマップのURLを追加設定するオプションもあります。
  • 簡単なインストールと設定
    プラグインをWordPressのプラグインディレクトリにアップロードし、有効化するだけで使用開始できます。設定画面は直感的で、特別な技術知識は必要ありません。

動作要件

  • WordPress 5.0以上
  • PHP7.4以上、PHP8.x対応
  • MySQL 5.6以上またはMariaDB 10.1以上

重要な注意事項
※ご利用のWordPressサイトで、投稿記事、固定ページ、カテゴリー、タグなどのコンテンツが大量に存在する場合、テキスト形式のサイトマップ生成時に、より多くのサーバーリソースが必要となります。このプロセスは、サーバーの処理能力に大きく依存し、場合によっては生成に長時間を要することや、最悪の場合はプロセスが正常に完了しない可能性があります。そのため、特に大規模なサイトを運営されている場合は、サイトマップの生成前に、サーバーのスペックを再確認し、必要に応じてサーバーリソースの拡張を検討してください。
また、サーバーに高負荷がかかる場合や、WordPressの動作に悪影響があった場合はこのプラグインの使用を中止してください。

使用方法

インストール

  1. プラグインディレクトリ(/wp-content/plugins/)に「text-sitemap-generator」フォルダをアップロードしてください。
  2. WordPressの「プラグイン」メニューから、プラグイン「text-sitemap-generator」を有効化します。
  3. 「text-sitemap-generator」の設定へと進み、各種設定を行ない「変更を保存」してください。

以上の操作でテキスト形式のサイトマップ「urllist.txt」がルートディレクトリに出力されます。

「text-sitemap-generator」設定画面

「Text Sitemap Generator」設定画面

設定画面の各設定項目について

「Text Sitemap Generator」プラグインの設定画面で設定できる各項目について、以下に詳細をまとめます。

  • Text Sitemap 出力設定
    サイトマップに含める内容を選択できます。選択肢には「カテゴリーとタグ」「カテゴリーのみ」「タグのみ」があり、サイトの構造やSEO戦略に応じて適切なオプションを選択します。
    ※デフォルトでは「カテゴリーのみ」に設定されています。
  • 最大URL数
    サイトマップに含めるURLの最大数を指定できます。これにより、サイトマップのサイズが過大になることを防ぎ、処理の負荷を管理できます。デフォルトでは5,000件に設定されていますが、サイトの規模に応じて最大50,000件を上限にURLを出力するように調整可能です。
    ※但し、サーバーのスペックに依存する設定項目なので、最大数以内の数値に設定していても正常に出力できない可能性もあります。出力に時間がかかりすぎる場合は、この数値を下げるなどの調整を行なってください。
  • 除外する投稿ID
    サイトマップから除外したい投稿のIDをカンマ区切りで指定できます。
  • 除外するカテゴリーID
    サイトマップから除外したいカテゴリーのIDをカンマ区切りで指定できます。
  • 除外するタグID
    サイトマップから除外したいタグのIDをカンマ区切りで指定できます。
  • 仮想robots.txtにサイトマップを追加
    WordPressが自動生成する仮想robots.txtに、「text-sitemap-generator」が生成したサイトマップのURL(urllist.txt)が追加されます。これにより、検索エンジンがサイトマップの存在をより容易に認識し、サイトのクロール効率が向上します。

これらの設定を行なうことで、「Text Sitemap Generator」プラグインで出力するテキスト形式のサイトマップをカスタマイズでき、サイト運営者はサイトのSEO最適化に役立てることができます。

一般的なサイトマップの形式と特徴

一般的なサイトマップの形式と特徴

サイトマップと呼ばれるものには、いくつかの種類と特徴があります。

  • XML形式:サイトマップの中で最も一般的な形式。構造が明確で、検索エンジンが読み取りやすいため、SEO対策に非常に効果的です。しかし、XMLファイルの読み込みに問題が発生することがあり、特に大規模なサイトではその複雑さが障壁となることも。
  • HTML形式:ユーザーがサイト内をナビゲートするのを助けるために設計された、より人間に優しい形式です。HTMLサイトマップは、訪問者がサイト内の情報を簡単に見つけられるようにするためのもので、直接SEOに影響を与えるものではありませんが、ユーザー体験の向上に貢献します。
  • テキスト形式:最もシンプルな形式の一つで、テキスト内の各行に1つのURLを記述します。この形式は検索エンジンが理解しやすく、特に大量のページを持つサイトにおいては、XML形式のサイトマップに代わる手段として有効です。

WordPressサイトの場合、WordPressのバージョン5.5から搭載されたサイトマップ出力機能によってXML形式のサイトマップを出力することも可能となりました。しかし、WordPressに標準搭載されたサイトマップ出力機能によって出力されるXML形式のサイトマップは運営するサイトに合わせた細やかな設定が行なえないため、多くのユーザーは以下のようなサイトマップ生成プラグインを利用しているケースがほとんどです。

XML形式のサイトマップを出力するWordPressプラグイン

以下は、WordPressのプラグインでXML形式のサイトマップを出力する機能を持つ、メジャーなプラグインです。

1. XML Sitemap Generator for Google

  • 概要:WordPressで最も人気のあるXMLサイトマッププラグイン
  • URL:https://wordpress.org/plugins/google-sitemap-generator/
  • 特徴:
    • 豊富な設定項目
    • 複数に分割されたサイトマップファイル作成
    • 自動更新
  • 注意点:設定項目が多いため、初心者には難易度が高い場合がある

2. Yoast SEO

  • 概要:WordPressで最も有名なSEOプラグイン
  • URL:https://ja.wordpress.org/plugins/wordpress-seo/
  • 特徴:
    • XMLサイトマップ機能は標準搭載
    • 設定項目は比較的シンプル
    • SEO対策にも役立つ
  • 注意点:無料版では機能が制限されている

3. All in One SEO Pack

  • 概要:Yoast SEOと並ぶ人気のSEOプラグイン
  • URL:https://ja.wordpress.org/plugins/all-in-one-seo-pack/
  • 特徴:
    • XMLサイトマップ機能は標準搭載
    • 設定項目は比較的シンプル
    • SEO対策にも役立つ
  • 注意点:無料版では機能が制限されている

4. XML Sitemap & Google News

  • 概要:シンプルで使いやすいXMLサイトマッププラグイン
  • URL:https://wordpress.org/plugins/xml-sitemap-feed/
  • 特徴:
    • シンプルなXMLサイトマップ機能
    • 設定項目が少なく、初心者でも使いやすい
    • 動作が軽い
  • 注意点:機能がシンプルなため他のプラグインと比較すると物足りなさもある

サイトマップ生成後のステップ

先ほど例に挙げたプラグインを利用してサイトマップを生成した後、サイトマップのURLをGoogleのサーチコンソールに登録することが重要な作業となります。
以下はGoogleのサーチコンソール内でサイトマップのURLを登録する手順となります。

  1. Googleサーチコンソールへのアクセス
    Googleアカウントでログインし、サーチコンソールのダッシュボードを開きます。
  2. プロパティの選択
    管理したいウェブサイトのプロパティを選択します。
  3. サイトマップの提出
    サーチコンソールのメニューから「サイトマップ」を選択し、「新しいサイトマップの追加」の欄に、サイトマップのURLを入力して「送信」ボタンをクリックします。

これにより、Googleのクローラーは新しく更新されたサイトマップを認識し、サイトのページを効率的にインデックスするようになります。インデックスされることで、Googleの検索結果にサイトへのリンクや情報が表示されるようになっていきます。

しかし、それはあくまでも「Googleのサーチコンソールが正常に動作していれば」という大前提のもとでの話です。

なぜ私が「Text Sitemap Generator」を作ることにしたのか?
その理由を、次のセクションで語りたいと思います。

「Text Sitemap Generator」誕生の背景

「Text Sitemap Generator」誕生の背景

Googleでは主にXML形式のサイトマップの使用を推奨しています。
しかし、GoogleのサーチコンソールにはXML形式のサイトマップが正常に読み込めないケースが散見され、それによりサイトのページが適切にインデックスされない問題が発生しています。
この問題はかなり以前から存在しているものの、未だに完全に解消できていない不具合として残っています。

この問題に対して、当初は「XML形式のサイトマップが正常に出力されていないのではないか?」「記事のクオリティが低いのではないか?」「記事の内容に問題があるのではないだろうか?」などといった、自身のミスを何度も何度も疑ってきました。
しかし、どんなにホワイトハットなサイト運営をしようと、どんなに有益と思える記事を書こうと、何度もXML形式のサイトマップの記述をチェックしようとも結果は変わらなかったのです。
ここまでくるとGoogle側の不具合と考えたほうが合点がいきますし、精神衛生上そのほうが気持ちも軽くなります(笑)

このサーチコンソールの問題を少しでも緩和させるために誕生したのが、「Text Sitemap Generator」です。

私はこれまでに、GoogleのサーチコンソールでXML形式のサイトマップが正常に読み込めない不具合が発生した際に、よりシンプルなテキスト形式のサイトマップを追加することで、この問題を回避した経験が幾度もありました。

そう、シンプル・イズ・ベスト!の戦略です。

WordPressは全世界で使われている有名なCMSで、WordPressに便利な機能を追加するプラグインも多く存在し、2024年4月現在で、WordPress公式プラグインに登録されているプラグインは59,000件を超えています。
これだけ多くのプラグインがあるなら、テキスト形式のサイトマップを出力するプラグインくらい簡単に見つかるだろうと、これまで何度も公式、非公式関係なく探してきましたが、テキスト形式のサイトマップを出力するプラグインを見つけることができませんでした。(探し方に問題があったのかもしれませんが・・・)

ただ、プラグインではなく、WordPressで使用するテーマの子テーマ内のfunctions.phpにテキスト形式のサイトマップを出力させるためのコードを追加するという手法というものは、ネット上で見かけた記憶はありました。
しかし、使い勝手の悪さと機能性の低さ、そして、functions.phpの編集が必要になるというWordPress初心者への敷居の高さも感じたため、その手法は私にとって納得のいくものではありませんでした。

だったらもう自分で作ってしまえとなり、「Text Sitemap Generator」を作ることにしました。

この自作のプラグイン「Text Sitemap Generator」は、WordPressサイトに、シンプルなテキスト形式のサイトマップを自動生成してくれるプラグインです。投稿記事、固定ページ、カテゴリー、タグのURLを含めたテキスト形式のサイトマップを生成するほか、設定画面からサイトマップに出力する内容もカスタマイズすることが可能になっています。

もちろん、まだいくつも改善の余地があるプラグインではありますが、必要最低限の機能を備え、初心者でも簡単に導入できる使い勝手の良さを備えているという自負もあったりします。

私と同じく、Googleのサーチコンソールの不具合にお悩みの方がいらっしゃれば、「Text Sitemap Generator」を使うことで不具合を緩和、または回避するための一助になるのではないかと思い、公開することにしました。

このプラグインが少しでも皆様のお役に立てれば幸いです。

ダウンロード

シンプルなテキスト形式のサイトマップを自動生成するWordPress用プラグイン「Text Sitemap Generator」のダウンロードはこちらから。

Text Sitemap Generator
Version: 1.5

「Text Sitemap Generator」を利用する際は、以下の注意事項と免責事項に同意した上でご利用ください。

更新履歴

ver1.5

  • ルートディレクトリのパスとURL取得をキャッシュし、パフォーマンスを向上。
  • 記事は新規公開または下書きから公開への変更時のみサイトマップを更新するように改善。
  • カテゴリーやタグが追加・編集・削除された際にもサイトマップを自動更新するように改善。
  • サイトマップ出力先のパス取得ロジックをリファクタリングして簡潔化。
  • サイトマップファイルの書き込み処理に失敗した際、ユーザーに明確なエラーメッセージを表示。

ver1.4

  • 非公開および下書きの投稿をサイトマップに含めないように修正。
  • 投稿やページの取得処理をバッチ処理に変更し、大量の投稿がある場合でもメモリやパフォーマンスの問題が発生しにくくなるように改良。
  • 軽微なバグ修正とコードの最適化。

ver1.3

  • 任意のURLを「urllist.txt」に追加できる機能を設定画面に追加。
  • サイトマップの出力先を変更した際に、古い出力先に残る「urllist.txt」を自動で削除する機能を追加。
  • サイトマップの出力先が「ルートディレクトリ」か「サブディレクトリ」かによって、含めるURLを調整するロジックを追加。※出力先を「サブディレクトリ」にした場合、ルートディレクトリのURLは自動的に除外。
  • サイトマップ生成機能を最適化し、設定画面で追加された任意のURLが正しく出力されるように修正。
  • その他、軽微なバグ修正とコードの最適化。

ver1.2

  • サブディレクトリにWordPressがインストールされている場合、サイトマップの出力先をサブディレクトリまたはルートディレクトリから選択できる機能を追加。
  • 選択された出力先に基づいて「urllist.txt」へのリンクが適切に生成されるように修正。

ver1.1

  • サブディレクトリにインストールされたWordPressでも、正しくURLがサイトマップに出力されるように対応。
  • サイトマップファイルの保存場所が正しく処理されるように修正。
  • 設定画面の「urllist.txt」へのリンクが適切なURLで表示されるように修正。

ver1.0

  • 初版リリース。
  • WordPressの投稿、ページ、カテゴリー、タグのURLをテキスト形式のサイトマップに出力。
  • 管理画面でサイトマップの出力オプションを設定可能。
  • 最大URL数、除外する投稿ID、カテゴリーID、タグIDを設定可能。
  • WordPressが自動生成するrobots.txtにテキスト形式のサイトマップのURLを追加設定可能。

プラグイン使用に関するご注意と免責事項

この「Text Sitemap Generator」プラグインは、私が個人的に運営するサイト用に開発したものです。そのため、さまざまなWordPressテーマや他のプラグインとの完全な互換性や安定性を保証するものではありません。本プラグインの使用により発生する可能性のある、いかなる問題や損失についても、当方では一切の責任を負いかねます。

ユーザーの皆様が本プラグインをご使用になる際は、以下の点にご注意ください。

  • バックアップの実施
    プラグインをインストールする前に、必ずウェブサイトの完全なバックアップを取ってください。万が一の問題が発生した場合に備え、ウェブサイトを元の状態に戻せるようにしておくことが重要です。
  • テスト環境での確認
    可能であれば、本番環境以外のテスト環境でプラグインの動作を確認してください。これにより、本番環境への影響を最小限に抑えることができます。
  • 他のプラグインやテーマとの互換性
    現在お使いのテーマや他のプラグインとの互換性を確認することも重要です。不具合が発生した場合は、プラグインを無効化し、問題の原因を特定してください。
  • 定期的な更新のチェック
    プラグインの安定性と機能性を保つために、定期的な更新が必要になる場合があります。新しいバージョンがリリースされた場合は、適時更新を行ってください。

ご理解とご協力をお願いいたします。本プラグインを使用することで生じるいかなる問題についても、当方は一切の責任を負いかねますので、あらかじめご了承ください。

コメント

タイトルとURLをコピーしました