Désactivation du vérificateur de lien d’AEM

Cet article traite de l’AEM des problèmes de vérification des liens qui affectent les performances lors du profilage du processeur et de l’analyse des images mémoire 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.

Contexte :   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

  1. Désactiver la vérification des liens dans les pages :

    • Ajouter x-cq-linkchecker="valid" du paramètre une balise pour vous assurer que les liens sont toujours marqués comme valides par le vérificateur de liens.

    • Utilisation facultative x-cq-linkchecker="skip" dans le une balise Le vérificateur de liens ne vérifie même pas la validité.

  2. Désactivez complètement le vérificateur de liens via le Console web d’AEM:

    • Accédez à la configuration de la console Web AEM 1.

    • Recherchez Transformateur du vérificateur de liens Day CQ.

    • Vérifiez les Désactiver la vérification puis cliquez sur Enregistrer.

  3. Désactiver la vérification des liens pour un certain domaine :

    • Accédez à la configuration de la console Web AEM 1.

    • Recherchez Service de vérificateur de lien Day CQ.

    • Modifiez la variable 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://[ hôte] :[ port] /system/console/configMgr

Remarque :  Si vous utilisez 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 programmée de la vérification des liens externes

L’ajout de ce code dans le jsp du composant de page empêche la vérification externe des liens 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);
%
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f