リンクチェックを無効にする方法

リンクチェックは、リンクが破損している場合にアクションを実行しないように設定されています。この場合、リンクの検証から外部リンクチェックを無効にするにはどのようにしたらよいですか?CPU をプロファイリングし、スレッドダンプを分析していることで、リンクチェックはパフォーマンスに影響を与えているので、これをオフにします。

AEM でリンクチェックを無効にしたり、リンクを有効としてマークするように設定する方法

バックグラウンド:AEM にサイトが読み込まれると、リンクチェックはすべてのコンテンツページに埋め込まれているリンクを自動的に確認し、各リンクに有効または無効のマークを付けます。

ログに多数のリンクチェッカー警告があるため、インスタンスまたはサイトの速度が低下する場合があります。  一部のリンクチェックを無効にするために決定を行うことができます。  

注意:公開インスタンスでは、リンクチェックを有効にしないでください。

1. ページ内のリンクチェックを無効にします。

  • <a> タグに x-cq-linkchecker="valid" パラメーターを追加して、そのリンクが常にリンクチェックによって有効としてマークされるようにします。
  • 必要に応じて、<a> で x-cq-linkchecker="skip" を使用します。リンクチェッカーは有効性をチェックしません。  

2. AEM Web Console でリンクチェックを無効にします。

  • AEM Web Console Configuration [1] にアクセスします。 
  • Day CQ Link Checker Transformer」を検索します。
  • チェックの無効」ボックスをオンにして「保存」をクリックします。

3. 特定のドメインのリンクチェックを無効にします。

  • AEM Web Console Configuration [1] にアクセスします。 
  • Day CQ Link Checker Transformer」を検索します。
  • Link Check Override Patterns パラメーターを編集します。

        例 1:^system/

        system から始まる外部リンクはチェックされません。  「+」をクリックして、追加のオーバーライドパターンをこのセクションに追加します。

        例 2: ^

        これにより、今後すべてのリンクが有効としてマークされます。  

推奨:/var/linkchecker の下のすべてのノードを削除して、リンクチェックが URL を再確認するのを停止します。

[1] http://[host]:[port]/system/console/configMgr

 

注意:

service.special_link_patterns を使用している場合は、リンクチェックで URL がチェックされ、その URL が文字と構造で有効かどうかが確認されます。

ページコンポーネント JSP にこのコードを追加することにより外部リンクのチェックが LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true) の呼び出しにより操作されないようにします。ほとんどの場合、オーサー上ではなく、パブリッシュインスタンス上で実装するだけです。したがって、次のようなコードを記述できます。

<%
org.apache.sling.runmode.RunMode runmode = sling.getService(org.apache.sling.runmode.RunMode.class);
String[] runmodes = runmode.getCurrentRunModes();
boolean isPublish = false;
String [] expectedRunModes = {"publish"};
if(runmode.isActive(expectedRunModes)) {
isPublish = true;
}

if(isPublish) {
LinkCheckerSettings s = LinkCheckerSettings.fromRequest(slingRequest);
s.setIgnoreExternals(true);
}
%>

専用コンポーネントまたはページの一部のリンクチェックをただ無効にしたい場合は、このコードを使用して再度有効にすることができます。

<%
s.setIgnoreExternals(false);
%>

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

リーガルノーティス   |   プライバシーポリシー