Désactivation du vérificateur de lien d’AEM
Cet article traite de la préoccupation de Adobe Experience Manager lorsque la vérification des liens affecte les performances lors du profilage du processeur et de l’analyse des vidages de threads.
Description description
Environnement
Experience Manager 6.4
Problème/Symptômes
Si le vérificateur de liens est configuré pour ne rien faire lorsqu’un lien est rompu, comment peut-on désactiver le vérificateur de liens externe dans la validation des liens ? Lors du profilage du processeur et de l’analyse des images mémoire de threads, la vérification des liens affecte les performances et doit être désactivée.
Arrière-plan : Chaque fois qu’un site est chargé dans AEM, le vérificateur de liens recherche automatiquement les liens incorporés dans toutes les pages de contenu et marque chaque lien comme étant valide ou non valide.
Cela peut ralentir une instance ou un site en raison d’un grand nombre d’avertissements du vérificateur de liens dans le journal. Vous pouvez décider de désactiver la vérification des liens.
Remarque : Le vérificateur de liens ne doit pas être activé sur les instances de publication.
Résolution resolution
Comment désactiver le vérificateur de liens ou le configurer pour marquer les liens comme valides dans AEM
-
Désactiver la vérification des liens dans les pages :
-
Ajoutez le paramètre
x-cq-linkchecker="valid"
dans la balise pour vous assurer que les liens sont toujours marqués comme valides par le vérificateur de liens. -
Si vous le souhaitez, utilisez
x-cq-linkchecker="skip"
dans le vérificateur de liens a tag. Il ne vérifie même pas la validité.
-
-
Désactivez complètement le vérificateur de liens via la console web d’AEM :
-
Accédez à la configuration de la console Web AEM 1.
-
Recherchez Day CQ Link Checker Transformer.
-
Cochez la case Désactiver la vérification et cliquez sur Enregistrer.
-
-
Désactiver la vérification des liens pour un certain domaine :
-
Accédez à la configuration de la console Web AEM 1.
-
Recherchez Day CQ Link Checker Service.
-
Modifiez le paramètre Link Check Override Patterns (Modèles de remplacement de la vérification de lien).
-
Exemple 1 : system/
Aucun lien externe commençant par le système ne sera vérifié. Ajoutez d’autres modèles de remplacement à cette section en cliquant sur le signe +.
Exemple 2 :
Tous les liens seront ainsi marqués comme valides à l’avenir.
Recommandé : supprimez tous les noeuds sous /var/linkchecker pour empêcher le vérificateur de liens de revérifier les URL.
{1}http://[
host]
:[
port]
/system/console/configMgr
Remarque : Si vous utilisez le service.special_link_patterns, le vérificateur de liens vérifie toujours l’URL pour voir si elle est valide en termes de caractères et de structure.
Désactivation par programmation de la vérification de liens externes
L’ajout de ce code dans votre composant de page jsp empêche la vérification externe des liens d’être effectuée en appelant LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true
. Dans la plupart des cas, vous ne l’implémenteriez que sur les instances de publication, et non sur les instances de création. Voici donc un code à montrer :
<%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 partie spécifique de la page, vous pouvez la réactiver avec ce code :
<%
s.setIgnoreExternals(false);
%