Cet article relate un problème d’allocation de mémoire qui est arrivé à certains e-commerçants qui utilisent prestashop avec le module SEO Manager.
Pour rappel, le module prestashop SEO Manager permet de générer 2 champs SEO par produits, catégories, etc… Il s’agit des champs méta titre et méta description. Cette génération de données s’applique alors pour chaque langue dans votre boutique Prestashop.
Le client en question a un catalogue de 5000 produits et un grand nombre de catégories en 5 langues. Si on se limite uniquement aux produits, cela fait 5000 x 2 x 5 = 50000 champs à mettre à jour. Cela fait beaucoup.
La première fois, que le client a utilisé le module, sa boutique affiche le message d’erreur suivant :
Fatal error in module file :/home/XXXXX/public_html/classes/db/DbPDO.php: Allowed memory size of 268435456 bytes exhausted
Comment peut-on résoudre ce genre d’erreur ? D’abord, il faut allouer un peu plus de mémoire. Pour cela, il faut éditer le fichier php.ini à racine de votre site (par FTP avec un logiciel comme FilleZilla). Si vous n’avez pas accès à la racine de votre site, alors contactez votre hébergeur. En général, ils supportent leurs clients pour ce genre de requêtes.
Pour en revenir au cas spécifique de ce client, on lui a donné plusieurs conseils pour l’aider à utiliser au mieux le module SEO Manager.
D’abord, il ne faut pas cocher toutes les cases pour générer les méta données pour les pages catégories et les pages produits à la fois.
Ensuite, pour les pages produits, il faut procéder par lots. Cela est possible en sélectionnant quelques catégories seulement à la fois avec le filtre des catégories.
Apres avoir mis en œuvre ces simples conseils, le client été en mesure de générer les meta données SEO pour toutes les pages de sa boutique.
Conclusion :
Il semble que les efforts d’internationalisation de Prestashop portent ces fruits. Non seulement les e-commerçants viennent de tous les pays du monde, mais la taille du catalogue ne cesse de croitre.