Exclure catégories / articles de sitemap.php
Bonjour à tous,
Google et autres utilisent le système de sitemap (entre autre) pour indexer nos sites. Pour rappel le sitemap est "l'annuaire" de nos sites regroupant les catégories, articles, pages statiques actives.
Parfois certains de ces éléments n'ont pas vocation a être référencé en tant que page, par exemple ce que j'appelle une catégorie technique qui me sert à rassembler des articles pour les afficher à un endroit précis de mon site et uniquement dans le contexte de cette page. Si je visite un de ces articles le template n'est pas prévu pour et l'affichage est bordélique.
Est-ce qu'il est prévu une évolution pour définir des exclusion à ne pas faire apparaître dans le sitemap.php ?
J'ai tenté de le faire via un plugin mais pas moyen de redéfinir $plxMotor->activeCats dans sitemap.php.
J'ai un string de l'array
Réponses
Bonjour,
Cela devrait être possible avec un plugin et en utilisant le hook SitemapBegin pour filtrer le tableau $plxMotor->aCats en éliminant tes catégories "techniques".
Il faudra prévoir une méthode pour taguer ces catégories ( config.php du plugin ou rajouter une colonne dans le tableau des catégories avec les hooks AdminCategoriesTop__et __AdminCategoriesFoot ).
Une autre solution est de ne pas afficher ces catégories dans le menu. Mais ce n'est peut être pas faisable dans ton cas.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Bonjour,
J'ai essayé de faire un petit plugin
Pour le moment je test avec la catégorie en dur dans le code. Je cherche à exclure la catégorie et tout les articles de la catégorie 009. La var $cat ne contient plus 009 mais $plxMotor->activeCats contient toujours 009 donc les articles présent dans cette catégorie sont toujours listés. Je dois m'y prendre mal pour redéfinir activeCats.
Je souhaite vraiment un paramètre spécifique dans l'admin de la catégorie car je ne suis pas à l’abri qu'un jour une catégorie doit apparaître sur le site mais pas dans le site. Par exemple une section vérouillée par mot de passe qui n'a pas besoin d'être référencée.
J'ai un string de l'array
kzExcludeSitemap.php :
config.php :
infos.xml :
Il y a une limitation : les articles non référencés doivent appartenir exclusivement à une catégorie interdite.
Si un article appartient aussi à une autre catégorie, il sera référencé.
Pour la config liste des categories à bannir groupes de 1 à 3 chiffres dans une chaine de caractères avec séparateur au choix :
Pour être plus restrictif sur le filtrage des articles, je pense qu'il faut ré-écrire sitemap.php, c'est faisable. A moins de trouver une option dans les regex qui va bien ( ne pas appartenir à un groupe ).
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Pour exclure tous les articles qui ont au moins une catégorie interdite, il faut filtrer $plxMotor->plxGlob_arts->aFiles.
Actualiser $plxMotor->activeCats devient alors inutile.
Il reste juste à peaufiner le fichier de config et le dossier "lang".
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Salut,
J'ai enfin été jusqu'au bout. Je me suis inspiré de ton code en le simplifiant et j'en ai fait un plugin.
https://forum.pluxml.org/discussion/7004/plugins-excludesitemap/
Merci de ton aide.
J'ai un string de l'array