Afficher ses avis

Afficher les avis Google sur PrestaShop : un module maison en 40 lignes

PrestaShop tourne en PHP : un petit module (hook displayHome) écrit vos avis Google dans le HTML. Code complet, cache, et solutions sans code.

Mis à jour le

Votre boutique tourne sous PrestaShop et vous voulez afficher les avis Google de votre entreprise : sur la page d'accueil, sous les fiches produit ou dans le pied de page. Bonne nouvelle : contrairement à Wix ou Shopify, PrestaShop exécute du code PHP sur votre serveur. Vos avis peuvent donc être écrits dans le HTML, lisibles par Google et par les IA.

Quelle méthode choisir sur PrestaShop ?

Le module maison, si quelqu'un peut déposer un dossier sur le serveur. Sinon, le snippet JavaScript.

MéthodeLisible par GoogleLisible par les IAMise à jour autoEffort
Module maison + include serveur RevysOuiOuiOuiMoyen (un dossier à installer)
Include serveur dans un template du thème (.tpl)OuiOuiOuiMoyen, à refaire si le thème change
HTML collé dans un bloc de texte personnaliséOui, si les balises passentOui, si les balises passentNonFaible
Snippet JavaScript (bloc de texte ou template)En partie, attribué à revys.ioNonOuiFaible
API JSON RevysOui, si rendu en PHPOui, si rendu en PHPOuiÉlevé

Il n'existe pas de module Revys sur PrestaShop Addons. Les modules d'avis qu'on y trouve sont pour la plupart des modules d'avis produits ou de solutions d'avis vérifiés, ce qui est un autre besoin (voir la FAQ).

Comment fonctionne l'include serveur ?

Revys expose vos avis sous forme d'un fragment HTML prêt à insérer, à l'adresse https://revys.io/api/embed/VOTRE_ID/html. Le fragment contient les avis, leur style (CSS limité au widget) et un balisage schema.org LocalBusiness ou Organization, sans JavaScript.

Votre serveur PrestaShop récupère ce fragment, le garde en cache une heure et l'insère dans la page avant de l'envoyer. Le visiteur et les robots reçoivent une page qui contient déjà le texte des avis. Revys met vos avis à jour chaque nuit depuis l'API officielle Google Business Profile : votre boutique suit, sans action de votre part.

Créer le module, étape par étape

Le code suit la structure du tutoriel officiel de PrestaShop (versions 8 et 9). Remplacez VOTRE_ID par l'identifiant de votre widget : l'URL complète est affichée dans Revys : page « Sur mon site » de votre établissement, bouton « Code d'intégration », option « Autre (URL) » sous « Votre site est fait avec… ».

  1. Créez le dossier du module

    Dans modules/, créez un dossier revysreviews avec ce fichier revysreviews.php :

    <?php
    if (!defined('_PS_VERSION_')) {
        exit;
    }
    
    class RevysReviews extends Module
    {
        const REVYS_URL = 'https://revys.io/api/embed/VOTRE_ID/html';
    
        public function __construct()
        {
            $this->name = 'revysreviews';
            $this->tab = 'front_office_features';
            $this->version = '1.0.0';
            $this->author = 'Votre boutique';
            $this->need_instance = 0;
            $this->ps_versions_compliancy = ['min' => '8.0.0', 'max' => _PS_VERSION_];
            parent::__construct();
            $this->displayName = 'Avis Google (Revys)';
            $this->description = 'Affiche les avis Google dans le HTML de la page.';
        }
    
        public function install()
        {
            return parent::install()
                && $this->registerHook('displayHome')
                && $this->registerHook('displayFooterProduct');
        }
    
        public function hookDisplayHome($params)
        {
            $html = $this->revysHtml();
            if ($html === '') {
                return '';
            }
            $this->context->smarty->assign('revys_html', $html);
            return $this->display(__FILE__, 'revysreviews.tpl');
        }
    
        public function hookDisplayFooterProduct($params)
        {
            return $this->hookDisplayHome($params);
        }
    
        // Cache 1 h ; si Revys ne répond pas en 2 s, la dernière version est gardée.
        private function revysHtml()
        {
            $cache = _PS_CACHE_DIR_ . 'revys-' . md5(self::REVYS_URL) . '.html';
            if (!is_file($cache) || filemtime($cache) < time() - 3600) {
                $ctx = stream_context_create(['http' => ['timeout' => 2]]);
                $html = @file_get_contents(self::REVYS_URL, false, $ctx);
                if ($html !== false && $html !== '') {
                    @file_put_contents($cache, $html);
                } else {
                    @touch($cache);
                }
            }
            return is_file($cache) ? (string) file_get_contents($cache) : '';
        }
    }
  2. Ajoutez le template

    Créez modules/revysreviews/views/templates/hook/revysreviews.tpl :

    <section class="revys-avis-google">
      {$revys_html nofilter}
    </section>

    nofilter empêche Smarty d'échapper le HTML : sans lui, le code s'afficherait en texte brut. C'est sans risque ici, car Revys échappe déjà le texte des avis dans le fragment.

  3. Installez le module

    Zippez le dossier revysreviews et importez-le dans le back-office (Modules, Gestionnaire de modules, « Téléverser un module »), ou déposez-le par FTP puis cliquez sur « Installer ».

  4. Placez le bloc

    Le module s'accroche à la page d'accueil (displayHome) et sous les fiches produit (displayFooterProduct). Ajustez la position dans Apparence, Positions. Pour un autre emplacement, enregistrez un autre hook d'affichage du thème.

  5. Videz le cache et vérifiez

    Videz le cache (Paramètres avancés, Performances), ouvrez la boutique, puis le code source de la page (Ctrl+U) : le texte des avis doit y figurer.

Et sans module ?

Deux solutions sans toucher au serveur, avec leurs limites.

Le bloc de texte personnalisé. Le module natif « Bloc de texte personnalisé » (ps_customtext) affiche un contenu HTML sur la page d'accueil. Vous pouvez y coller le snippet JavaScript :

<script src="https://revys.io/api/embed/VOTRE_ID" async></script>

Mais l'éditeur de texte de PrestaShop peut nettoyer le HTML et retirer les balises <script> ou <style>, selon vos réglages de sécurité. Si le widget n'apparaît pas, c'est probablement la raison. Et le snippet s'affiche dans une iframe : vos visiteurs voient les avis, pas les robots des IA.

Le template du thème. Votre développeur peut coller le code PHP de l'include directement dans un fichier du thème. Ça marche, mais une mise à jour du thème peut l'effacer. Le module évite ce piège, parce qu'il vit dans son propre dossier. Le code PHP générique est expliqué sur la page PHP et sites HTML.

Avis Google ou avis produits : de quoi votre boutique a-t-elle besoin ?

Souvent des deux, pour des raisons différentes.

  • Les avis Google rassurent sur l'entreprise : sérieux, délais, service après-vente. Ils sont déjà publics sur votre fiche, et Revys les affiche.
  • Les avis produits rassurent sur l'article : taille, qualité, usage. PrestaShop fournit le module Commentaires produits ; d'autres modules d'avis produits existent sur Addons.

Afficher vos avis Google ne remplace pas les avis produits, et ne crée pas d'étoiles dans les résultats Google : les avis d'établissement affichés sur votre propre site sont « self-serving » pour Google. Les étoiles d'une fiche produit dans Google viennent d'avis produits correctement balisés.

Pour aller plus loin

  • Affichez des avis récents, pas seulement les 5 étoiles : Revys affiche les plus récents en premier, et le filtre de note minimale est facultatif.
  • Ajoutez un bouton « Laisser un avis » : il est inclus dans le widget et pointe vers votre fiche Google.
  • Vérifiez que votre fichier robots.txt n'interdit pas les robots des IA, sinon ils ne liront rien, avis compris.
  • Agence avec plusieurs boutiques ? Un widget par boutique, et l'API Revys pour un affichage sur mesure.

Pour un affichage entièrement personnalisé en PHP, l'API Revys renvoie vos avis en JSON (plan Pro). Pour comparer toutes les méthodes et tous les CMS, voir afficher les avis Google sur son site. Vous hésitez avec une solution e-commerce hébergée ? Voir ce que permet Shopify.

Questions fréquentes

Existe-t-il un module PrestaShop Revys ?

Non, pas aujourd'hui. Mais un module maison d'une quarantaine de lignes suffit : il récupère le HTML de vos avis côté serveur et l'affiche sur un hook. Le code complet est sur cette page.

Quelle différence avec le module Commentaires produits de PrestaShop ?

Le module Commentaires produits (productcomments) collecte des avis sur vos produits, publiés sur votre boutique. Revys affiche les avis de votre fiche Google, qui portent sur votre entreprise. Les deux sont complémentaires.

Les avis affichés par le module sont-ils lisibles par Google et ChatGPT ?

Oui. Le module insère le HTML des avis côté serveur, avant l'envoi de la page : le texte est dans le code source. Les robots des IA, qui lisent le HTML sans exécuter le JavaScript, le voient comme le reste de la page.

Le module ralentit-il ma boutique ?

Très peu. Les avis sont mis en cache une heure dans le dossier cache de PrestaShop ; un seul appel par heure part vers Revys, avec un délai maximal de 2 secondes. Si Revys ne répond pas, la dernière version est réaffichée.

Puis-je coller les avis dans un bloc de texte personnalisé ?

Vous pouvez y coller le snippet JavaScript ou le HTML des avis, mais l'éditeur de texte de PrestaShop peut filtrer certaines balises (style, script). Le module est plus fiable, et il se met à jour seul.

Afficher mes avis Google sur PrestaShop me donnera-t-il des étoiles dans Google ?

Non. Google n'affiche pas d'étoiles pour les avis qu'une entreprise publie sur elle-même sur son site (avis « self-serving »). Les étoiles de vos fiches produit viennent d'avis produits balisés correctement, pas de vos avis d'établissement.

Sources

  1. PrestaShop Developer Documentation : créer un premier module (v9)
  2. PrestaShop Developer Documentation : afficher du contenu en front office (hooks et templates)
  3. PrestaShop Developer Documentation : hook displayHome
  4. PrestaShop sur GitHub : module Commentaires produits (productcomments)
  5. Google Search Central : extraits d'avis, règle des avis self-serving

Dans le même thème

Vos avis méritent d'être lus.

Par vos clients, par Google, et par les IA.