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

  1. 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.

  2. 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.

  3. 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);
%
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f