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 executar nenhuma ação se um link for desfeito. Então, nesse caso, como é possível desativar o verificador de links externos da validação de links? Ao criar o perfil da CPU e analisar despejos de encadeamento, a verificação de links 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

  1. Desative a verificação de links nas páginas:

    • Adicionar x-cq-linkchecker="valid" parâmetro no uma tag para garantir que os links sejam sempre marcados como válidos pelo Verificador de links.

    • Opcionalmente, usar 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 da Console da Web AEM:

    • Acesse a configuração 1 do console da Web AEM.

    • Pesquisar por Transformador do Verificador de links CQ diário.

    • 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 1 do console da Web AEM.

    • Pesquisar por Serviço Day CQ Verificador de links.

    • Edite o Padrões de substituição de verificação de link parâmetro.

Exemplo 1: system/

Nenhum link externo que comece 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 válidos a partir de agora.

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

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

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

Desabilitar verificação de link externo de forma programática

A adição desse código no componente página jsp impede que a verificação de link externo seja feita, chamando style="background:transparent; color:#0e101a; margin-bottom:0pt; margin-top:0pt"> LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true. Na maioria dos casos, você só o implementaria em instâncias de publicação, não em autoria. Portanto, aqui estão alguns códigos para demonstrar:

`<` %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 desativar apenas a verificação de link para um componente específico ou parte da página, será possível reativá-la novamente com este código:

`<` %
s.setIgnoreExternals(false);
%

Nesta página