Personnaliser les sitemaps de préchargement et leur priorité

Si vous avez besoin de personnaliser la façon dont le Préchargement fonctionne avec les sitemaps et leur priorité dans le processus, vous pouvez utiliser les filtres rocket_sitemap_preload_list et rocket_preload_order comme indiqué ci-dessous.

Attention !  Ce guide porte sur la configuration avancée de la fonction de préchargement. Dans la plupart des cas, le fonctionnement par défaut de cette fonctionnalité est adéquat et il n'est pas nécessaire de le personnaliser.

Astuce : Vous pouvez ajouter les extraits de code suivants comme indiqué dans ce guide.

Ne précharger qu'un sitemap personnalisé

Vous pouvez utiliser l'extrait suivant si vous avez besoin de précharger un seul sitemap personnalisé et de régler le Préchargement pour ignorer tous les autres sitemaps compatibles.

function wprocket_preload_only_sitemap() {
    return ['https://domain.com/wp-content/files/custom-sitemap.xml'];
}
add_filter( 'rocket_sitemap_preload_list', 'wprocket_preload_only_sitemap', PHP_INT_MAX );

Avec cette approche, le Preload sera exécuté sur les URLs trouvées dans votre sitemap.
Veuillez noter que les autres URL seront toujours ajoutées à la file d'attente Preload si elles reçoivent une visite.

Précharger uniquement un sitemap personnalisé

Vous pouvez utiliser le plugin d'aide suivant si vous avez besoin de limiter le Preload aux seules URLs d'un sitemap personnalisé, et d'exclure toutes les autres URLs.

📥  Télécharger (.zip) : WP Rocket | Only preload URLs in a sitemap

Développeurs : Vous pouvez trouver le code de ce plugin sur GitHub.

📝 L'édition manuelle du code est nécessaire avant l'utilisation!
Note: Ce plugin d'aide ne fonctionne que pour un seul fichier XML sitemap.

  1. Après avoir téléchargé le fichier ZIP du plugin, décompressez-le et ouvrez le fichier PHP dans un éditeur de texte.
  2. A la ligne 20, remplacez https://www.example.com/sitemap_index.xml par votre URL sitemap personnalisée.
  3. Après avoir effectué vos modifications, enregistrez le fichier PHP et ré-zippez le plugin. 
  4. Dans votre site WordPress, allez sur Plugins > Add New > Upload Plugin et téléchargez le fichier ZIP. 
  5. Activer le plugin d'aide.

La prochaine fois que le préchargement sera exécuté, il sera limité aux URL de ce sitemap. Toutes les autres URL seront exclues du préchargement, mais pourront toujours être mises en cache si elles reçoivent une visite.

Précharger uniquement un groupe de sitemaps

Afin de précharger seulement les URLs trouvées dans plusieurs sitemaps personnalisés, vous pouvez utiliser le code ci-dessous.

function wprocket_preload_only_sitemaps_multiple() {
    return ['https://domain.com/wp-content/files/custom-sitemap.xml', 'https://domain.com/wp-content/files/custom-sitemap-2.xml'];
}
add_filter( 'rocket_sitemap_preload_list', 'wprocket_preload_only_sitemaps_multiple', PHP_INT_MAX );

Dans cette approche, les URL trouvés dans les sitemaps personnalisés seront préchargés et les autres URL seront ajoutés à la file d'attente de préchargement s'ils reçoivent une visite.

Précharger des sitemaps personnalisés supplémentaires

Utilisez l'extrait suivant pour vous assurer que des sitemaps spécifiques sont inclus dans le processus de préchargement, en plus des sitemaps compatibles.

function wprocket_preload_add_custom_sitemaps ( $sitemaps ){
    
    $sitemaps[] = 'https://domain.com/wp-content/files/custom-sitemap.xml';
    $sitemaps[] = 'https://domain.com/wp-content/files/custom-sitemap-2.xml';
    
    return $sitemaps;
}
add_filter( 'rocket_sitemap_preload_list', 'wprocket_preload_add_custom_sitemaps', PHP_INT_MAX );

Dans cette approche, les URL trouvées dans les sitemaps personnalisés et les URL trouvées dans les sitemaps compatibles seront préchargées, mais d'autres URL seront également ajoutées à la file d'attente de préchargement si elles sont visitées.

Remarque : lors de l'utilisation de l'un des snippets ci-dessus, qui incluent le hook rocket_sitemap_preload_list, le Préchargement doit être désactivé/ré-activé pour que les changements soient appliqués.

Cas d'utilisation du préchargement des sitemaps personnalisés

Vous trouverez ci-dessous la liste des scénarios possibles dans lesquels vous devez personnaliser le fonctionnement du préchargement des sitemaps :

  • Vous avez un gros site de commerce électronique et vous devez limiter le nombre de pages à ajouter à la file d'attente de préchargement.
  • Seules les pages à contenu critique de votre site doivent être préchargées. Vous créez un sitemap (avec, par exemple, toutes les catégories, les landing pages et les produits) et vous utilisez la première customisation du présent article.
  • Certaines pages ne sont pas présentes dans les sitemaps compatibles. Dans ce cas, vous pouvez créer un sitemap personnalisé avec ces URL, et les ajouter en utilisant la troisième méthode.

Personnaliser la priorité du préchargement

La table wp_wpr_rocket_cache est utilisée pour suivre la progression du préchargement, chaque URL ajoutée a id unique qui possède une valeur auto-incrementée.

Le filtre rocket_preload_order peut être utilisé afin que le Préchargement s’exécute sur les URL en fonction de leur id plutôt que sur leur valeur modified.

Voici l'extrait que vous devez utiliser :

add_filter( 'rocket_preload_order', function( $order ){
    return true;
}, 1);

Remarque :Pour que le code soit pris en compte, vous devez vous rendre à Réglages → Permaliens, et cliquer sur Sauvegarder, dans votre tableau de bord WordPress.

Cas d'utilisation de la personnalisation de la priorité du préchargement

L'ordre de préchargement par défaut est suffisant dans la plupart des cas, mais certaines pages peuvent être préchargées en premier au cas où :

  • Vous avez un gros site et vous devez vous assurer que les pages critiques sont toujours préchargées en premier. Vous devez donc combiner l'utilisation de sitemaps personnalisés avec l'option de priorité.

Lors de l'utilisation de sitemaps personnalisés, ceux-ci seront recherchés en premier, leurs URL auront un id plus bas, et ces URL seront donc prioritaires dans le processus de préchargement. Mais l'ordre réel utilisé pour traiter la file d'attente est l'ordre modifié et non l'ordre dans lequel les données ont été introduites dans la base de données.

Cela signifie que même si le préchargement initial respectera probablement l'ordre, au fil du temps, si le filtre n'est pas utilisé pour ajuster l'ordre, cet ordre sera modifié au fur et à mesure que les pages seront supprimées du cache.

Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.