Inaktivera AEM Länkkontroll
I den här artikeln behandlas Adobe Experience Manager problem där länkkontroll påverkar prestandan vid CPU-profilering och analys av tråddumpar.
Beskrivning description
Miljö
Experience Manager 6.4
Problem/symtom
Om Länkkontroll är konfigurerad att inte utföra någon åtgärd när en länk bryts, hur kan du inaktivera den externa länkkontrollen från att validera länkar? När du gör CPU-profilering och analyserar trådsdumpar påverkar länkkontrollen prestanda och måste stängas av.
Bakgrund: När en plats läses in i AEM söker länkkontrollen automatiskt efter inbäddade länkar på alla innehållssidor och markerar varje länk som antingen giltig eller ogiltig.
Detta kan göra en instans eller plats långsammare på grund av ett stort antal Länkkontroll-varningar i loggen. Du kan välja att inaktivera vissa länkkontroller.
Obs! Länkkontrollen ska inte aktiveras för publiceringsinstanser.
Upplösning resolution
Inaktivera Länkkontroll eller konfigurera för att markera länkar som giltiga i AEM
-
Inaktivera länkkontroll på sidorna:
-
Lägg till parametern
x-cq-linkchecker="valid"i a-taggen för att se till att länkar alltid markeras som giltiga av länkkontrollen. -
Om du vill kan du använda
x-cq-linkchecker="skip"i a tag Länkkontroll kontrollerar inte ens giltigheten.
-
-
Inaktivera länkkontroll helt via AEM webbkonsolen:
-
Gå till AEM Web Console Configuration 1.
-
Sök efter dagars CQ Link Checker Transformer.
-
Markera rutan Inaktivera kontroll och klicka på Spara.
-
-
Inaktivera länkkontroll för en viss domän:
-
Gå till AEM Web Console Configuration 1.
-
Sök efter dagars CQ Link Checker Service.
-
Redigera parametern Åsidosätt mönster för länkkontroll.
-
Exempel 1: system/
Eventuella externa länkar som börjar med systemet kontrolleras inte. Lägg till ytterligare åsidosättningsmönster i det här avsnittet genom att klicka på +.
Exempel 2:
Då markeras alla länkar som giltiga om de flyttas framåt.
Rekommenderas: Ta bort alla noder under /var/linkchecker om du vill stoppa länkkontrollen från att kontrollera URL:er igen.
{1}http://[ värd] :[ port] /system/console/configMgr
Obs! Om du använder service.special_link_patterns kontrollerar länkkontrollen fortfarande URL:en för att se om den är giltig vad gäller tecken och struktur.
Inaktivera kontroll av externa länkar programmatiskt
Om du lägger till den här koden i sidkomponentens jsp hindras den externa länkkontrollen från att utföras genom att anropa LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true. I de flesta fall implementerar du det bara på publiceringsinstanser, inte författare. Här är lite kod som visar:
<%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);
}
%>
Om du bara vill inaktivera länkkontrollen för en viss komponent eller del av sidan kan du aktivera den igen med den här koden:
<%
s.setIgnoreExternals(false);
%