GeotrekCE / Geotrek-rando

Geotrek public trekking website
http://geotrek.fr
31 stars 18 forks source link

Referencement et gestion des mots clefs #737

Open pinaudnico opened 4 years ago

pinaudnico commented 4 years ago

Bonjour, Nous avons installé geotrek pour la Maison du Tourisme Livradois-Forez. Le site est suivi sur Google Analytics, ça c'est très bien. Par contre se pose la question du référencement et des mots clefs. J'ai vu qu'une partie du site était développé en Angular et je crois savoir qu'il est possible d'intégrer un "module" pour gérer cela. Quelles sont les possibilités à ce niveau là ? comment gérer les mots clefs et les attribuer à chaque page ? Merci de votre aide car je ne sais pas si c'est ici qu'il faut poser ce genre de question.

camillemonchicourt commented 4 years ago

Exact, c'est l'inconvénient d'Angular. Pour contourner cela, il existe des solutions comme Angular Universal (https://angular.io/guide/universal), mais celui-ci n'est pas implémenté dans Geotrek-rando.

Cependant Geotrek-admin est capable désormais d'apporter un mécanisme assez similaire, pour générer des pages HTML statiques lors de la synchronisation qui peuvent être fournies aux moteurs de recherche et aux réseaux sociaux.

Voir la configuration NGINX (https://github.com/GeotrekCE/Geotrek-rando/blob/master/docs/http-server.md) :

location @angular {
        if ($http_user_agent ~* "googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com") {
            rewrite .* /meta/fr$uri/index.html last;
        }
        try_files /index.html =404;
    }

Des infos ici sur la partie Geotrek-admin : https://github.com/GeotrekCE/Geotrek-admin/issues/2003

camillemonchicourt commented 4 years ago

Si vous avez une version de Geotrek-admin supérieure à la 2.16.0 (https://github.com/GeotrekCE/Geotrek-admin/blob/master/docs/changelog.rst#2160-2017-12-21), lors de la synchronisation des données, les fichiers HTML statiques sont générés automatiquement.

Il vous faut juste surcoucher le titre du portail et sa description générale, en suivant la méthode classique (https://geotrek.readthedocs.io/en/master/advanced-configuration.html#override-translations) pour remplacer les valeurs par défaut de 2 variables dans les différentes langues : https://github.com/GeotrekCE/Geotrek-admin/blob/master/geotrek/trekking/locale/fr/LC_MESSAGES/django.po#L425-L430 (pour la version française).

Exemple dans notre cas dans le fichier de surcouche du français (/home/myuser/Geotrek-admin/geotrek/locale/fr/LC_MESSAGES/django.po) :

msgid "Geotrek Rando"
msgstr "Rando Ecrins"

msgid "Geotrek is a web app allowing you to prepare your next trekking trip !"
msgstr "Préparez vos randonnées au coeur du Parc national des Ecrins !"

Puis relancer une synchronisation des données bien sur.

Pour les autres pages de Geotrek-rando, leur titre et leur description est basé automatiquement sur le titre et la description de l'objet. Titre et description d'une rando par exemple, pour la page détail d'une rando.

Enfin les pages statiques HTML doivent être indiquées dans la configuration NGINX comme pages à utiliser pour les moteurs de recherche et réseaux, mais c'est déjà fait dans la configuration NGINX proposée par défaut (https://github.com/GeotrekCE/Geotrek-rando/blob/master/docs/http-server.md) dans la partie :

location @angular {
        if ($http_user_agent ~* "googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com") {
            rewrite .* /meta/fr$uri/index.html last;
        }
        try_files /index.html =404;
    }

Donc pas besoin de bricolage, ni de développeur pour cela.