壊れたリンクを特定して同時に修正する方法はありますか?
こんにちは、ケビンさん ![]()
あなたの文脈における「壊れたリンク」を定義していただけますか?
それは以下のようなものでしょうか?
-
ユーザーの投稿内のリンク?
-
内部リンク?
-
外部リンク?
-
存在しなくなったリソース(404)につながるリンク?
-
以前はつながっていたリソースと同じリソースにつながらなくなったリンク?
リンクが一時的に「壊れている」(例えば、何らかの理由でターゲットが一時的にダウンしている)ことをどのように知るのでしょうか?リンクは数分、数時間、数日、数週間壊れていて、その後元に戻ることがあります。
削除されたり、変更されたり、更新されたり、関連性がなくなったり、無関係になったりすることがあります。どのようにしてそれを知るのでしょうか?
壊れたリンクの修正とは何でしょうか?
-
リンクの削除?
-
URLを別のものに置き換える?
-
壊れたリンクを関連性のある動作するものに置き換える方法をどのように知るのでしょうか?
いずれにしても、カスタムスクリプトが必要になります。このような組み込み機能はありません。 ![]()
ウェブ全体で、リンク切れは内部か外部かに関わらず404エラーを返すリンクであり、内部リンクの場合はしばしば警報的な状況になります。
そして、修正はそれらのいずれでも可能です。
404エラーのリストを取得し、URLを修正するか、<a>タグを削除するかのどちらかでしょうか?私が使用している他のすべてのプラットフォームで一般的な方法です。
壊れたリンクをチェックして修正するために、何かツールを提案していただけますか?
それが最も一般的であることには同意しますが、一時的な404などの問題が発生します。
あなたはここに十分長くいるので、誰もが意見を高く評価していることを知っているはずです ![]()
(私の仕事は、人々が自分の意見を表明できるようにすることも含まれています)
それらは使用すべきではありません。状況が説明されている(一般的な)URLに最初に302リダイレクトし、一時的でなくなったときに200、301、または410に変更されるべきです。
しかし、投稿が一時的な404を返すリンクを使用している場合、それは有名なエッジケースです。最も一般的なのは、実際のアウトバウンドのデッドリンクであり、修正されるべきです。
良いニュースは、それらが開かれることはかなりまれであるということです、私は思います。
ええ
まあ、私はOPの代わりに答えていたようなもので、それはあまり丁寧な行為ではありません。
私の場合は、クライアントがドメインを「.ai」から「.com」にわずかに変更したときに壊れたリンクが発生しました。フォーラム内のすべてのメッセージリンクが壊れてしまいました。修正するもっと簡単な方法があったはずですが、私は多くの投稿を手動で編集して「.ai」を「.com」に変更しました。また、投稿にアップロードされた画像を修正するためにHTMLの再構築を使用する必要もありました。非常に迷惑でした。
レールコンソール経由で検索と置換を行うことはできますか?
ディスコースについては、まだ多くのことが新しく、 pretty new です。もっと読んで学ぶ必要があります。それは投稿内の画像をアップロードする問題を修正するようなものでしょうか?また、polder の投稿内の絵文字にも影響を与えたようです。彼らはサイトを以前にも同じ問題が発生したときにリブランドしたのですが、私に相談すべきでした。私の意見では、サイトが3年以上 .ai で運営されていたので、ai から com に変更する必要性や実際のメリットはありませんでした。
さらに、アプリをインストールしたユーザーは皆壊れてしまい、元のURLを使ってサイトにアクセスしていた他のユーザーも同様でした。
Discourse にはそのような機能はなく、「壊れたリンク」(404 と仮定します)を検出するにはカスタム スクリプトが必要です。
私の考えでは、特に大規模なサイトの所有者の中には、少なくとも404エラーをチェックして特定するだけのツール/スクリプト/プラグインに興味を持つ人がいるのではないでしょうか?もしそれが妥当な価格であれば、私も資金提供を検討します。
私が最初に思いつく解決策は、投稿コンテンツを反復処理し、リンクを見つけ、それらをリクエストし、ステータスコードを確認し、必要なことを実行するレールスクリプトです。それらを削除したり、置き換えたり(そのようなアクションにはリベイクが必要になります)、ログに記録したり… ![]()
WordPressとDiscourseの比較は、技術とアイデアが大きく異なるため、ほとんど無意味です。しかし、WordPressでは、外部リンクを呼び出し、応答が200 OK以外の場合は、少なくとも4xxステータスを返したリンクを削除し、リストを作成して管理者にメールで通知する無料プラグインを使用するのは非常に簡単な作業です。
Discourseのようなアプリでそれが可能かどうかは、私にはわかりません。そのような機能が必要かどうか…誰も気にかけていないので、わかりません。「良いリンクは決して死なない」ということは、「すべてのリンクはゾンビになる」に変わりました。Wikipediaはデッドリンクでいっぱいですが、誰も気にしません。Wikipediaも編集者も気にしません。
フラグと呼ばれるものがあります。ユーザーに通知をアウトソースし、フラグを情報提供の方法で使用するように教えることができます。しかし、それは難しいと賭けてもいいです。
正直に言いましょう。公開後に使用されなくなったリンクを修正しようとする管理者/モデレーターは非常に少ないです。したがって、「リンクテスター」は便利かもしれませんが、それは有用なツールでしょうか?私の最大のWordPressサイトには、たくさんのデッドアウトバウンドリンクがあります。それらは修正されるべきであり、必要であれば修正しますが、そうでなければ…時間(または意志)がありません。
リンク切れチェッカーがあると素晴らしいです!私たちのDiscourseインスタンスは公開されていないため、通常のツールを使用できません。サポートフォーラムやナレッジベースとして使用されており、時間とともに、他の場所に格納されているドキュメントへのリンクが壊れる可能性があると予想しています。