Livezilla

Certified Partner and
PrestaShop Developer for:

Conseils SEO pour Prestashop et sites généralistes

Conseils SEO pour Prestashop et d'autres sites Web

Ces conseils ont été rédigés en anglais, veuillez utiliser la version anglaise pour les exemples de code correct.


Choisissez une URL par défaut

Les moteurs de recherche voient www.your_site.com et your_site.com comme deux URL différentes.

S'ils trouvent des liens vers les deux versions, ils pensent que ce sont des données dupliquées et pénalisent votre classement.

Vous devez choisir une URL par défaut (avec ou sans www), et assurez-vous qu'une redirection vers l'autre.

Vous pouvez le faire en ajoutant une des options suivantes à votre fichier htaccess /..


Redirigeryour_site.comàwww.yoursite.com:

RewriteEngine on (seulement si ce n'est pas déjà le cas)

RewriteCond% {HTTP_HOST} ^ your_site.com
RewriteRule ^ (. *) $ Http://www.yoursite.com / $ 1 [R = 301, L]


Redirigerwww.your_site.comàyour_site.com:

RewriteEngine on(Seulement si ce n'est pas déjà le cas)

RewriteCond% {HTTP_HOST} ^ www.your_site.com $ [NC]
RewriteRule ^ (. *) $ Http://your_site.com/ $ 1 [R = 301, L]




Éviter la duplication d'URL

 

Prestashop ne gère pas les URL en double très bien, même après avoir "Friendly URLs" sur, Vous pouvez toujours accéder à des pages avec l'ancienne structure de l'URL.

En outre, chaque fois que vous modifiez le nom d'un produit, ou le déplacer vers une autre catégorie,l'ancienne URL fonctionne toujours.

Si les moteurs de recherche voient que, ils pensent que vous avezdupliquer les données et ils vous donnent une pénalitépour cela.

Nous avons créé unDuplicate URL RedirectModule qui utilise un moteur de recherche convivial redirection 301 pour Point toutes les anciennes URL de celles par défaut actuels.

Il redirige anciennes URL non-Friendly (IEwww.yoursite.com/category.php?id_category=2àwww.yoursite.com/2-current-category-name).

Il redirige noms d'URL bienvenus anciens (IEwww.yoursite.com/2-old-category-nameàwww.yoursite.com/2-current-category-name).

Il redirige l'URL de la langue par défaut dans Prestashop 1.2 (IEwww.yoursite.com / lang-fràwww.yoursite.com).

Il redirige index.php de l'URL de la boutique (IEwww.yoursite.com / index.phpàwww.yoursite.com).




Empêcher Meta Tag Duplication

Si vous utilisez Prestashop 1.5.4 ou plus, ces changements ne sont plus nécessaires

 

Lisez et suivez lesDuplicate URL Fixinstructions (Prestashop âgé de 1.4.3 SEULEMENT)

Les exemples de fonctions suivantes ont été écrit pour les PS 1.3, tandis que l'emplacement des fichiers peut avoir des modifications dans les versions ultérieures, la logique de la solution reste la même, en ajoutant le numéro de la page pour les balises meta

LePaginationcréenouvelles URLpour les pages avecun contenu différenten eux, maisen utilisant le même titre de la page et description.

URL/11-category-name
URL/11-category-name? P = 1
URL/11-category-name? P = 2

Les moteurs de recherche considèrent cela commedouble balise metal'information, ce n'est pas aussi mauvais que le contenu ou la duplication d'URL, mais devrait être évitée si possible.

Vous pouvez changer cela enajouter le numéro de pagedans les informations des balises Meta, qui serafaire chaque page unique,.

 

Ouvert/ Classes / tools.phpetremplacer les completeMetaTags de fonction(Autour de la ligne # 500)avec la fonction ci-dessous.

 

fonction publique statiquecompleteMetaTags(Metatags $,$ DefaultValue)
    
{
        
mondial$ Cookie;
        
$ No_duplication="";
si (
auto::getValue(«P»))
            
$ No_duplication. = ($ No_duplication! =""?"#":"#").auto::getValue(«P»);
si (
$no_duplication! ="")
            
$ No_duplication="(".$ No_duplication.")";
si (
$ Metatags [«Meta_title ']==NULL)
            
$ Metatags [«Meta_title ']=Configuration::obtenir(«PS_SHOP_NAME ').'-'.$ DefaultValue;
        
$ Metatags [«Meta_title ']. =$ No_duplication;
si (
$ Metatags [«Meta_description ']==NULL)
            
$ Metatags [«Meta_description ']= (Configuration::obtenir(«PS_META_DESCRIPTION ',intval($ Cookie->id_lang))?Configuration::obtenir(«PS_META_DESCRIPTION ',intval($ Cookie->id_lang)):'');
        
$ Metatags [«Meta_description ']. =$ No_duplication;
si (
$ Metatags [«Meta_keywords ']==NULL)
            
$ Metatags [«Meta_keywords '=Configuration::obtenir(«PS_META_KEYWORDS ',intval($ Cookie->id_lang))?Configuration::obtenir(«PS_META_KEYWORDS ',intval($ Cookie->id_lang)):'';
retour
Metatags $;
    
}


Ouvert/ Classes / tools.phpetremplacer les getHomeMetaTags de fonction(Autour de la ligne n ° 490)avec la fonction ci-dessous.

 

fonction publique statiquegetHomeMetaTags($ Id_lang)
    
{
        
mondial$ Cookie,$ Page_name;

        
/ * METAS-balises * /
        
Metas $=Meta::getMetaByPage($ Page_name,$ Id_lang);
 
$ Ret [«Meta_title ']= (Isset ($ Metas ['Title']) ET$ Metas ['Title'])?Configuration::obtenir(«PS_SHOP_NAME ').'-'.$ Metas ['Title']:Configuration::obtenir(«PS_SHOP_NAME ');
        
$ Ret [«Meta_description ']= (Isset ($ Metas ['Description']) ET$ Metas ['Description'])?$ Metas ['Description']:'';
        
$ Ret [«Meta_keywords ']= (Isset ($ Metas [«Mots-clés»]) ET$ Metas [«Mots-clés»])?$ Metas [«Mots-clés»]:'';
        
$ No_duplication="";
si (
auto::getValue(«P»))
            
$ No_duplication. = ($ No_duplication! =""?"#":"#").auto::getValue(«P»);
si (
$ No_duplication! ="")
        
{
$ Ret [
«Meta_title ']. ="(".$ No_duplication.")";
            
$ Ret [«Meta_description ']. ="(".$ No_duplication.")";
        
}
           
retour$ Ret;
    
}




Empêcher Meta Tag Duplication de plusieurs langues

Prestashop V1.2 est très SEO friendly pour plusieurs langues.

Chaque langue a sa propre URL pour chaque page, ce qui permet de moteurs de recherche indexent tous.

Toutefois, le titre de la page reste la même pour toutes les langues (sauf changement manuellement), les moteurs de recherche pénalisent.

Vous pouvez résoudre ce problème en ajoutant automatiquement le nom de la langue pour chaque titre de la page.

Remplacer le courant<title> ... </ title>tag dans / themes / prestashop / header.tpl ligne n ° 4 avec celui-ci:

<title> {$ meta_title | évasion: «htmlall ':' UTF-8 '} {foreach from = $ langues item = langue} {if $ language.iso_code == $ lang_iso} ({language.name $}) {/ if} {/ foreach} </ title>

Remplacer le courant<meta name="description">tag dans / themes / prestashop / header.tpl ligne n ° 6 avec celui-ci:

<Meta name = contenu "description" = "{$ meta_description | évasion: htmlall: 'UTF-8'} {foreach from = $ langues item = langue} {if $ language.iso_code == $ lang_iso} ({$ langue. name}) {/ if} {/ foreach} "/>