Desactivación del verificador de vínculos AEM

Descripción

Entorno
Experience Manager 6.4

Problema/Síntomas
Si el verificador de vínculos está configurado para no realizar ninguna acción si un vínculo está roto. A continuación, en este caso, ¿cómo se puede deshabilitar el verificador de enlaces externo para que no valide los vínculos? Al hacer perfiles de CPU y analizar volcados de subprocesos, la comprobación de enlaces está afectando el rendimiento, y nos gustaría desactivarlo.

Antecedentes:  Siempre que se carga un sitio en AEM, el verificador de vínculos comprueba automáticamente si hay vínculos incrustados en todas las páginas de contenido y marca cada vínculo como Válido o No válido.

Esto puede ralentizar una instancia o un sitio debido a un gran número de advertencias del Verificador de vínculos en el registro.  Se optar por desactivar algunas comprobaciones de vínculos.

Nota: El verificador de vínculos no debe estar activado en las instancias de publicación.

Resolución

Cómo desactivar el Link Checker o configurar para marcar los vínculos como válidos en AEM

  1. Deshabilite la comprobación de vínculos en las páginas:
    • Agregar x-cq-linkchecker="valid" en el una etiqueta para asegurarse de que los vínculos estén siempre marcados como válidos por el verificador de enlaces.

    • Uso opcional x-cq-linkchecker="skip" en el una etiqueta El verificador de enlaces ni siquiera comprobará la validez.

  2. Deshabilite completamente el verificador de vínculos a través del Consola web AEM:
    • Acceda a la Configuración de la Consola Web AEM 1.

    • Buscar Transformador del verificador de vínculos de CQ de día.

    • Marque la Deshabilitar comprobación y haga clic en Guardar.

  3. Desactive la comprobación de vínculos para un dominio determinado:
    • Acceda a la Configuración de la Consola Web AEM 1.

    • Buscar Servicio Day CQ Link Checker.

    • Edite el Patrones de anulación de comprobación de enlace parámetro.

Ejemplo 1: sistema/

No se comprobará ningún vínculo externo que empiece por el sistema.  Añada patrones de anulación adicionales a esta sección haciendo clic en el signo +.

Ejemplo 2:

Esto marcará todos los vínculos como válidos para avanzar.

Recomendado: Elimine todos los nodos en /var/linkchecker para evitar que el verificador de enlaces vuelva a comprobar las direcciones URL.

{1}http://host:port/system/console/configMgr

Nota:

Si utiliza service.Special_link_pattern, el verificador de vínculos seguirá comprobando la dirección URL para ver si es válida en términos de caracteres y estructura.


 Desactivación programática de la comprobación de vínculos externos

Añadir este código en el componente de página jsp impide que la comprobación de enlaces externos se realice llamando a LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true).  En la mayoría de los casos, solo lo implementaría en instancias de publicación, no en instancias de autor.  Así que aquí hay código para demostrar:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
% 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 ); } %

Si solo desea desactivar la comprobación de vínculos de un componente o parte de la página específico, puede volver a activarla con este código:
 
1
2
3
% s.setIgnoreExternals( false ); %

En esta página