Discourse フォーラムから正規リンクを完全に削除する方法 があるか知りたいです。
これは、ユーザーがページをスクロールダウンしたときに表示される、各トピックURLの /2, /3, /4 などの拡張子のことです。トピック内の各返信が、単に元のURLを参照するようにしたいと考えています(訪問者を元のURLにリダイレクトするのではなく、これらのパスを完全に削除して存在しないようにしたい)。
当初、これはDiscourseのクールな機能だと思っていましたが、過去1年間にNodeBBで同様のフォーラムを運営していて(これも各返信に同じ正規リンク機能を使用しています)、この機能が公開フォーラムのSEOにとって壊滅的な結果をもたらす可能性があることがわかりました。
なぜか? これらの /2, /3, /4 URLは正規リンク ですが、Googleは最終的にすべてをクロールしてインデックス化します。これは、トピック内の新しい返信ごとに Google検索結果に表示される可能性があることを意味します。そして、これらは基本的に元のトピックURLの重複バージョンであるため、これらの追加でインデックス化されたページはほとんど訪問されず、訪問があったとしても、訪問者は数秒しかサイトに滞在しません。
Googleが大量の追加ページをインデックス化し、これらのページがあまりアクティブでない場合、ドメイン全体が低品質なURL を多く持っていることをGoogleに伝え、ドメイン全体の健全性に悪影響を及ぼします(私たちのケースのように)。公開フォーラムを立ち上げて以来、トラフィックの約40%を失いましたが、その大きな要因の1つはこれらの追加URLでした(12か月の間に、各トピックに残された返信だけで、サイトマップに30,000以上の低品質URLが追加されました)。
さて、プライベートフォーラムを実行している場合、これらはすべて問題になりません。 プライベートフォーラムは、フォーラム全体がインターネットから隠されているため、SEOの恩恵を受けることがありません。しかし、公開フォーラムを実行していて、オーガニック検索トラフィックを獲得することを目標としている場合、これらの追加のURL文字列は、サイト全体の健全性に非常に 悪影響を与える可能性があります。
そこで、設定を調整したり、Discourseフォーラムにトピック内の各返信に対してこれらの追加URLを作成しないように指示するプラグインを作成したりする方法があるか疑問に思っています。
NodeBBからDiscourseへの移行を検討していますが、Discourseフォーラムにこれらの追加URLを作成させない方法があれば、意味があります。
「いいね!」 3
この問題については、以前にも少し話題になりました: Google indexing same page multiple times: Issue with canonicals
これが重要な要因であるとどのように判断できましたか?ここで行われた多くの SEO 投稿はかなり推測に基づいていたため、証拠があれば大いに役立ちます!
このプラグインの経験はなく、個人的に保証することはできませんが、誰かが以前にプラグインで正規リンクを完全に無効にしようと試みました: Remove Canonical Link Plugin
「いいね!」 7
以前にも少し話題になりました:Googleが同じページを複数回インデックスする:正規URLの問題
この会話を正しく理解しているなら、これは私が上記で話している問題とは少し異なる問題のように思えます。トピックごとに20件の返信ごとにグループ化され、ユニークなメタディスクリプションを持つ正規URLを複数作成することは問題ありません(page=2, page=3など)。問題は、トピック内の個々の返信ごとに新しいURLが作成される 場合です(/2, /3, /4など)。
100件の返信があるトピックの場合、前者はトピックあたり5つのURL (100件の返信が20件ごとにグループ化される)になります。後者はトピックあたり100のURL (すべての個々の返信に新しい個別のURLが作成される)になり、これは大きなSEOの問題を引き起こします。
これが重大な要因であるとどのように判断できましたか?ここのSEOに関する投稿の多くはかなり推測に基づいているため、証拠があると非常に役立ちます!
Google Search Console、SEMrush、Ahrefsなどのツールを使用しました。それらのすべてが、フォーラムの返信によって作成された大量のURLに起因する警告とエラーを強調しており、それらはすべて実質的な新しいコンテンツを提供せずにGoogleによってインデックスされていました。フォーラムが公開されていたとき、ヘルススコアは30代から40代でした。フォーラム全体をロックダウンしてプライベートにし(Googleが見られないように)、テストを再実行したところ、この変更だけでヘルススコアが80代に上昇しました。
このプラグインの経験がなく、個人的に保証することはできませんが、誰かが以前にプラグインで正規URLリンクを完全に無効にしようとしたことがあります:正規URLリンク削除プラグイン
これも見つけました。残念ながら、このプラグインは正規URLタグを完全に削除するだけで、/2, /3などのページはそのまま残るため、状況はさらに悪化 します。これらの追加のURLは、依然として低品質の重複コンテンツと見なされます。
「いいね!」 3
Falco
(Falco)
2021 年 11 月 19 日午後 4:56
5
注目すべきは、それらのページのレスポンスペイロードに X-Robots-Tag: noindex ヘッダーを追加することがロードマップに含まれていることです。
「いいね!」 10
知っておくと便利ですね。正しい方向への大きな一歩のように聞こえます。
参考までに、以前公開されていた現在のフォーラムで、robots.txtファイルをフォーラムの特定のサブフォルダに追加したにもかかわらず、Googleがそれらをクロールしていた という事例をいくつか目にしました。これは非常に異例だと思いますが、Googleがこの指示に従わない場合があることがわかりました。ページがインデックスされないことを100%確実にする唯一の方法は、ページをログイン画面の後ろに隠すか、ページがまったく存在しない ようにすることです。
外部の視点から見ると、Discourseにすべての返信に対してこれらの追加URLを作成するための余分な手間をかけさせないように指示するのは簡単なように思えます。ソフトウェアは、この方法でより少ない作業を行い、より少ない複雑さを作り出すのではないでしょうか?
管理設定に、これらの追加URLを完全に無効にする機能があれば便利です。
「いいね!」 1
Falco
(Falco)
2021 年 11 月 19 日午後 5:34
7
はい、その方法でrobots.txtファイルにそれらを入れる代わりにヘッダータグを使用します。
「いいね!」 3
RGJ
(Richard - Communiteq)
2021 年 11 月 20 日午前 6:48
8
ここで行われていることがよくわかりません。
Discourseは前者 を実行しているため、20件の返信のグループに対して?page=Xの正規URLメタタグを作成しています。そして、こちら で見られるように、投稿番号がサイトマップURLに追加されることはなく、?page=XのURLのみが追加されています。
したがって、問題はないとお伝えしようとしていました。
しかし、返信の多いトピックをGoogleで検索 したところ、検索結果の2ページ目には?page=Xのリンクが多数表示されていますが、上位の結果の一部は実際にそれらの番号付きの返信にリンクしています。
しかし、なぜこれが起こっているのでしょうか?そのページには正しい正規URLがあるはずです。
rgj@labgate:~$ wget -q -O - "https://meta.discourse.org/t/babble-a-chat-plugin/87297/418"|grep -e "<title" -e canonical
<title>Babble - A Chat Plugin - #418 by HAWK - broken-plugin - Discourse Meta</title>
<link rel="canonical" href="https://meta.discourse.org/t/babble-a-chat-plugin/87297?page=20" />
「いいね!」 3
pfaffman
(Jay Pfaffman)
2021 年 11 月 21 日午後 1:56
9
わかりません。
私の推測では、それらのリンクは他の場所でも見られるため、インデックスに登録されるのはそれらなのでしょうか?
「いいね!」 1
RGJ
(Richard - Communiteq)
2021 年 11 月 21 日午後 3:31
10
pfaffman:
それらはインデックス作成されるものですか?
Canonicalはそれを防ぐためにあります。少なくとも理論上は。
「いいね!」 4
Falco
(Falco)
2021 年 11 月 21 日午後 4:26
11
私は、Discourseを使用しているブラジルのブログ中心のコミュニティとこの件について長い議論をしましたが、それが、これらの投稿固有のページにnoindexヘッダーを送信するという新しいアプローチを試すきっかけとなりました。来週には、PRをクリーンアップしてマージできるようになり、それで実験を開始できます。
「いいね!」 7
「しかし、なぜこれが起こるのですか?そのページには正しい 正規URLがあります。」
まさに。それは(理論上は)起こるべきではありません が、起こります。そして、私たちのサイトで経験したように、それはドメインの健全性スコアにかなりのダメージを与え、最終的にはドメイン全体の検索ランキングに大きな悪影響を与える可能性があります。
@pfaffmanが言ったことについて 、
「それらのリンクは他の場所にも現れるため、インデックスされるのはそれらだと推測しますか?」
私もそう思ったでしょう…しかし、私たちのサイトでは、絶対に何もリンクしていなかったにもかかわらず、これらの個々の返信が何万件も Googleにインデックスされているのを目にしました。それはかなり奇妙で、なぜ/どのようにそれが起こっているのか理解できるふりはできませんが、フォーラム管理者が、必要に応じて各返信の/2、/3、/4などのURLを無効にする機能を持つことの必要性を強調しています。
興味がありますが、*Discourseにこの機能を与えるのは難しいですか?*私の非コーダーの視点からは、ソフトウェアにそれほど多くの作業をさせないように指示するだけなので、これは簡単であるように思えますが…理解できないもっと何かがあるのかもしれませんか?
「いいね!」 2
j127
2021 年 11 月 21 日午後 9:03
13
わかりませんが、それらに noindex を設定すると有害になる可能性があります。Discourse はすでに 正規 URL を使用して正しく処理しています。
それらを noindex すると、ページ全体が noindex になる可能性があります(すべて同じ正規 URL であるため)。これは壊滅的な結果になります。何が起こるかは正確にはわかりませんが、Google はエッジケースを予測不能に処理することが多く、その処理方法はアップデートとともに変化する可能性があるため、非常に注意が必要です。正規タグで奇妙なことが起こるのを見たことがあります。
ランキングアルゴリズムが正確にどのように機能するかは不明であり、時間とともに変化しますが、考慮すべきもう 1 つの点は、ランキングは被リンクの結果であるということです。外部サイトが /number URL にリンクし、その URL が noindex ヘッダーを返す場合、Google が被リンクの「リンクジュース」を正規 URL に転送しない可能性があると考えることができます。これは、Discourse サイトの検索ランキングに悪影響を与える可能性があります。
広く使用されている CMS で正規タグが機能していないことを Google 検索の担当者に知らせる方が、Google がより多くのアップデートを行うにつれて、同じように処理されない可能性のある回避策を考案しようとするよりもはるかに安全だと思います。
「いいね!」 6
RGJ
(Richard - Communiteq)
2021 年 11 月 21 日午後 9:57
14
いいえ、これは問題を修正する 必要性を強調しています。ソフトウェアエンジニアとして、機能が100%正しく動作しないという理由で機能を削除することは非常に困難です。代わりに、この問題の根本を突き止めるのを手伝ってみましょう。
本当ですか?サイトマップに投稿番号が表示されているのを見たことがありません。
「いいね!」 3
ご指摘ありがとうございます。「サイトマップ」という言葉は不適切だったかもしれません。私が言いたかったのは、これらの番号付きの投稿がGoogleにクロールおよびインデックス登録され、Google AnalyticsとSearch Consoleに個々のページとして表示されていたということです。その結果、ドメインに非常に多くの低品質なページが存在することになりました。
これらの番号が単にすべての返信に追加されなかった場合、Googleは元の投稿URLしか認識できませんでした。
「いいね!」 2
RGJ
(Richard - Communiteq)
2021 年 11 月 22 日午後 6:21
17
ええ、そしてGoogleが、Googleがこれを行うのを防ぐために特別にそこに入れられた rel="canonical" メタタグ(彼らが発明したもの !)を尊重していれば、問題にはならず、同時に特定の投稿にリンクすることもできたでしょう。
「いいね!」 7
j127
2021 年 11 月 22 日午後 6:47
18
結構です。デフォルトではオフになっていれば理想的です。なぜなら、トピックページがGoogleなどの検索エンジンから消えてしまう原因になりかねないことが考えられないわけではないからです。
すでに言及されているかもしれませんが、noindexを使わずに修正する別の方法として、投稿にURLフラグメントを使用することが考えられます。これらは別個のページとしてカウントされないはずだからです。
/t/slug/id#13
「いいね!」 5
ご提案ありがとうございます。それでうまくいくと思いますが…元の「正しい」方法でさえ機能していないことを考えると、番号付きの返信を完全に削除しない限り、何かが 問題を解決してくれるのではないかと懐疑的になります。
もちろん、すべての Discourse ユーザーがそれらを使用するのをやめるべきだと言っているわけではありません。Google が愚かである(または、フォーラムをプライベートにし、公開しないことを意図していた)のでなければ、それらを使用することに全面的に賛成です…しかし、公開フォーラムを運営し、ドメイン全体の SEO の健全性を気にする人々にとって、返信の自動番号付けをオフにするオプションがあるだけでも、非常に役立ちます。
「いいね!」 1
j127
2021 年 11 月 23 日午前 2:44
20
それでは、特定の投稿へのリンク機能が失われてしまいます。1,000件の投稿があるトピックで、投稿#789にリンクする方法がなくなり、ユーザーがそこまでスクロールするのは面倒になります。
奇妙です。Googleで私のフォーラムに投稿IDのURLがインデックスされているか検索しましたが、チェックしたすべてのトピックで正規URLしか表示されません。
しかし、別の大きなDiscourseサイトでは表示されています。このトピックでも表示されています。[Google検索 ]
次のように、2つの応答の差分を取りました。
curl -s https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648 > 1.html
curl -s https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648/8 > 2.html
nvim -d 1.html 2.html
際立った違いの1つは、article:published_timeが異なることです。ページはほとんど同一であるため、同じであるべきですが。Googleが正規URLを上書きする可能性があるメタタグでしょうか。Googleの従業員は、正規URLが特定のケースで無視されることがあるとこちら で述べています。
<meta property="article:published_time" content="2021-11-19T15:57:21+00:00" />
<meta property="article:published_time" content="2021-11-20T06:48:06+00:00" />
また、ignore_canonicalタグはDiscourse固有のものですか、それともGoogleがそれに従う可能性はありますか?HTMLでそれを見ました。
<meta property="og:ignore_canonical" content="true" />
「いいね!」 3
少し面倒になるかもしれませんが、page=2、page=3などのURLが引き続き機能する場合(番号付きの返信ほどSEOの問題を引き起こさない)、少なくとも会話内の正しいページにリンクすることができます。これにより、少しスクロールする意思があれば、かなりのところまでたどり着くことができます。
このように機能するフォーラムの1つにBiggerPocketsがあります。彼らの返信には個別の番号付きURLはありませんが、トピックには次のような番号付きページがあります:Kids throwing rocks at windows nearly everyday. Won't stop. (各トピックとページをスクロールしながらURLに注意してください)。
彼らのフォーラムは、サイトをSEOの観点から非常に特別で成功させている主要な要素であり続けているため、何が機能するかの良い例です。
興味深いですね。それが問題を引き起こしているかどうかはわかりませんが、不整合がGoogleを混乱させて正規URLを無視させる可能性があることは理解できます。
それでも、フォーラムの仕組みの性質上、各トピックの日付と時刻を完全に削除しない限り、これは排除できないのではないでしょうか?各投稿と返信の日付と時刻を考慮することは、フォーラムの仕組みの不可欠な部分と言えるでしょう。
「いいね!」 1