Desative o verificador de links AEM

Descrição

Ambiente
Experience Manager 6.4

Problema/Sintomas
Se o Verificador de links estiver configurado para não realizar nenhuma ação se um link estiver quebrado. Nesse caso, como desabilitar o verificador de links externos da validação de links? Ao fazer a criação de perfis da CPU e analisar despejos de encadeamentos, a verificação de link está afetando o desempenho e gostaríamos de desativá-la.

Plano de fundo:  Sempre que um site é carregado no AEM, o Verificador de links verifica automaticamente os links incorporados em todas as páginas de conteúdo e marca cada link como Válido ou Inválido.

Isso pode retardar uma instância ou um site devido a um grande número de avisos do Verificador de links no log.  Uma decisão pode ser tomada para desativar alguma verificação de link.

Observação: o Verificador de links não deve estar ativado em instâncias de publicação.

Resolução

Como desabilitar o Verificador de links ou configurar para marcar links como válidos no AEM

  1. Desative a verificação de link nas páginas:
    • Adicionar x-cq-linkchecker="valid" no uma tag para garantir que os links estejam sempre marcados como válidos pelo Verificador de links.

    • Opcionalmente, use x-cq-linkchecker="skip" no uma tag O Verificador de links nem sequer verificará a validade.

  2. Desative completamente o Verificador de links por meio do Console da Web AEM:
    • Acesse a Configuração do Console da Web AEM 1.

    • Procurar por Transformador Day CQ Link Checker.

    • Verifique a Desativar verificação e clique em Salvar.

  3. Desative a verificação de links para um determinado domínio:
    • Acesse a Configuração do Console da Web AEM 1.

    • Procurar por Serviço Day CQ Link Checker.

    • Edite o Padrões de Substituição de Verificação de Link parâmetro.

Exemplo 1: sistema/

Nenhum link externo que inicie com o sistema será verificado.  Adicione mais padrões de substituição a esta seção clicando no sinal +.

Exemplo 2:

Isso marcará todos os links como um avanço válido.

Recomendado: exclua todos os nós em /var/linkchecker para impedir que o Verificador de links verifique novamente os URLs.

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

Observação:

Se você usar service.Special_link_pattern, o Verificador de links ainda verificará o URL para ver se ele é válido em termos de caracteres e estrutura.


 Desative programaticamente a verificação de links externos

A adição desse código no componente de página jsp impede que a verificação de link externo seja feita ao chamar LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true).  Na maioria dos casos, você só implementaria em instâncias de publicação, não em autor.  Aqui está um código para demonstrar:

 

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

Se você quiser apenas desativar a verificação de link para um componente ou parte da página específico, é possível reativá-lo com este código:
 
1
2
3
% s.setIgnoreExternals( false ); %

Nesta página