検索結果でAbout.htmlページが目立つように表示されるが、実際には見当たらない

about.html へのリンクがありますが、ここ Meta にもあるように、リンクが欠落しています:About - Discourse Meta

設定などを見落としていたのでしょうか?よろしくお願いいたします!

Discourse には .html 拡張子はありません。

About - Discourse Meta <— これが正しい URL です

はい、ありがとうございます。しかし、Google somehow 1 つ見つけてしまいました。:man_shrugging:

それが見当たりません

それは興味深いですね :wink: 私も同じように見つけることができます:


→ about.html

見つかりました。

おそらく、サイトマッププラグインをインストールする必要があります

ありがとうございます。すでにインストール済みです。

サイトマッププラグインは、/about ページさえも宣伝していません。
私が考えられるのは、どこかで誰かが /about.html にリンクしていることです。

そして、Discourse がそれに対して 200 OK を返しています :scream: :scream: :scream:

無効なドキュメント名であっても、多くの場合 200 応答を返してしまいます:

  • faq.html
  • categories.html
  • u.html
  • tags.html
  • top.html
  • badges.html

これは組み込みルートに限定された問題かと考えていましたが、cake day プラグインでは機能しています:

  • /cakeday/anniversaries/today.html

しかし、knowledge-explorer では以下で 404 エラーになります:

  • /docs.html

一方で、以下では問題ありません:

  • badges.html

:thinking:

1〜2 週間前に、js ファイルで同様の問題が発生しませんでしたか?

ふむ、これらの unusual URL に対して 200 を返すべきでしょうか、@eviltrout

この問題は、Rails のルーティングの仕組みに関連しています。デフォルトでは、任意のエンドポイントが :format パラメータをオプションのドット付きで指定できます。つまり、.html は HTML 形式、.json は JSON 形式を意味します。

about.html/about と同じです(どちらも HTML バージョンをリクエストします)。ただし、Ember では HTML 拡張子付きのルートは使用しないため、about.html のルートが存在せず、バックエンドとフロントエンドの間で不一致が生じます。サーバーは 200 を返しますが、クライアント側では「待て、それは見つからない」と判断してしまいます。

これを修正する方法はいくつかあります。Rails のルートを調整して、.html には対応せず、.json には引き続き対応するように変更できます。これをグローバルに適用する方法は今のところ見当たりませんが、私が知らない方法があるかもしれません。

正直なところ、この作業にはあまり乗り気ではありません。修正を急ぐ特別な理由がなければ、このままでも問題ないと思います。