Deaktivieren des AEM-Link-Checkers
Dieser Artikel behandelt das Problem mit Adobe Experience Manager, bei dem die Link-Überprüfung die Leistung während der Profilerstellung und Analyse von Thread-Dumps in CPU beeinträchtigt.
Beschreibung description
Umgebung
Experience Manager 6.4
Problem/Symptome
Wenn der Link-Checker so konfiguriert ist, dass er keine Aktion ausführt, wenn ein Link beschädigt ist, wie kann man dann den externen Link-Checker davon abhalten, Links zu validieren? Bei der Profilerstellung und Analyse von Thread-Dumps in CPU wirkt sich die Link-Überprüfung auf die Leistung aus und muss deaktiviert werden.
Hintergrund: Wenn eine Site in AEM geladen wird, prüft der Link-Checker automatisch die eingebetteten Links in allen Inhaltsseiten und markiert jeden Link entweder als gültig oder ungültig.
Dies kann eine Instanz oder eine Website aufgrund einer großen Anzahl von Link-Checker-Warnungen im Protokoll verlangsamen. Es kann beschlossen werden, bestimmte Linkprüfungen zu deaktivieren.
Hinweis: Der Link-Checker sollte auf Veröffentlichungsinstanzen nicht aktiviert werden.
Auflösung resolution
Deaktivieren des Link-Checkers oder Konfigurieren, um Links in AEM als gültig zu kennzeichnen
-
Deaktivieren Sie die Link-Überprüfung auf den Seiten:
-
Fügen Sie
x-cq-linkchecker="valid"Parameter im a-Tag hinzu, um sicherzustellen, dass Links vom Link-Checker immer als gültig markiert werden. -
Optional können Sie
x-cq-linkchecker="skip"im a-Tag verwenden. Der Link-Checker überprüft nicht einmal die Gültigkeit.
-
-
Deaktivieren Sie den Link-Checker vollständig über die AEM-Web-Konsole:
-
Rufen Sie die AEM Web Console-Konfiguration 1 auf.
-
Suchen Sie nach Day CQ Link Checker Transformer.
-
Markieren Sie das Überprüfung deaktivieren und klicken Sie auf Speichern.
-
-
Deaktivieren Sie die Link-Überprüfung für eine bestimmte Domain:
-
Rufen Sie die AEM Web Console-Konfiguration 1 auf.
-
Suchen Sie nach Day CQ Link Checker Service.
-
Bearbeiten Sie den Link Check Override Patterns.
-
Beispiel 1: system/
Externe Links, die mit dem System beginnen, werden nicht geprüft. Fügen Sie diesem Abschnitt zusätzliche Muster hinzu, indem Sie auf das Pluszeichen (+) klicken.
Beispiel 2:
Dadurch werden alle Links in Zukunft als gültig markiert.
Empfohlen: Löschen Sie alle Knoten unter /var/linkchecker, um zu verhindern, dass der Link-Checker URLs erneut überprüft.
{1}http://[ Host] :[ Port] /system/console/configMgr
Hinweis: Wenn Sie service.special_link_patterns verwenden, prüft der Link-Checker weiterhin die URL, um festzustellen, ob sie in Bezug auf die Zeichen und die Struktur gültig ist.
Programmgesteuerte Deaktivierung der Überprüfung externer Links
Durch Hinzufügen dieses Codes zur Seitenkomponenten-JSP wird verhindert, dass durch Aufrufen von LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true externe Link-Prüfungen durchgeführt werden. In den meisten Fällen wird sie nur für Veröffentlichungsinstanzen implementiert, nicht für die Autoreninstanz. Hier ist also ein Beispiel für Code:
<%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);
}
%>
Wenn Sie die Linküberprüfung nur für eine bestimmte Komponente oder einen Teil der Seite deaktivieren möchten, können Sie sie mit diesem Code erneut aktivieren:
<%
s.setIgnoreExternals(false);
%