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.
Cómo desactivar el Link Checker o configurar para marcar los vínculos como válidos en AEM
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.
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.
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 ); } % |
---|
1 2 3 |
% s.setIgnoreExternals( false ); % |
---|