Disattiva Verifica collegamenti AEM

Questo articolo affronta il problema di Adobe Experience Manager in cui il controllo dei collegamenti influisce sulle prestazioni durante la profilatura della CPU e l’analisi delle immagini thread.

Descrizione description

Ambiente

Experience Manager 6.4

Problema/Sintomi

Se Verifica collegamenti è configurato per non eseguire alcuna azione quando un collegamento è interrotto, come si può disabilitare la convalida dei collegamenti da parte di Verifica collegamenti esterni? Quando si esegue la profilatura della CPU e si analizzano le immagini thread, il controllo dei collegamenti influisce sulle prestazioni e deve essere disattivato.

Sfondo: Ogni volta che un sito viene caricato in AEM, Verifica collegamenti controlla automaticamente la presenza di collegamenti incorporati in tutte le pagine di contenuto e contrassegna ogni collegamento come valido o non valido.

Questa operazione può rallentare un’istanza o un sito a causa del numero elevato di avvisi nel registro di Verifica collegamenti.  Puoi scegliere di disabilitare alcune verifiche dei collegamenti.

Nota:  Verifica collegamenti non deve essere abilitato nelle istanze di pubblicazione.

Risoluzione resolution

Disabilitare Verifica collegamenti o configurarlo per contrassegnare i collegamenti come validi in AEM

  1. Disattiva il check-in dei collegamenti nelle pagine:

    • Aggiungi il parametro x-cq-linkchecker="valid" in un tag per assicurarsi che i collegamenti siano sempre contrassegnati come validi dal Link Checker.

    • Facoltativamente, utilizzare x-cq-linkchecker="skip" in a tag Link Checker non verificherà nemmeno la validità.

  2. Disabilita completamente Verifica collegamenti tramite la console Web AEM:

    • Accedi alla console web AEM Configurazione 1.

    • Cerca Day CQ Link Checker Transformer.

    • Seleziona la casella Disattiva verifica e fai clic su Salva.

  3. Disattiva la verifica dei collegamenti per un determinato dominio:

    • Accedi alla console web AEM Configurazione 1.

    • Cerca Day CQ Link Checker Service.

    • Modifica il parametro Link Check Override Patterns.

Esempio 1: system/

Qualsiasi collegamento esterno che inizi con il sistema non sarà controllato. Aggiungi ulteriori pattern di sostituzione a questa sezione facendo clic sul segno +.

Esempio 2:

Tutti i collegamenti verranno contrassegnati come validi per il futuro.

Consigliato: elimina tutti i nodi in /var/linkchecker per impedire a Verifica collegamenti di ricontrollare gli URL.

{1}http://[ host] :[ porta] /system/console/configMgr

Nota: Se utilizzi service.special_link_pattern, Verifica collegamenti controlla comunque l'URL per verificare se è valido in termini di caratteri e struttura.

Disabilita a livello di codice la verifica dei collegamenti esterni

L'aggiunta di questo codice nel jsp del componente page impedisce l'esecuzione del controllo dei collegamenti esterni chiamando LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true. Nella maggior parte dei casi, puoi implementarlo solo sulle istanze di pubblicazione, non sull’istanza di authoring. Ecco un codice per dimostrarlo:

<%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);
}
%>

Se desideri disattivare solo il controllo dei collegamenti per un componente specifico o una parte della pagina, puoi riabilitarlo con questo codice:

<%
s.setIgnoreExternals(false);
%
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f