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

正規表現を使用した URL のリンクチェックの無効化

リンクチェックは、処理されているすべてのリンクを無視するように設定できます。

次の以下の設定は、パブリッシュインスタンスに固有の設定です。作成者に設定するには、パスを../config.publish/..から次の通りに変更します。../config.author/... 以下の手順は CRX Content Explorer 内から実行されます。

  1. プロジェクト(/apps/appname/config.publish/{OSGi service PID})に設定ノード(ノードタイプ sling:OsgiConfig)を作成します。
  2. または、/libs/cq/linkchecker/config.author/com.day.cq.rewriter.linkchecker.impl.LinkCheckerImplin から、選択した設定フォルダー(つまり /apps/myapp/config.publish)をコピーできます。
  3. プロパティ service.check_override_patterns を「^system/」から「^」に変更します。
  4. /var/linkchecker の下のすべてのノードを削除して、定期的にリンクチェックが URL を再確認するのを停止します。
  5. 作成者が設定を行った場合は、パッケージを作成してパブリッシュインスタンスにもインストールします。

注意:

service.check_override_patterns を使用している場合は、リンクチェックで URL がチェックされ、その URL が文字と構造で有効かどうかが確認されます。ただし、CQ5.4 および以降のバージョンで以下を使用することもできます。service.special_link_patterns=".*" これは service.check_override_patterns="^." の代わりとなります。有効性の確認を避けるためです。

注意:

この設定を適用するときは、使用する正規表現に注意してください。上記の正規表現の例では、すべてのリンクチェックとリンクの書き換えを無効にします。そのため、JCR Resource Resolver または /etc/map マッピングを使用してサイト上のリンクを書き換えると、この設定はこれらの書き換えを無効にします。その他のオプションについては、以下を参照してください。

ページコンポーネント 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);
%>

設定によるすべてのリンクチェックの無効化

  1. CQ5.5 SP2.1 が実行されている場合は続行ししてください。CQ5.6.1 を実行している場合は、ホットフィックス NPR-3751(ホットフィックスの詳細についてはこちらを参照してください)をインストールしてください。
  2. /system/console/configMgr に移動し、管理者としてログインします。
  3. 「Link Checker Transformer」を検索します。
  4. 「チェックの無効」ボックスをオンにして保存します。
  5. /crx/explorer に移動し、管理者としてログインします。
  6. 「Content Explorer」を開きます。
  7. /var/linkchecker を参照してください。
  8. ノードを右クリックし、「Delete Recursively」を選択します。
  9. 「すべて保存」をクリックします。

注意:

この方法を使用すると、リンクの書き換えを無効にすることなく、すべてのリンクチェックを無効にできます。

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

法律上の注意   |   プライバシーポリシー