DiscourseのSEO概要 (sitemap / robots.txt )

<div data-theme-toc="true"></div>

Discourse には、すぐに使える多くの SEO 機能があります。適切なデフォルト設定を使用すれば、コミュニティ マネージャーはコミュニティの育成に集中でき、検索エンジンの最適化に気を取られる必要はありません。とはいえ、変更できること、知っておくべきこと、そして一般的なヒントとコツを以下に示します。

ユーザーが見ているものと検索エンジンが見ているものの比較を以下に示します。

トピック リスト:

[grid]
![image|690x420](upload://idioe4FqUxicVUEAPna7lPcx5w4.png)
![image|690x420](upload://ySYZhJF7tXaU5uqz8CxAk25uFlU.png)
[/grid]

トピック:

[grid]
![image|690x420](upload://3tl05ytCtKhMhmLHZ2D0F2TXmeB.png)
![image|690x420](upload://xIUzTOCUYCC8kLBpHg4YNyjYIT0.png)
[/grid]

メタタグ

Discourse では、SEO に不可欠な汎用メタタグが、ページ上のコンテンツに基づいて自動生成されます。たとえば、タイトルタグはサイトまたはトピックのタイトルから派生し、説明は最初の投稿のコンテンツから生成されます。ただし、メタデータはページごとにカスタマイズできる範囲は限られています。これらの値を変更するには、設定またはそれらが生成されるコンテンツ フィールドを調整する必要があります。

  • タイトル説明短いサイトの説明のサイト設定
  • カテゴリ名
  • 投稿のタイトルとコンテンツ
  • その他 :technologist:

URL 構造とエンコーディング

非ラテン文字と URL

Discourse では、ロケールが EN に設定されている場合、トピック URL から非ラテン文字がデフォルトで削除されます。これを回避するには、ロケールを主要な非ラテン語に変更するか、slug generation method 設定を ASCII から encoded に変更します。

サブフォルダ vs サブドメイン設定

Discourse は、技術的な単純さから、サブフォルダよりもサブドメインを好みます。Google はどちらにも特に好みはありません[1]が、Discourse は、深い技術的知識がない限り、サブフォルダ設定を避けることを強く推奨しています。

カノニカライゼーション

Google は、ページの正規版をインデックス化することに熱心です。Discourse では、複数の返信があるトピックの場合、正規リンク(最初の投稿)が Google に渡され、Google がインデックス作成の判断を行います。20 件を超えるトピックはページ分割され、各ページは最大 20 件の投稿を含む正規リンクになります。
たとえば、このトピックの最後の返信の正規タグは https://meta.discourse.org/t/try-out-the-new-sidebar-and-notification-menus/238821?page=12 になります。

スキーママークアップ

パンくずリストを通じて、検索エンジンでのコンテンツの分類を支援するために schema.org マークアップを使用しています。トピック スラッグ内のカテゴリ名が含まれています。

サイトマップ

Discourse には、/sitemap.xml にある サイトマップ が含まれており、これは enable sitemap 設定によってデフォルトで有効になっています。これにより、検索エンジンによるインデックス作成が容易になります。

検索エンジン用の静的ビュー

Discourse には、Web クローラーがサイトをより速くインデックス作成できるように、JavaScript を使用しない静的 HTML ビューがあります。動的ビューと静的ビューの間のコンテンツは同一であり、サイトが検索エンジンによってクロールされるときに何も省略されたり削除されたりすることはありません。

Web クローラーの潜在的な問題

ロボットとも呼ばれる Web クローラーは、Web ページをインデックス作成するために不可欠です。ただし、一部のクローラーは過度に熱心になり、フォーラムに多数のリクエストを送信することがあります。Discourse はデフォルトでいくつかの悪名高いクローラーをブロックしますが、必要に応じて blocked crawler user agents 設定を調整できます。

robots.txt

必要に応じて、robots.txt[2] を表示および編集できます。このファイルは、Web クローラーがフォーラム コンテンツとどのように対話するかをガイドするツールとして機能します。その主な目的は、クローラーのアクセスを管理し、サーバーを過負荷にしないようにすること、および価値の低いページや繰り返しページがインデックス化されるのを回避することでサイトの SEO の健全性を維持することです。

:warning: このファイルを注意深く検討せずに変更すると、サイトのインデックス作成に悪影響を与える可能性があります。

マイグレーションと URL リダイレクト

パーマリンク機能は、SEO を維持し、「ページが見つかりません」エラーを防ぎ、検索エンジンがインデックス作成しやすいように適切なメタデータを提供する目的で、古い URL をリダイレクトするために使用されます。
コミュニティ サイトが当社のチームによって Discourse に移行された場合、正当な理由がない限り、URL リダイレクトが含まれます。

既存のインポーター スクリプトのいずれかを使用している場合は、スクリプトがこれを処理することを確認する必要があります[3]。管理パネルの [カスタマイズ][パーマリンク] で手動でパーマリンクを追加できます。

Discourse ページビューと Google Analytics の不一致

Discourse と Google Analytics では、ページビューのカウント方法が異なるため、Discourse の方がページビュー数が高くなることがよくあります。この違いは、Discourse がシングルページ アプリケーションであり、重要なリクエストごとにページビューをカウントするためです。

一方、Google は Javascript を使用して、フルページ読み込み時のみページビューをカウントし、デフォルトでは Web クローラーを除外します。Google とは異なり、Discourse は発生した生の要求をカウントし、ページの最初の読み込み時またはルート遷移時にページビューを発行するため、追跡メカニズムは互いに異なります。

データ レポートと分析についてさらに詳しく知りたい場合は、専用のカテゴリを参照してください。

インデックス解除方法

Google のインデックスからページを削除するには、コンテンツを削除するか、ページへのアクセスをブロックします。ニーズに応じて、サイト全体をプライベートにすることができます[4]。トピックを削除するか、制限付きカテゴリに配置することで、トピックを除外できます。非表示のトピックはデフォルトではインデックス化されませんが、どこかに公開リンクがあり、それにリダイレクトする場合はインデックス化される可能性があります。

永続的な削除には、Google Search Console の削除ツールを使用することが、ページを検索結果から除外するための鍵となります。

詳細については、Remove information on your website from Google - Search Console Help を参照してください。


  1. 詳細については、Secure Uploads を参照してください。 ↩︎

  2. 「allow index in robots txt」設定を探してください。 ↩︎

  3. インポート スクリプトで permalink 文字列を検索すると、この情報が得られます。 ↩︎

  4. 「login required」設定を探してください。 ↩︎

「いいね!」 19

DiscourseのSEOに関する詳細な概要をありがとうございます!さまざまなプラットフォームを扱うSEOエキスパートとして、Discourseがsitemap.xmlrobots.txtのような必須要素をどのように処理するかを知ることができて非常に助かります。デフォルトのセットアップは非常にSEOフレンドリーですが、Discourseフォーラムでのインデックス制御やスキーママークアップの統合をさらに強化するためのベストプラクティスやプラグインの推奨事項はありますか?

コミュニティからさらに学び、貢献できることを楽しみにしています!

「いいね!」 2