「サイトヘルス」/リンクチェック機能を探しています

Discourse の導入から約 2 ヶ月が経過し、まだ学習中の段階です。ユーザー生成コンテンツがすべて有効な場所へのリンクになっているかを確認する方法を探しています。特に、リンク、画像、ダウンロードに焦点を当てています。つまり、外部への 404 エラーのレポートを生成したいと考えています。

メタフォーラム、プラグインディレクトリ、API ドキュメントを確認しましたが、求めるものが全く見つかりませんでした。既存のプラグインがあるのか、それとも API を使って何らかのものを組み立てる必要があるのか、わかりません。

このようなツールは存在しますか?

「いいね!」 1

画像については、ホットリンクされた画像をローカルにダウンロードすることで、標準機能としてこの問題を解決しています。これにより、画像がリンク切れになることは決してありません。

リンクについては、カスタムプラグインが必要です。

「いいね!」 4

ご確認ありがとうございます。早速着手いたします。

画像に関するご指摘、承知いたしました。おそらく、これはホスト版のストレージ容量制限に抵触するものと思われます。

「いいね!」 1

ホスト環境にお住まいで(Enterprise 版ではない場合)、プラグインの使用はできない可能性が高いです。その場合、API を活用して何らかの仕組みを組み立てる方が良いでしょう。まずは、投稿 ID と URL を返すデータエクスプローラーのクエリから始めて、その後、URL をチェックし、URL が問題になった場合に投稿をフラグ付けするような処理を追加することも考えられます。

「いいね!」 1

こんにちは、Jay さん。

私たちは CDCK によってホストされており、エンタープライズプランを利用しています。ただ、あなたの提案も確認してみます。

開発者フォーラムでは、投稿の有用性を損なうことなく、リンクの切れを最小限に抑えるよう努めています。ただし、基盤となる技術が非推奨になったり削除されたりすることは、どうしようもない場合もあります。

ありがとう

「いいね!」 4

こんにちは、エリックさん。

ホスト型のお客様には、特別な扱いをさせていただいております :hugs:

今日できることとして、ビジネスプランとエンタープライズプランの両方でサポートしているプラグイン「データエクスプローラー」を使って、投稿内の最新リンクについて問い合わせることができます。

SELECT url, post_id, click
FROM topic_links
WHERE not internal
ORDER BY post_id DESC
LIMIT 100

このクエリは、投稿内にリンクされた直近の外部 URL を 100 件まで一覧表示します。結果を CSV としてダウンロードし、リンク検証ツールを実行して問題のある投稿を特定することも可能です。

さらに、リンクのクリック数も追跡していますので、クリック数でソートしたり、クリック数が 0 のものを除外したりすることもできます。

これで問題の解決に役立ちますでしょうか?

「いいね!」 6

こんにちは、サムさん。

それで問題ないと思います。トラフィック量はそれほど多くないとは思いますが、時間の経過とともにリンクが切れてしまうのを防ぎたいと考えています。特に、当社のコーポレートサイトへのリンクについてはです。

「いいね!」 1