数値タグの奇妙なURLで500エラー(Googleクロール失敗)

私のフォーラムには「6309」という4桁の数字のタグがあり、以前から存在しています。投稿上では正常に表示され、その場合のURLは /tag/210-tag/210 となっています。

しかし、/tag/6309 のようなURLにアクセスすると、404ページではなくサーバーエラーが返ってきます。

おっと

このディスカッションフォーラムを動かしているソフトウェアで予期しない問題が発生しました。ご迷惑をおかけして申し訳ありません。

以前は、そのタグを参照する正当な方法だったのではないかと思われます。サーバーエラーとなっているため、Googleのクローラーから指摘を受けています。

タグページは以下のようになっています:

404エラーが正しい対応だと思います。

「いいね!」 2

まあ、これは見た目がよろしくないですね:

ActionView::Template::Error (No route matches {action: "tag_feed", controller: "tags", tag_id: "9999"})
  app/views/list/list.erb:136
  app/views/list/list.erb:134
  lib/topic_list_responder.rb:16:in 'block (2 levels) in TopicListResponder#respond_with_list'
  lib/topic_list_responder.rb:7:in 'TopicListResponder#respond_with_list'
  app/controllers/tags_controller.rb:223:in 'block (2 levels) in <class:TagsController>'
  app/controllers/tags_controller.rb:229:in 'TagsController#show'
  app/controllers/application_controller.rb:447:in 'block in ApplicationController#with_resolved_locale'
  app/controllers/application_controller.rb:447:in 'ApplicationController#with_resolved_locale'
  app/controllers/application_controller.rb:1098:in 'ApplicationController#ensure_dont_cache_page'
  lib/middleware/omniauth_bypass_middleware.rb:35:in 'Middleware::OmniauthBypassMiddleware#call'
  …

このエラーを修正すべきですね。また、タグ ID が見つからない場合は、すべて数字で構成されるタグ名を検索するフォールバックを実装できるかもしれません。

Wayback がそのタグを最初に検知したのは 2025 年 5 月 13 日 で、その URL は https://retrocomputingforum.com/tag/6309 でした。これは 当時機能していましたが、2025 年 12 月 16 日 まで機能していました。

「いいね!」 1

ああ、よく見つけましたね。タグが有効な場合、404 よりも何らかの3xxリダイレクト応答の方が適切かもしれませんね。