Archives du mot-clé Drupal

Bloguer en plusieurs langues

RSSJe tiens ce blogue en français et en anglais depuis le mois d’octobre passé, je vous fais donc part de mon retour sur expérience du blogage (eh oui, ça se dit!) en deux langues, ce que ça implique et ce que ça peut vous rapporter.

La raison principale pour laquelle on peut se décider à écrire des articles en deux langues est bien simple et inanime : rejoindre un plus large auditoire. Surtout dans notre cas, nous les francophones! Écrire uniquement des articles en français nous « limite » aux visiteurs québécois, belges, suisses, marocains, tunisiens et surtout (voire principalement), français.

Ainsi que 24 autres pays. C’est à dire environ 180 millions de personnes dans le monde entier, certainement moins car ces gens n’ont pas tous Internet, et ne s’intéressent certainement pas tous aux sujets que vous abordez sur votre blogue … voilà qui réduit considérablement l’échantillon.

Tandis que l’anglais, avec « seulement » 300 à 400 millions de locuteurs natifs dans le monde, mais une masse écrasante de gens qui l’ont adopté comme langue secondaire. Je déteste l’anglais, mais force est de reconnaître que c’est LA langue internationale. Indubitablement, bloguer également en anglais vous ouvre sur un potentiel infiniment plus grand. Par exemple, ce blogue reçoit environ autant de visites sur ses pages en anglais que sur celles en français. On peut assez facilement en déduire que si ce blogue n’était qu’en français, je pourrais simplement diviser le traffic par deux…

De plus, si vous vous adonnez aux réseaux sociaux tels que Twitter, ou Facebook, bloguer en anglais vous permettra d’ouvrir votre réseau à de nombreux anglophones. Dans le même ordre d’idée, bloguer en anglais vous aidera à travailler à l’international, si tel est votre désir. En effet, si bloguer peut être un outil puissant pour prouver vos compétences, profitez de votre vitrine internationale (Internet) pour toucher le plus de gens. Même pour vos clients potentiels francophones, vous montrez une ouverture sur le monde ainsi que votre compétence, à plusieurs niveaux : parler de ce qui vous passionne ne vous gêne pas, peu importe la langue.

Cependant, je pense que plusieurs se lancent dans le blogage multilingue les yeux fermés, sans penser à ce que ça implique. Si un blogue demande pas mal de travail au départ, le tenir en deux langues (voire plus), ça signifie doubler littéralement votre charge de travail. Encore faut-il bien se débrouiller en anglais (ou autre langue). Pour ma part, je me débrouille pas si mal, mais comme la plupart du monde je ne saurais pas écrire un classique de littérature en anglais, disons-le comme ça. Ça veut dire que je me bute souvent à trouver le mot qui convient pour exprimer telle ou telle pensée, chose qui, en français, ne m’a évidemment posé aucune embuche. De plus, on se rend vite compte qu’on dispose d’un vocabulaire assez restreint, on réutilise souvent les mêmes mots, faute de synonymes sous la main. Tout ça pour dire qu’en plus de doubler la charge de travail de rédaction, bloguer en deux langues peut en plus vous forcer à ouvrir des bouquins – ce qui n’est pas une mauvaise chose du tout, mais encore du temps de travail supplémentaire.

Ce n’est pas tout. Si vous vous adonnez au référencement de votre blogue, eh bien il faudra également mettre un peu de temps sur vos pages anglophones. Ceci n’est cependant pas dénué d’avantages, puisque posséder du contenu en anglais vous ouvre les portes à diverses plateformes anglophones où vous pouvez joyeusement poser vos backlinks : annuaires anglophones, digg-likes, forums & blogues anglophones en dofollow, etc. Inutile de dire qu’il y a beaucoup plus de marge de manœuvre à ce sujet dans l’univers anglophone que l’univers francophone.

En supplément à cet article, je désire passer en revue quelques solutions CMS pour tenir un blogue multilingue.

Joomla! : Avec le composant Joomfish, vous pouvez traduire toutes vos pages plutôt facilement. Ça fonctionne assez bien, mais si votre référencement dans google vous importe, vous ne serez sans doute pas très contents de ne pas avoir de contrôle sur la réécriture des URL pour chacune des langues : l’originale est utilisée pour toutes les pages traduites, ce qui n’est pas forcément très cool pour le positionnement de celles-ci sur les SERPs. C’est une des raisons majeures pour lesquelles j’ai migré de Joomla! à Drupal.

WordPress : Chez WordPress, ce n’est pas tellement mieux. Certains composants vous permettent de gérer la traduction de certaines pages, mais pour une raison majeure dont je ne me rapelle plus, ce n’est vraiment pas très intéressant. Je sais c’est con, mais j’ai oublié. Le seul moyen que j’ai trouvé pour avoir quelque chose de propre et SEO-Friendly, c’est de créer un clone du blogue et d’y rédiger des articles en anglais, mais ils ne sont pas liés donc c’est pas très efficace…

** EDIT : C’est (désormais?) possible avec le super module WPML! À essayer!

Drupal : Avec le module Internationalization (I18N), vous pouvez créer des pages distinctes pour chaque traduction (et les lier ensemble), tout en contrôlant tous les aspects du référencement (métas, titres, URLs, et j’en passe). C’est vraiment génial mais ça m’a paru très ardu à mettre en place… Je fais des backups souvent car je ne suis pas trop sûr que je retrouverais comment ;)

Pour conclure, je dirais que le blogage multilingue apporte beaucoup de choses bien à votre blogue, mais il faut être prêt à effectuer le travail imposant que cela implique. Comme dans bien des histoires de Web, la pensée magique n’est qu’un mirage! Et vous, qu’en pensez-vous?

Une petite pause!

Je vais m’offrir une petite pause de quelques semaines afin de faire migrer ce blogue vers Drupal; vraiment, je suis pissed off de Joomla qui n’est pas très très bien côté SEO.

Malgré le fait que je me sois donné un maximum de mal pour le patcher, il reste énormément de défauts à ce site, presqu’irrémédiables. Je profiterai de la migration pour compléter certains articles, finir d’en traduire d’autres, et revoir la mise en page de ce site dont les besoins ont légèrement changé!

Alors avec tout ça … on se revoit en avril!

Créer un Sitemap Google pour votre site

Un Google Sitemap est un élément primordial au succès de votre référencement : il sert à indiquer à Google quelles pages il doit indexer. Ça permet d’accélèrer le processus d’indexation de nouvelles pages, et ça permet également d’inclure tout votre contenu pertinent dans l’index de Google.

À la base (vous l’aurez deviné, je l’espère!), un Sitemap c’est un plan de votre site. Une arborescence de vos pages, dans laquelle l’importance qu’ont certaines pages de plus ou de moins sur les autres pages du même site est explicitement indiquée.

Bien sûr, ce n’est pas obligatoire; ce n’est qu’une aide pour Google (ainsi que pour vous, par le même fait). Vous ne pouvez pas espérer que toutes les pages que vous inclurez dans votre Sitemap seront indexées dans Google, car bien que vous lui montrez le chemin, Google n’est pas idiot, il n’indexera de toutes manières que les pages qu’il aura jugées pertinentes.

Laissez tomber les pages de contact et d’aide, focussez votre référencement sur votre contenu réel. Encore faut-il qu’il les trouve ces superbes pages qui feront grimper votre trafic : le Sitemap Google est là pour ça.

Selon la nature de votre site (un site statique ou un site dynamique), la façon de fabriquer votre Sitemap peut varier : de là le but de cet article.

En tout temps, je vous conseille de vous reférer à la documentation Google sur ce sujet.

Créer un Sitemap statique

Par statique, j’entends un Sitemap que vous devez écrire vous même, et qui ne changera pas automatiquement. C’est ce qu’on utilise normalement pour des sites qui possèdent uniquement des contenus statiques en pages HTML.

Pour faire ça, inutile de perdre votre temps à en écrire un vous même, vous pouvez utiliser un outil de création automatique de Sitemap. Vous pouvez également l’utiliser pour un site dynamique qui n’utilise pas la réécriture d’URL, mais il vous faudra le regénérer une fois de temps en temps – un truc que vous allez oublier de faire.

Créer un Sitemap dynamique

Un Sitemap dynamique se mettra automatiquement à jour sur votre site Web, ce qui est très pratique si vous mettez régulièrement à jour votre contenu. La méthode proposée ici utilise la réécriture d’URL pour simplifier le tout.

Dans le premier temps, créez un fichier .htaccess placé à la racine, ou modifiez celui que vous avez peut-être déjà :


Options +FollowSymlinks
RewriteEngine on

# Lien pour le Sitemap
RewriteRule ^sitemap\.xml$ /sitemap.php [L,NC]

Ainsi, sitemap.php va nous permettre de générer dynamiquement et simplement le contenu du fichier XML (le sitemap). Chaque fois que Google cherche à ouvrir la page sitemap.xml, sitemap.php est sollicité et crée une mise à jour du « fichier » XML.

Créez donc un fichier intitulé sitemap.php. Dans l’exemple suivant, on récupère les articles d’un blog imaginaire.

Voici la structure de la table qui sert dans l’exemple :


CREATE TABLE IF NOT EXISTS `blog` (
`id` MEDIUMINT(9) NOT NULL COMMENT ‘ID de l »article’,
`texte` TEXT NOT NULL COMMENT ‘Texte de l »article’,
`DATE` DATE NOT NULL)
ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=’Articles de blog’;

Voici pour le fichier sitemap.php :

// Connexion MySQL
$host = « localhost »; // généralement, c’est localhost
$user = « NOM_D_UTILISATEUR »;
$pass = « MOT_DE_PASSE »;
$bdd = « NOM_DE_LA_BD »;

@mysql_connect($host,$user,$pass) or die(« Echec de connexion au serveur: « .mysql_error());
@mysql_select_db(« $bdd ») or die(« Echec de sélection de la base: « .mysql_error());

// Spécifier le type de document, soit un document XML
header(« Content-Type: text/xml »);

// Requête MySQL pour aller chercher les articles du blog
$requete = « SELECT id, date FROM blog ORDER BY date DESC »;
$resultat = mysql_query($requete);

// Écriture du fichier XML
// l’entête :
$sm =  »;
$sm .= ‘xmlns:xsi= »http://www.w3.org/2001/XMLSchema-instance »
xsi:schemaLocation= »http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd »>’;

// Articles du blog
while ($blog=mysql_fetch_array($resultat,MYSQL_ASSOC)) {
$sm .= ‘‘;
$sm .= ‘http://votresite.com/blog?id=’.$blog['id'].’‘; // en suposant que vos pages dynamiques fonctionnent ainsi
$sm .= ‘‘.$blog['date'].’‘;
$sm .= ‘monthly‘;
$sm .= ‘ 0.7‘;
$sm .= ‘
‘;
}

$sm .=  »;

echo $sm;

Comme vous pouvez le deviner, chaque item du sitemap obéit à ce schéma :






<loc> L’emplacement exact de votre page. N’oubliez pas d’inclure le domaine (http://www.domaine.com).
<lastmod> Quand est-ce que votre page a été modifiée pour la dernière fois (ou quand a t-elle été créée). Cette donnée est préalablement stockée dans vos tables par vos scripts de blog. Vous devez fournir cette données sous un format valide W3C.
<changefreq> À quelle fréquence cette page risque t-elle d’être mise à jour? (always, hourly, daily, weekly, monthly, yearly, never). Ceci constitue un indice pour Google, la fréquence d’exploration de Google peut ne pas respecter votre commande. Et il ne sert à rien de mettre always si vous ne modifiez jamais un article une fois qu’il est publié.
<priority>

Cette donnée est un indice hiérarchique, indiquant si cette page est plus importante que d’autres, sur votre site. Cette comparaison ne s’applique pas aux autres sites. Il est inutile de mettre 1 partout, vous vous nuirez. Donnez une priorité plus haute aux pages qui vous semblent plus importantes et qui changent plus souvent

Normalement, en accédant la page sitemap.xml sur votre site, vous devriez voir votre Sitemap en format XML. Vérifiez s’il est valide, puis vous pourrez le soumettre à Google.

Bien sûr, il est possible d’améliorer ce script de plusieurs façons. Par exemple, vous pouvez stocker dans vos tables de données, dans une colonne priority, la priorité à donner à chacune des pages. Même chose pour le changefreq.

Évidemment, on se prend moins la tête avec les CMS!

Créer un Sitemap dynamique pour Joomla!

Pour ce qui est d’un sitemap pour Joomla!, vous avez à votre disposition deux composants : xMap et Joomap, les deux disponible en versions J!1.0x et J!1.5x.

Je n’ai pas essayé Joomap, mais xMap fonctionne très bien. Il existe des extensions pour la plupart des composants connus (Sobi2, Adsmanager, Community Builder, …), ce qui est indispensable. Il s’agit des deux plus connus, mais il existe d’autres composants.

Créer un Sitemap dynamique pour Drupal

Installez le module XML Sitemap pour Drupal, disponible pour Drupal 5.x.

Créer un sitemap dynamique pour WordPress

Téléchargez le plugin de Arne Brachhold, qui fonctionne très bien pour créer un Sitemap pour WordPress. Si le référencement vous intéresse, je vous invite à lire mon article au sujet du référencement sur WordPress.