Conseils SEO pour Prestashop et autres sites
Ces conseils ont été rédigés en anglais, s'il vous plaît utiliser la version anglaise pour les exemples de code correct.
Choisissez une URL par défaut
Les moteurs de recherche et de voir www.your_site.com your_site.com que deux URL différentes.
S'ils trouvent des liens vers les deux versions, ils pensent qu'il est données en double et de sanctionner votre classement.
Vous devez choisir une URL par défaut (avec ou sans www), et assurez-vous qu'un redirige vers l'autre.
Vous pouvez faire cela en ajoutant une des options suivantes à votre fichier /. Htaccess.
Rediriger your_site.com d'www.yoursite.com:
RewriteEngine on (seulement si c'est pas déjà là)
RewriteCond% {HTTP_HOST} ^ your_site.com
RewriteRule ^(.*)$ http://www.yoursite.com / $ 1 [R = 301, L]
Rediriger www.your_site.com d'your_site.com:
RewriteEngine on (seulement si c'est pas déjà là)
RewriteCond% {HTTP_HOST} ^ www.your_site.com $ [NC]
RewriteRule ^(.*)$ http://your_site.com/ $ 1 [R = 301, L]
Éviter la duplication URL
Prestashop ne gère pas les URL en double très bien, même après que vous tournez "Friendly URLs", vous pouvez toujours accéder à des pages avec la structure ancienne URL.
En outre, chaque fois que vous changez le nom d'un produit, ou le déplacer vers une autre catégorie, l'ancienne URL fonctionne encore.
Si les moteurs de recherche voient ça, ils pensent que vous avez données en double et ils vous donnent une peine pour elle.
Nous avons créé une URL de redirection Dupliquer module qui utilise un moteur de recherche convivial redirection 301 au point de tous les olURL d à celles par défaut actuel.
Il redirige anciens non-Friendly URLs (IE www.yoursite.com/category.php?id_category=2 d'www.yoursite.com/2-current-category-name).
Il redirige les anciens noms URL Friendly (www.yoursite.com/2-old-category-name IE www.yoursite.com/2-current-category-name).
Il redirige l'URL de la langue par défaut dans Prestashop 1.2 (IE www.yoursite.com / lang-fr pour www.yoursite.com).
Il redirige index.php à l'URL de la boutique (c'est à dire www.yoursite.com / index.php pour www.yoursite.com).
Empêcher Meta Tag Duplication
Lisez et suivez les doublons Fix URL des instructions
La pagination crée de nouvelles URLs des pages avec un contenu différent en eux, mais en utilisant la page de titre et la description même.
URL/11-category-name
URL/11-category-name? P = 1
URL/11-category-name ? P = 2
Moteurs de recherche voir cette information méta tag que reproduire ce n'est pas aussi mauvais que le contenu ou duplication d'URL, mais devrait être évité autant que possible.
Vous pouvez changer cela en ajoutant le numéro de page dans les informations des balises Meta, qui fera de chaque page unique.
Ouvrir / classes / Tools.php et remplacer le completeMetaTags fonction (autour de la ligne # 500) avec la fonction ci-dessous.
statiques completeMetaTags fonction publique (metatags $, $ defaultValue)
{
global $ cookie;
$ No_duplication = "";
if (style = "color: # 0000bb;"> auto:: getValue ('p'))
$ No_duplication .= ($ no_duplication = "#": "#"! "?") Self::. GetValue ('p');
if ($ no_duplication! = "")
$ No_duplication = "(". No_duplication $ ")."
if ($ métabalises ['meta_title'] == NULL)
$ Métabalises ['meta_title'] = Configuration::. Get ('PS_SHOP_NAME') ' . - '$ DefaultValue;
$ Métabalises ['meta_title'] .= $ no_duplication;
if ($ métabalises ['meta_description'] == NULL)
$ Métabalises ['meta_description'] = (Configuration:: get ('PS_META_DESCRIPTION', intval ($ cookie -> id_lang)) Configuration:: get ('PS_META_DESCRIPTION', intval ($ Cookie -> id_lang)):'');
$ Métabalises ['meta_description'] .= $ no_duplication;
if ($ métabalises ['meta_keywords'] == NULL)
$ Métabalises ['meta_keywords'] = Configuration:: get ('PS_META_KEYWORDS', intval ($ Cookie -> id_lang)) Configuration:: get ('PS_META_KEYWORDS', intval ($ cookie -> id_lang)):?'';
return $ métabalises;
}
Ouvrir / classes / Tools.php et remplacer le getHomeMetaTags fonction (autour de la ligne # 490) avec la fonction ci-dessous.
statiques getHomeMetaTags fonction publique ($ Id_lang)
{
global $ cookie, $ page_name;
/ * Metas-tags * /
$ Metas = Meta:: getMetaByPage ($ page_name, id_lang $);
$ Ret ['meta_title'] = (isset ($ metas ['title']) AND $ metas ['Title']) Configuration:: get ('PS_SHOP_NAME') '. - '. $ Metas [' title ']: Configuration:: get (' PS_SHOP_NAME ');
$ Ret ['meta_description'] = (isset ($ metas ['description']) AND $ metas ['description']) $ Metas ['description']:'';
['Mots clés'] $ ret ['meta_keywords'] = (isset ($ metas ['mots clés']) AND $ metas ['mots clés']) $ metas:?'';
$ No_duplication = "";
if (auto:: GetValue ('p'))
$ No_duplication .= ($ no_duplication = "#": "#"! "?") Self::. GetValue ('p');
if ($ no_duplication! = "")
{
$ Ret ['meta_title'] .="(" $ No_duplication.. ")";
$ Ret ['meta_description'] .= "(" $ no_duplication.. ")";
}
return $ ret;
}
Éviter la duplication Meta Tag pour les langues multiples
Prestashop V1.2 est très sympathique de plusieurs langues SEO.
Chaque langue a son propre URL pour chaque page, ce qui permet demoteurs de recherche indexent tous.
Cependant, le titre de la page reste la même pour toutes les langues (à moins que modifiées manuellement), ce qui pénalise les moteurs de recherche.
Vous pouvez corriger cela en ajoutant automatiquement le nom du langage à chaque page de titre.
Remplacer l'actuel <title> ...</ title tag> dans / themes / prestashop / ligne header.tpl # 4 avec celui ci-dessous:
<title> {$ meta_title | escape: 'htmlall': 'UTF-8'} {foreach from = $ item langues language =} {if $ language.iso_code == $ lang_iso} ({} $ language.name) {/ if} {/ foreach} </ title>
Remplacer la balise <meta name="description"> actuelle dans / themes / prestashop / ligne header.tpl # 6 avec celui ci-dessous:
<Meta name = "description" content = "{$ meta_description | escape: htmlall: 'UTF-8'} {foreach from = $ item langues language =} {if $ language.iso_code == $ lang_iso} ({$ langue. name}) {/ if} {/ foreach} "/>