Comment désactiver le vérificateur de liens

Le vérificateur de lien est configuré pour ne pas fonctionner si un lien est rompu. Dans ce cas, comment désactiver la vérification des liens externes à partir de la validation des liens ? En procédant au profilage du processus et à l’analyse des images mémoire de threads, la vérification des liens affecte la performance et il serait préférable de la suspendre.

Comment désactiver le vérificateur de liens ou faire une configuration qui marque les liens comme valides dans AEM

Arrière-plan : Chaque fois qu’un site est chargé dans AEM, le vérificateur de liens vérifie automatiquement les liens incorporés dans toutes les pages de contenu et marque chaque lien comme étant valide ou non valide.

Cela peut ralentir l’instance ou le site en raison de l’existence d’un grand nombre de messages d’avertissements du Vérificateur de liens dans le journal.  Une décision peut être apportée pour désactiver certaines vérifications de liens.  

Remarque :  le vérificateur de liens ne doit pas être activé sur les instances de publication.  

1. Désactivez la vérification de liens dans les pages :

  • Ajoutez le paramètre x-cq-linkchecker="valid" dans la balise <a> pour vérifier que les liens sont toujours marqués comme valides par le vérificateur de liens.
  • Utilisez éventuellement x-cq-linkchecker="skip" dans la balise <a>. Le vérificateur de liens ne peut même pas vérifier la validité.  

2. Désactivez complètement le vérificateur de liens via la console Web d’AEM :

  • Accédez à Configuration de la console Web AEM [1].
  • Recherchez Transformateur de vérificateur de liens Day CQ.
  • Cochez la case « Désactiver la vérification » et cliquez sur Enregistrer.

3. Désactivation de la vérification de liens pour certains domaines :

  • Accédez à Configuration de la console Web AEM [1].
  • Recherchez Transformateur de vérificateur de liens Day CQ.
  • Modifiez le paramètre Modèles de remplacement de la vérification de liens.

        Exemple 1 : ^system/

        Tout lien externe commençant par le système ne sera pas vérifié.  Ajoutez des modèles de remplacement supplémentaires à cette section en cliquant sur le signe +. 

        Exemple 2: ^

        Ceci marque tous les liens comme étant valides et continue.  

Recommandé : Supprimez tous les nœuds sous /var/linkchecker afin d’empêcher le vérificateur de liens de revérifier les URL.  

[1] http://[host]:[port]/system/console/configMgr

 

Remarque :

Si vous utilisez service.check_override_patterns, le vérificateur de lien vérifie toujours l’URL pour savoir s’il est valide en termes de caractères et de structure.

L’ajout de ce code dans votre composant de page jsp empêche la vérification lien externe de se lancer en appelant LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true).  Dans la plupart des cas, vous ne pouvez l’implémenter que sur des instances de publication et non sur author.  Voici quelques exemples de code à présenter :

<%
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 vous souhaitez uniquement désactiver la vérification des liens pour un composant ou une pour partie spécifique de la page, vous pouvez la réactiver à nouveau avec ce code :

<%
s.setIgnoreExternals(false);
%>

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne