Desative o Verificador de links AEM

Este artigo aborda a preocupação do Adobe Experience Manager em que a verificação de links está afetando o desempenho durante a criação de perfil da CPU e a análise de despejos de thread.

Descrição description

Ambiente

Experience Manager 6.4

Problema/Sintomas

Se o Verificador de links estiver configurado para não executar nenhuma ação quando um link for quebrado, como é possível desabilitar a validação de links para o Verificador de links externos? Ao criar o perfil da CPU e analisar despejos de encadeamento, a verificação de links está afetando o desempenho e precisa ser desativada.

Plano de fundo: Sempre que um site é carregado no AEM, o Verificador de Links verifica automaticamente os links inseridos 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.  Pode ser tomada uma decisão para desabilitar alguma verificação de link.

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

Resolução resolution

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

    • Adicione o parâmetro x-cq-linkchecker="valid" à marca para garantir que os links sejam sempre marcados como válidos pelo Verificador de Links.

    • Opcionalmente, use x-cq-linkchecker="skip" na uma marca. O Verificador de Links nem sequer verificará a validade.

  2. Desabilite completamente o Verificador de Links através do Console da Web do AEM:

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

    • Procure por Transformador do Verificador de Links CQ de Dias.

    • Marque a caixa Desabilitar 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.

    • Pesquise por Day CQ Link Checker Service.

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

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: excluir todos os nós em /var/linkchecker para impedir que o Verificador de Links verifique novamente as URLs.

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

Observação: Se você usar o service.special_link_pattern, o Verificador de Links ainda verificará a URL para ver se ela é válida em termos de caracteres e estrutura.

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

A adição desse código ao componente jsp da página impede que a verificação de links externos seja feita ao chamar 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);
%
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f