Quantcast
Channel: Prestashop Trucs & Astuces
Viewing all articles
Browse latest Browse all 45

Anticiper le multilingue pour votre site Prestashop

$
0
0

Voici quelque chose que je constate régulièrement chez les clients… vouloir faire du multilingue, mais finalement on peut pas le faire tout de suite. Et donc il faut penser à ajuster votre boutique en conséquence.

Nous sommes tous pressés

Dans chaque projet client, je constate toujours le même cheminement… on voit très grand au début… le temps file et pour finir on n’est pas prêt dans les temps. Typiquement le fait d’avoir sa boutique en plusieurs langues demande un gros travail côté marchand.

Assez souvent je vois le cas arriver… « Bon on se lance avec une langue et on verra le reste après ». Et là on envisage par exemple de désactiver les langues inutilisées dans le back-office afin qu’elles soient masquées.

Ce n’est pas forcément une bonne idée de désactiver les langues, parce que par défaut quand vous avez plusieurs langues, il y’a toujours le préfixe affiché dans l’url (ex. /fr), si vous laissez une seule langue active vous n’aurez plus ce préfixe.

Préfixe ou pas quelle importance ? En fait par la suite quand vous activerez les autres langues… les urls de bases qui étaient par ex. « prestashop_1_6_1_5/3-femmes » vont devenir « /prestashop_1_6_1_5/fr/3-femmes » et vous aurez pleins de liens morts et il faudra corriger tous les liens + perturbation au niveau du référencement.

Urls Prestashop
Les urls de Prestashop utilisent un préfixe de langue seulement si vous avez « plusieurs » langues. Un détail, mais qui peut poser ensuite des problèmes et générer des erreurs 404 (1 = avec le multilingue, 2 = une seule langue).

Voici une manière de faire

1) Pour éviter les perturbations, je vous propose donc de laisser les langues activées dans le back-office et de commencer par désactiver le bloc « sélecteur de langue » dans les modules de Prestashop.

2) Au niveau du sitemap, on va donner à Google uniquement la version « fr » de notre site (qui elle est terminée), pour cela on va modifier le fichier « modules\gsitemap\gsitemap.php » (module officiel du sitemap) et après cette ligne (vers 707):

$languages = Language::getLanguages(true, $id_shop);

On ajout le code suivant :

// Webbax - 28.04.17 - retrait langues non utilisées
$langs_auth = array('fr');
foreach($languages as $k => $l){
    if(!in_array($l['iso_code'],$langs_auth)){
        unset($languages[$k]);
    }
}
// --

Dans la variable « $langs_auth » je mentionne d’autoriser que le français, cela autorisera le module à générer le sitemap uniquement dans cette langue et on évitera donc de donner à Google un sitemap avec des pages de langue qui ne sont pas encore prêtes.

3) Au niveau du robots.txt qui est à la racine de votre site sur votre FTP, il faudrait ajouter les règles suivantes (ajoutez ce code idéalement après la mention « User-agent: * »).

# Webbax désactiver l'indexation des autres langues
Disallow: /de/
Disallow: /en/
Disallow: /it/

Si vous n’avez pas de fichier « robots.txt » à la racine de votre boutique, pensez à le générer la documentation Prestashop pourra vous renseigner pour la génération.

Google Webmaster Robots.txt
Dans la console Google Webmaster je peux vérifier si une url contenant le « /de/ » est autorisée. Ici l’url retourne un blocage c’est exactement ce que l’on veut.

Indexer du contenu pas traduit

Si on ne fait rien (uniquement désactiver le bloc des langues), le problème qui peut survenir c’est d’avoir du contenu indexé dans Google, alors que cela n’est pas encore terminé. Est-ce grave ? Ce n’est pas vraiment bon, car Google pourrait vous pénaliser pour du contenu dupliqué.

Il faut que Google absorbe le contenu lorsque celui-ci est prêt, car par défaut quand on crée du texte dans Prestashop, celui-ci est automatiquement « copié » dans les autres langues (indexer du français dans plusieurs langues n’est pas vraiment une bonne idée).

Contenu non-traduit
Il est préférable de ne pas indexer le contenu « partiellement traduit » (ici du français dans l’allemand). Je préconiserai d’attendre que toutes les traductions soient bien terminées avant d’activer l’affichage des langues pour Google.

Bilan

Et après on fait quoi ? Hé bien, lorsque vous êtes prêts avec vos langues secondaires, il suffit de retirer les deux correctifs ci-dessus. Parfois on ne pense pas vraiment à ce genre de problématique, mais Google reste un robot très basique… il faut lui faciliter le travail. Actuellement avec Prestashop, si vous pensez faire du multilingue, assurez-vous donc de toujours avoir le préfixe de langue dès le départ, mais limitez l’accès aux langues secondaires.

Cet article Anticiper le multilingue pour votre site Prestashop est apparu en premier sur Webbax.


Viewing all articles
Browse latest Browse all 45

Trending Articles