29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Extensions / eZ Publish : Google Sitemap Generator





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

eZ Publish : Google Sitemap Generator

Date de publication: le samedi 26 novembre 2011 à 12h35
Dernière modification: par Pascal BOYER le samedi 26 novembre 2011 à 15h05
« Article précédent: ezstats : popularité des articles
» Article suivant: ezjaxx

Table des matières

  1. Générateur de fichier sitemap pour Google
  2. Générateur de fichier sitemap pour Google (eZ Publish 3.x)

Extension googlesitemapgenerator pour eZ Publish 4.x

Cette extension, qui constitue une évolution de la version de Sergey A. Shishkin (présentée en détail dans cet article ), est particulièrement dédié aux versions 4 d'eZ Publish.

Sa mise en œuvre est rapide (plus que celle de son aînée) et ne requière que peu de paramétrages.

Installer l'extension googlesitemapgenerator

Tout est parfaitement indiqué dans le fichier doc/Install.txt livré avec l'extension. Hormis un point de configuration oublié et pourtant indispensable à son fonctionnement - que j'indique ci-dessous, l'installation et la mise en œuvre de l'extension étant des plus classique/basique, je me contente d'en reprendre brièvement les étapes:

  1. Télécharger l'archive zip de l'extension ( ici )
  2. Extraire le contenu de l'archive zip dans un répertoire extension/googlesitemapgenerator/
  3. Activer l'extension à partir de l'interface d'administration
  4. Ajoutez les deux lignes suivantes au fichier settings/override/site.ini.append.php (pas celui de l'extension):

    [DesignSettings]
    AdditionalSiteDesignList[]=googlesitemapgenerator
  5. Ajoutez la ligne suivante au fichier extension/googlesitemapgenerator/settings/module.ini.append.php

    [ModuleSettings]
    ModuleList[]=googlesitemap           <======== CETTE LIGNE ! (C'EST LE POINT DE CONFIGURATION OUBLIÉ)
    ExtensionRepositories[]=googlesitemapgenerator
  6. Il est indiqué dans le fichier Install.txt de renseigner le paramètre EZPublishDirectory de la section [PathSettings] du fichier extension/googlesitemapgenerator/settings/googlesitemapgenerator.ini.append.php avec le chemin absolu vers la racine du répertoire d'installation de eZ Publish (sans slash au début et à la fin du chemin).
    Personnellement, j'ai laissé la valeur par défaut ( mediacenter) et tout fonctionne parfaitement.
  7. Ajoutez tous les droits d'accès au module googlesitemap pour le rôle anonymous
  8. Configurez, en particulier, les sections [Classes], [NodeChangeFreqSettings] et [NodePrioritySettings] du fichier extension/googlesitemapgenerator/settings/googlesitemapgenerator.ini.append.php

    Voici quelques informations en français qui pourront vous aider à mieux comprendre le sens, l'intérêt et l'usage des balises XML utilisées par le fichier sitemap.xml: http://www.sitemaps.org

  9. Videz les caches
  10. Configurez l'URI de redirection à partir du menu Traducteur d'URL de l'onglet Administration:

    Générer un fichier sitemap pour référencement google

     
  11. Ajoutez votre site à Google (voir le détail des informations situées à la fin de l'article consacré à l'extension googlesitemap ).
  12. A partir du site Google sitemap, pensez à générer un fichier robot.txt puis à le placer à la racine de votre site et à modifier comme indiqué ci-dessous vos règles de réécriture:

    RewriteRule !(\.(gif|jpe?g?|png|css|js|swf|html?)|var(.+)storage.pdf(.+)\.pdf|robots\.txt)$ index.php [L]
                                                                                  ^^^^^^^^^^^

Résultat obtenu

:
Pour obtenir un résultat exempt de tout message d'erreur, aucune option de débogage ne doit être activée.

:
Une erreur «kernel 1» peut survenir en fonction de la configuration de la section [RoleSettings] du fichier site.ini.append.php du siteaccess public. Le cas échéant, il peut être nécessaire d'ajouter à cette section la ligne suivante:
PolicyOmitList[]=layout/set/google

Une fois la redirection configurée, en tapant dans votre navigateur un URI de la forme http://<nom_de_domaine>/sitemap.xml vous devez être redirigé vers un URI de type http://<nom_de_domaine>/layout/set/google/googlesitemap/generate/2 et voir s'afficher quelque chose comme ça:

Le fichier sitemap une fois généré

:
Le numéro de ID par lequel se termine l'URI http://<nom_de_domaine>/layout/set/google/googlesitemap/generate/2 correspond au nœud à partir duquel sera produit le fichier sitemap.xml.

Commentaires

  • @Rico

    Bonjour Rico,

    Je te propose ce lien qui traite exactement de ton problème:

    http://share.ez.no/forums/developer/site-map-xml-with-language-listing-in-main-site#comment71760

    Cordialement,

    sitemap multilangues

    Bonsoir,
    Merci pour ta réponse.
    En fait j'ai pu générer mon sitemap dans une autre langue en insérant le répertoire du site de la langue exemple : http://monsite.com/en/layout/set/google/googlesitemap/generate/2
    Mais par contre impossible de créer l'alias d'url associé car cette url n'existe pas...
    Je n'ai pas encore trouvé de piste mais je cherche !

    @RICO

    Bonsoir,

    Je suis désolé Rico, je n'ai jamais utilisé cette extension sur des sites multilingues.

    Cependant, une traduction d'un article constituant un objet à part entière, je suis surpris que l'extension ne le prenne pas en compte.

    Un petit tour sur share.ez.no devrait te sortir d’affaire ;-)

    Cordialement,

    sitemap pour toutes les langues

    Bonjour,
    Le sitemap generator marche très bien. Mais il ne genère que les urls de la langue par défaut.
    J'ai créé d'autres url pour les autres langues mais celà ne fonctionne pas.
    Avez vous expérimenté le sitemap en multilangue ?

    Le chemin vers le CMS

    Bonjour CG,

    Non, je n'ai absolument pas touché au fichier generate.php qui par ailleurs ne fait «que» récupérer des valeurs en provenance d'autres templates.

    Regarde mon commentaire de l'étape N° 6.

    Cordialement

    merki

    Merci pour cette doc et les petites précisions/corrections. Petite question : as tu configuré le chemin vers le répertoire du CMS dans le generate.php ? (chez moi tout est en dessous de httpdocs, je me demande si ce n'est pas la cause du pb)