Le site qui va marcher: optimisation d’une page clé

Après mes différents articles d’introduction concernant le site qui va marcher, il est maintenant temps de rentrer dans le vif du sujet. Pour ce faire, je vais dans un premier temps me consacrer pleinement à  une page bien particulière du site. J’expliquerai dans un autre article plus en détail ce que j’attend de cette page clé et aussi toutes ses caractéristiques; vous verrez que c’est fort intéressant, puisque c’est principalement grâce à  elle que toute ma stratégie va commencer et que les premiers sous-sous vont tomber, dixit Mme Soleil, qui l’a annoncé ce matin sur France Zéro.

La pauvre expérience utilisateur

Avant de commencer l’optimisation, l’expérience utilisateur de cette page était un véritable désastre, semblable à  une manifestation de l’union nationale des croque-morts par temps de pluie, à  Saint-Jean-de-Cuculles dans l’Hérault. Voici cette vilaine chose telle que nous le sortait à  l’époque l’illustre GPI (Google Page Insight):

Pagespeed Insights page désastreuse

De source sure, il parait que se rapprocher de 100% pourrait grandement améliorer les choses en terme de trafic. En bon élève de Google, c’est ce que nous allons tenter de faire. Fort heureusement, j’ai déjà  levé quelques lièvres similaires dans un article précédent. Chic, un peu moins de maux de tête en perspective !

Compressez et cachez, nom d’une pipe !

« Autoriser la compression » et « exploiter la mise en cache du navigateur » sont des choses très faciles à  faire en utilisant tout plein de directives incompréhensibles à  mettre dans votre .htaccess. Je ne l’affiche pas ci dessous parce que c’est laid comme un phylloxéra vastatrix.

Plus c’est petit, plus c’est bon

« Réduire la taille des ressources JavaScript/CSS », est aussi simple que de boire une bonne bière pendant une grosse choucroute garnie. Il faut d’abord s’assurer que les CSS présents sur votre site sont bien utilisés, et là  c’est souvent la grande surprise:

Ce résultat est obtenu en utilisant le debugger de Chrome (CTRL-ALT-I), menu Audit et Run. On y voit qu’il y a un certain nombre de feuilles de style qui ne sont carrément pas utilisées mais quand même chargées ! C’est un peu dommage, parce que comme le Sénat Français, cela ne sert à  rien du tout et vous fait perdre du temps. Pour info, les CSS sur le site qui va marcher représentaient quand même 500K avant l’optimisation. Alors, n’hésitez pas: sabrez-les de votre thème.

Deux remarques toutefois:

  • Les CSS peuvent très bien être utilisés sur d’autres pages de votre site, méfiez-vous donc car vous pouvez tout casser.
  • Le debugger de Chrome vous indique les instructions qui ne sont pas utilisées et la tentation est grande de vouloir aller les supprimer directement dans le fichier source. Malheureux ! à‰vitez absolument de faire cela pour plein de raisons: ce qui est vrai avec votre configuration ne l’est pas forcément sur un mobile ou sur un écran plus grand. De plus, vous allez voir que c’est très chronophage avec beaucoup d’ennuis en perspective. Personnellement, après m’être acharné sur quelques malheureuses lignes pendant deux jours, j’ai renoncé: le jeu est beaucoup trop hasardeux surtout si comme moi, vous codez vos CSS comme une quiche lorraine.

Après, combinez le plus possible vos CSS, afin de réduire leur nombre. Il vous suffit juste de les concaténer. Attention, pour pleins d’autres raisons, vous pouvez encore une fois casser tout votre thème. Faites des essais en commençant par concaténer deux feuilles et continuer comme cela tout doucement.

Finalement, vous minifiez tous vos fichiers CSS et JS par la même occasion en faisant toujours bien attention à  ne rien casser. GPI et GT Metrix vous proposent des versions minifiées de vos fichiers. Jouez avec une combinaison des deux car vous n’obtenez pas toujours les mêmes résultats d’un site à  l’autre.

N’oubliez pas non plus d’arranger vos fichiers HTML. Transformez par exemple:

<div>
<div>
<div>

en

<div><div><div>

A la longue, vous allez voir que cela va beaucoup plaire au « juge de paix ». Il m’est arrivé de gagner quelques pourcentages juste en éliminant des retours chariot.

Laissez-moi passer, c’est urgent

« à‰liminer les codes JavaScript et CSS qui bloquent l’affichage »; pour le JS, la solution toute simple est de déférer l’exécution du script:

<script async src= »js/script.js » type= »text/javascript »>

Pour les CSS, la solution qui revient la plus souvent est d’utiliser loadCSS(). Mais dans mon cas, cela n’a pas été nécessaire puisque suite aux optimisations déjà  effectuées sur les CSS, le message a disparu. De plus, le fait de charger les CSS après le corps peut parfois avoir des effets très laids votre site.

Un problème épineux sur cette problématique a été l’utilisation des polices de Google appelées par le thème du site. Il s’agit ici d’un problème récurrent que l’on retrouve aussi avec les scripts Google Analytic, Adsense, Facebook, etc. J’ai donc téléchargé toutes ces polices en local et modifié tous les CSS y faisant référence.  Le travail de conversion et de génération des feuilles de style peut être entièrement automatisé grâce au génial google-font-download.

Le serveur qui rame encore

Il ne rame pas mon beau serveur de chez OVH, c’est une petite bombe qui marche très bien; mais cela ne semble pas suffisant pour l’ami Google. Alors, armé d’un petit verre de Châteauneuf-du-Pape, j’ai réfléchi au moyen de le contenter. En fait, c’est systématiquement la même chose qui pose problème: les entrées-sorties qu’il faut absolument réduire, car c’est toujours elles qui vous plombent vos performances. Voici par exemple ce qu’il ne faut absolument pas faire en PHP:

echo « Bonjour Papa »;
echo « Bonjour Maman »;
echo « Bonjour Madame la maà®tresse »;

Total = 3 sorties quand même ! On réduit très facilement comme ceci:

$li = « Bonjour Papa\n »;
$li .= « Bonjour Maman\n »;
$li .= « Bonjour Madame la maà®tresse\n »;
echo $li;

On gagne de cette manière un temps précieux. Ne pas oublier le « \n » dans les variables parce que sinon c’est moche comme une araignée qui tombe du plafond dans votre flan aux poireaux.

Malheureusement, cela ne suffit pas car en environnement LAMP, il y a des entrées-sorties très gourmandes en ressources. Je pense bien entendu aux accès aux bases de données:

SELECT * FROM tatable ORDER BY id DESC LIMIT 10000000000;
DELETE FROM table;

etc.

Vous me direz que l’on a pas trop le choix, car ces requêtes doivent être exécutées un moment ou un autre . C’est vrai, mais tant que ce peut, il faut éviter que ce soit l’utilisateur qui le fasse. L’idée est donc de déporter au maximum ce qui peut l’être via un cron (une tâche planifiée récurrente).

Ainsi, j’exécute toutes les 5 minutes la page clé qui va me créer un fichier texte:

*/5 * * * * /usr/bin/php /home/www.sitequivamarcher.com/creer.php >/home/cache

que j’appelle très facilement comme ceci:

$li = file_get_contents(« /home/cache »);
if(strlen($li)) echo $li;

Dans ce cas, l’appel se fait toutes les 5 minutes parce qu’il y a des mises à  jour fréquentes sur cette page. Mais pour des pages statiques, on peut imaginer générer une bonne fois pour toute le cache. On mesure les gains obtenus très facilement en insérant par exemple une balise commentaire dans le cache:

$ts0 = microtime(true);
. .
. .
$ts = microtime(true) – $ts0;
$li .= « <!– « .sprintf(« %0.04f »,$ts).  » –> »;

Voici par exemple le résultat obtenu sur une des pages, exprimé en microsecondes:
<!– 0.4595 –>
<!– 0.0000 –>

La lecture du cache est tellement rapide que le script n’a même pas eu le temps de calculer un différentiel de temps ! Bien entendu, cette manière de faire peut parfois compliquer la mise en oeuvre du site, mais sur des pages complexes avec plein d’appels à  des bases pouvant comporter des tables comprenant des millions d’enregistrements, le jeu en vaut largement la chandelle.

Mais rassurez-moi, vous pensiez réellement que Google construit ses SERPS en interrogeant en direct ses milliards de données ?

Vous allez détester  les images

Après plusieurs optimisations réussies, j’ai acquis l’intime conviction que les problèmes avec les images sont la principale source des mauvais scores obtenus avec GPI. Il faut quand même dire que ce même GPI peut parfois vous proposer des optimisations vous permettant d’économiser jusqu’à  90% des ressources. Ce qui en terme de pondération est quand même spéctaculaire.

La page clé contient beaucoup d’images, alors un soin tout particulier doit être apporté à  leur utilisation et leur gestion.

Il y a d’abord le format: comme préconisé, je maximise l’utilisation du PNG, quitte à  convertir les JPEG en batch par exemple. Mais bien entendu, ce n’est pas toujours facile, surtout si vous avez des GIF montrant votre grand-mère maternelle poussant la chansonnette dans une guinguette en bord de Saone.

Après, les images doivent être systématiquement optimisées. Lorsque vous utilisez WordPress, ceci peut être fait à  la volée via le plugin EWWW. Mais dans mon cas, n’ayant pas opté pour le génial CMS, je le fais avec des outils en ligne de commande que j’appelle sous forme de batch.

Je recommande  Optipng pour les PNG et Jpegoptim pour les JPEG. Pour obtenir strictement les mêmes résultats que GPI, vous les utilisez de la manière suivante:

optipng -o7 -strip all cassouletdecanard.png
jpegoptim –strip-all -m85 -o -p tarteaupomme.jpeg

Sur les JPEG, Google a récemment abaissé son niveau d’exigence de qualité au profit d’une compression plus importante; donc vous pouvez vous permettre d’avoir des images de qualité moindre. De toutes les manières, cela ne se voit même pas à  l’oeil nu, tranquilisez-vous donc: on verra toujours très nettement la photo du très beau bouquet de pavots que vous avez offert à  la tante Hildegarde.

L’autre optimisation très importante à  effectuer concerne la taille: si votre image est en 2000 par 2000 pixels et que vous l’utilisez en 200 par 200 pixels, au moyen des paramètres Height et Width, c’est un peu dommage parce que vous êtes 90% trop gourmand en terme de performances. Dans ce cas et si c’est possible, vous la taillez au couteau au moyen d’un outil de redimmensionement, comme par exemple Mogrify. Voici comment je faire pour faire maigrir ses vilaines bêtes:

mogrify -resize 200×200 imagetropgrosse.jpeg

Je ne peux que vous conseiller de passer beaucoup de temps sur ce sujet, c’est absolument primordial pour une bonne optimisation de votre site.

Après le désastre

Voici donc le résultat obtenu en appliquant toutes ces modifications. C’est beau, non ?

Il m’est néanmoins très difficile d’obtenir une meilleur note sans endommager sérieusement le thème du site, ce que je préfère éviter à  tout prix. Après 85 est une note tout à  fait correcte, surtout que l’on revient quand même de loin. Je ne peux que vous recommander de bien lire les diagnostiques de excellentissime GT Metrix qui fourmille de bonnes informations et vous fait franchement réfléchir et évoluer votre site vers une très bonne expérience utilisateur.

Voilà , nous allons désormais laisser un peu de temps au temps et voir si ces optimisations contribuent à  améliorer notre trafic sur la page clé.

Version 1.4 du plugin SEO XLT

Pour faire suite à  de nombreuses demandes et questions, je viens de me décider à  mettre à  jour le plugin XLT. Outre la correction de quelques bugs, voici les nouvelles fonctionnalités que j’ai développé.

Tout d’abord, j’ai ajouté plusieurs moteurs de recherche qui vont alimenter encore plus votre longue traà®ne. Parmi eux: Bing, Ask, Yahoo, Voila ainsi que d’autres un peu moins connus, comme babylon.com, delta-search.com et puis quelques toolbars comme conduit.com ou sweetim.com. Ceci devrait alléger la problématique posée par le not provided mis en place par Google et offrir un peu plus de pérennité à  l’existence du plugin.
Ne soyez donc pas surpris si les statistiques sur vos mots-clés augmentent sensiblement; et quand je dis sensiblement, vous risquez d’avoir de très agréables surprises, en fonction de la thématique que vous proposez sur votre blog.

Ensuite, vous avez désormais la possibilité de choisir si vous voulez que vos requêtes apparaissent ou non dans les extraits. La version précédente du plugin affichait de manière inconditionnelle ces mots dans les extraits, ce qui selon certains commentaires « pouvait enlaidir » le blog. Décochez « Visible dans les extraits » pour désactiver la présence des mots-clés dans les extraits. Une petite note technique pour les personnes qui font du développement sous WordPress: cette option a été particulièrement difficile à  réaliser car, XLT s’appuyant sur un filtre, il n’est pas possible d’enlever celui-ci par la fonction remove_filter() lorsqu’il a déjà  été activé au moyen d’un add_filter(). J’ai donc dà» chercher une alternative qui semble fonctionner mais je ne peux garantir que la méthode soit opérationnelle sur tous les thèmes WordPress existants. Si vous avez des soucis avec cette option, n’hésitez pas à  me contacter.

Toujours en ce qui concerne l’affichage des mots-clés, vous pouvez maintenant choisir si ceux-ci doivent apparaitre sur la page principale. (Option « Afficher sur la page principale « )

Et pour en terminer avec ces fameux mots-clés, il est désormais possible de les dissimuler (option « Dissimuler« ). Certains utilisateurs sont très sensibles à  l’esthétisme de leur blog et je les comprend. Il est tout de même dommage de se priver de cette option qui donne de très bons résultats sur la longue traà®ne. Utilisez donc cette option pour les camoufler aux yeux des utilisateurs. Afin d’éviter toute pénalité propre à  cette petite technique, j’ai essayé d’être un peu plus subtil en évitant d’utiliser directement un vulgaire display: none. A noter que certains utilisateurs de XLT ont trouvé la parade en changeant tout simplement l’entête des mots-clés par quelque chose de plus esthétique que ce que je propose par défaut. Par exemple: « Sujets traités par cet article », « Exemple d’article », etc.

Finalement, l’affichage HTML du Widget est à  présent complétement paramétrable: entrez les étiquettes dans l’entête, le pied et ce qui doit apparaitre avant et après l’affichage de chaque élément.

Ci-dessous, vous trouverez un historique des précédentes versions du plugin XLT avec mes remarques et les commentaires souvent bien constructifs de ses utilisateurs.

J’en profite aussi pour vous conseiller d’aller jeter un œil sur la page d’Eric de Faire-connaitre-mon-entreprise.fr qui parle longuement de l’utilisation qu’il fait de mon plugin. Vous trouverez aussi d’intéressantes discussions et remarques dans les commentaires.

N’hésitez pas à  revenir vers moi pour toute demande de support, bugs, conseils, etc.

Télécharger la version 1.4 du plugin XLT

Créer votre réseau de blogs avec la Coop et le Multisite WordPress

Dans cet article, je vais vous expliquer comment créer facilement tout un réseau de blogs grâce au dispositif de multisite de WordPress, y intégrer du contenu automatiquement au moyen de la Coop et finalement optimiser la plateforme pour créer du trafic. Le but étant de consolider l’ensemble de nos domaines sur une seule plateforme et de pouvoir y déployer très rapidement nos nouveaux domaines en approximativement une minute.

Mappage de domaines et DNS

Dans un premier temps, vous devez créer l’entrée DNS qui va recevoir le domaine principal, à  savoir tout simplement le premier domaine que vous allez ajouter à  la plateforme. Ceci se fait tout simplement en ajoutant un champ de type A (host) à  votre zone DNS:

www.domaine0.com.      1800   IN  A       192.168.0.1

où 192.168.0.1 est l’adresse IP publique de votre serveur web.

Ceci fait, pour chaque nouveau domaine que vous voulez ajouter à  la plateforme, vous utiliserez un champ de type CNAME (alias) qui pointera sur votre premier domaine (www.domaine0.com):

www.domaine1.com.         1800   IN   CNAME     www.domaine0.com.

Dans mon exemple, j’ai donc crée le nom de domaine www.domaine1.com qui pointe sur www.domaine0.com. L’avantage d’utiliser un CNAME est que si un jour vous changez d’hébergeur, vous n’aurez qu’une seule adresse IP à  changer, ce qui est plus pratique lorsque l’on gère des milliers de noms de domaine.

Si vous souhaitez utiliser des sous-domaines pour domaine0.com, vous devez créer un joker comme enregistrement de type A:

*.domaine0.com.      1800   IN  A       192.168.0.1

A ce sujet, deux remarques:

  • La façon de créer votre joker (Wildcard en anglais) dépend beaucoup de votre gestionnaire DNS: chez certains comme Godaddy, cela fonctionne, chez d’autres ce n’est pas prévu. Consultez donc votre fournisseur pour en savoir plus.
  • On aurait pu utiliser également un CNAME pour créer le joker mais par expérience, je le déconseille car un enregistrement de type A est prioritaire par rapport à  un CNAME, ce qui peut provoquer des effets de bord en cas de conflit, voir de rediriger votre domaine vers un autre site. Par ailleurs, j’ai en mémoire certaines RFC qui déconseillent son utilisation dans certains cas.

Configuration du serveur WEB

Dans ma configuration, j’utilise Apache comme beaucoup d’entre vous. Le paramétrage ne présente qu’une seule particularité: je fais en sorte que le domaine principal (www.domaine0.com) soit celui par défaut, afin d’être certain que tous mes domaines iront bien taper sur celui-ci. Pour connaitre le domaine par défaut de votre serveur Web, il suffit généralement de taper l’adresse IP du serveur WEB dans un navigateur. Cette affirmation est bien entendu discutable sur de l’hébergement mutualisé type OVH ou autre qui peut être clusterisé ou utiliser du Round-Robin faussant ainsi la déduction de l’adresse IP. Sous Apache, le site Web par défaut est tout simplement le premier site virtuel. Voici les directives que j’utilise:

#
# www.domaine0.com
#
<Directory /home/www.domaine0.com>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin root@domaine0.com
DocumentRoot /home/www.domaine0.com/web
ServerName www.domaine0.com
ServerAlias *.domaine0.com
ServerAlias www.domaine1.com
ErrorLog /home/www.domaine0.com/error.log
CustomLog /home/www.domaine0.com/access.log combined
</VirtualHost>

Dans ma configuration, on observe que le site par défaut gère www.domaine1.com ainsi que tous les sous-domaines de domaine0.com. Pour ajouter un domaine, il suffit donc simplement d’ajouter la directive suivante:

ServerAlias www.domaine2.com

L’installation de WordPress

Cette installation se fait comme à  l’accoutumée très simplement, sans aucun paramétrage exotique. La seule difficulté majeur restant la saisie correcte des informations de connexion à  la base de données (90% des problèmes d’installation). Il va de soi qu’il est recommandé de personnaliser tout de même son blog: modification du permalien, changement du format de la date, paramétrage d’Akismet, etc.

L’activation du multisite de WordPress

Cette étape est un peu plus délicate, je la reprend donc dans sa totalité.

Commencez par activer le multisite

Ouvrez le fichier de configuration wp.config.php et ajoutez la directive suivante juste après /* That’s all, stop editing! Happy blogging. */

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Ceci fait, rechargez la page d’administration de votre blog.

Installation du réseau de blogs

Allez dans Tools — Network Setup pour activer votre réseau. Dans ce panneau, choisissez Sub-domains (sous-domaines) et changez éventuellement les renseignements sur le réseau (Titre et email de l’administrateur).

Une fois que vous avez lancé l’installation, il est possible que WordPress vous signale une erreur sur le joker (wildcard) de votre domaine. Pour le moment, ce n’est pas grave, ignorez l’erreur.

Insérez les directives suivantes dans votre fichier wp-config.php juste au dessus de /* That’s all, stop editing! Happy blogging. */

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST']);
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Attention: ce fichier est différent de celui que va vous proposer l’installation de WordPress. Cette version est capable de supporter le mappage de plusieurs domaines contrairement à  ce que vous propose WordPress.

Remplacez votre fichier .htaccess avec les directives suivantes:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

Terminez l’installation en vous reconnectant.

Ajouter des nouveaux sites

  • En haut, allez dans My Sites – Network Admin – Dashboard
  • Allez dans Site – Add new
  • Entrez ce que vous voulez dans Site Address, cela n’a pas d’importance pour le moment. Entrez le nom du site et renseignez votre email
  • Retournez dans My Sites – Network Admin – Sites
  • à‰ditez le domaine que vous venez de créer
  • Changez son nom dans Domain. Ce nom doit correspondre à  une entrée DNS et être paramétré sur votre serveur Web
  • Bravo, vous venez de créer un nouveau blog.

Installation de la Coop

La Coop va nous permettre de générer du contenu rapidement et sans effort. Il peut s’agir d’une solution temporaire avant de développer le domaine; vous pouvez aussi tenter de rentabiliser votre achat en monétisant le domaine avec de l’affiliation ou plus simplement avec Adsense ou Infolinks.

Depuis la version 1.8, le plugin est capable de gérer le multisite de WordPress. Cette fonctionnalité offre désormais de très importantes possibilités.

Pour installer la Coop, téléchargez l’archive, décompressez-la et placez tous les fichiers dans le répertoire plugins/coop. Puis activez le plugin depuis la page d’administration du site. Attention: je déconseille d’utiliser l’activation sur tout le réseau (Option Network Activate). Et ceci même d’une façon générale sur tous les plugins que vous utilisez.

Une fois que vous avez activé le plugin, allez sur la page d’administration de la Coop, choisissez le réseau qui vous intéresse et activez le partenariat automatique: les articles vont arriver doucement jour après jour enrichissant ainsi votre blog sans effort.

Optimisation de la plateforme

  • Sur la page principale, n’affichez qu’un seul article afin de limiter les « fuites SEO »
  • à‰purez les sidebars au maximum
  • Installez le plugin XLT pour accélérer votre longue traine
  • Installez le widget XLT pour faire revivre vos vieilles pages sans trafic
  • Installez d’autres plugins SEO comme All in One SEO Pack
  • Installez le plugin RSS de Guillaume pour faire des liens profonds
  • Pour prévenir toute tentative de hack, installez le plugin de détection d’intrusion

Conclusion

Dans cet article, je vous ai expliqué comment mettre en place tout un réseau de blogs très facilement et surtout très rapidement. Je vous ai également montré comment générer du contenu et comment optimiser cet environnement. Vous avez maintenant toutes les cartes en main pour construire votre propre réseau ou tout simplement faire vivre les domaines que vous n’utilisez pas.

 

Comment contourner le « not provided » de Google

Cela fait maintenant plus d’un an que Google a choisi de dissimuler les mots-clés tapés par un visiteur. Auparavant, ces requêtes étaient une très précieuse information surtout pour ceux qui travaillent beaucoup leur longue traà®ne, exactement comme moi et qui en plus en font des outils pour améliorer leur trafic. C’est d’autant plus ennuyeux que ces données correctement exploitées permettent de créer des sites qui marchent.

Alors, dans ces moments de doute, je choisi de remettre en question mes zakisocio et ce-fabuleux-modèle-social-que-tout-le-monde-nous-envie-mais-que-personne-ne-copie certitudes et de trouver une solution à  cet épineux problème.

Tout d’abord, je choisi d’analyser ces fameuses requêtes « not provided » pour voir ce qu’il est possible d’en faire ou du moins essayer de comprendre leur fonctionnement. Car initialement, je suis parti sur deux hypothèses: dans une solution idéale, j’aspire à  ce que Google continue de passer les mots clés dans les URL de recherche mais sous une forme codée. Je peux alors non pas tenter de les décoder, n’étant pas prétentieux à  ce point, mais construire un dictionnaire de correspondance avec d’un côté, le mot clé et de l’autre la chaà®ne codée. Dans une seconde hypothèse, j’imagine que Google garde toutes ces informations chez lui et ne passe que quelques jetons ou autres clés complétement inutilisables. Voici donc ce genre de requête qui vient nous gâcher la vie:

http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CFoQFjAD&url=http%3A%2 %2Fwww.pagasa.net%2F&ei=uXUWUdfTGeWc0AXpnoGwAw&usg=AFQjCNHq94CK7d6ciGvazV93Cn H_jQxDmQ&sig2=ffHi4_ZcJvtsDMgpRkupVQ

Il y a trois variables qui nous intéressent: ei, sig2 et usg. Les deux premières sont des jetons qui changent à  chaque requête et j’ai découvert que la variable usg est tout simplement l’identificateur de l’URL. Ce qui vient donc confirmer la terrible sanction: Google stocke ses données chez lui et il n’est donc plus possible d’exploiter les mots-clés, flute alors !

A terme, cela signifie donc la mort clinique de mon plugin XLT et aussi des baisses de performances sur mes autres techniques de longue traine. Mais c’est sans compter sur les observations que j’ai pu effectuer en débroussaillant précisément mes statistiques Web.

Tous les autres moteurs continuent d’afficher les mots clés dans les URL référentes.

Alors certes, Google représente une bonne majorité des requêtes, du moins sur le marché Francophone avec dans mon cas 85% de part; mais sur le marché international, ces requêtes chutent à  70%. Si je fais donc le calcul, je peux pour le moment compléter mes informations avec les requêtes des autres moteurs pour arriver à  quelque chose de quasiment complet. J’ai également observé que ces requêtes étaient très proches de celles de Google, donc je n’y perd pas en qualité. J’ajoute aussi que j’ai été surpris du nombre de moteurs alternatifs. Après quelques recherches, il s’agit en fait la plupart du temps de toolbars installées dans les navigateurs, avec ou sans la permission des utilisateurs :-)

Si Google venait à  supprimer définitivement les mots-clés, ce ne serait toujours pas très grave: il me faudrait juste un peu plus de temps pour collecter les données, et puis des toolbars et d’autres moteurs de recherche, il en apparait de nouveaux très régulièrement.

Je termine cet article en vous proposant la petite fonction PHP suivante qui extrait les mots-clés des URL de n’importe quel moteur. Elle sera facilement incorporable et modifiable à  souhait pour celui qui a un minimum de connaissances en PHP. J’utilise cette fonction dans plusieurs de mes programmes.


<php
function parse_se() {
  $mref=$_SERVER["HTTP_REFERER"];
  $mk = "";
  $mse = array();
  $mse[0][0] = ".google.";
  $mse[0][1] = "q=";
  $mse[1][0] = ".search.yahoo.";
  $mse[1][1] = "p=";
  $mse[2][0] = ".voila.fr";
  $mse[2][1] = "rdata=";
  $mse[3][0] = ".bing.fr";
  $mse[3][1] = "q=";
  $mse[3][0] = ".ask.com";
  $mse[3][1] = "q=";

  $i = 0;
  $ms = "";
  $mq = "";
  foreach ($mse as $v1) {
    $q = strstr($mref,$mse[$i][0]);
    if(strlen($q)) {
      $ms = $mse[$i][0];
      $mq = $mse[$i][1];
      break;
    }
    $i++;
  }
 if(strlen($ms)){
    $q = strstr($mref,"&".$mq);
    if(strlen($q)) {
      $tab = split("&".$mq,$mref);
      $mk = $tab[1];
      $tab =  split("&",$mk);
      $mk = $tab[0];
      if (strlen($mk))
        $mk = urldecode($mk);
      else
        $mk = "-1";
    }
    else {
      $q = strstr($mref,"?".$mq);
      if(strlen($q)) {
        $tab = split("\?".$mq,$mref);
        $mk = $tab[1];
        $tab =  split("&",$mk);
        $mk = $tab[0];
        $mk = urldecode($mk);
      }
    }
  }
  return $mk
}
?>

La fonction retourne le mot-clé, -1 en cas de « not provided » ou rien s’il n’y a rien.

Mise à  jour du plugin Coop: Version 1.8

Cela fait maintenant pratiquement un an que je n’avais pas mis à  jour le plugin Coop.   Aujourd’hui, je vous dévoile donc la version 1.8 qui comprend un certain nombre de nouveautés qui, je l’espère, devrait vous plaire. La Coop, pour ceux qui ne le savent pas encore, est un plugin qui gère automatiquement tout un réseau de blogs WordPress. Vous publiez un article et celui-ci est propagé doucement et automatiquement sur toute une série de blogs répartis un peu partout sur la toile. L’avantage est donc que vous obtenez des backlinks sans effort et si vous faites attention avec le contenu de votre article, ces derniers seront de très bonnes qualité.

Des bugs corrigés, un dispositif anti-congestion et plus de flexibilité

Tout d’abord, comme à  l’accoutumée dans tous programmes informatiques, un certain nombre de bugs ont encore été corrigés. Je vous passe les détails et vous demande donc de bien vouloir prendre contact avec moi si vous avez encore des problèmes.

Le problème avec la parution des messages systèmes doit normalement être résolu. A noter aussi que le programme détecte la parution de ces messages et les efface automatiquement. Concernant les messages cabalistiques, je ne suis pas tout à  fait convaincu de leur origine et m’oriente vers une base de données corrompue en provenance de l’un des nœuds. La chose tout de même curieuse est que ces messages ne devraient pas passer le nœud voisin car il génère du contenu dupliqué, rejeté avec succès par le filtre anti duplicate-content.

J’ai ajouté un dispositif de gestion de congestion. Lors de certaines situations, il arrive qu’un nœud sature complétement et se retrouve avec plusieurs centaines de brouillons à  gérer, ce qui ralentit tout le nœud, et peut même affecter l’ensemble du transit des messages dans certains cas. Le plugin est désormais capable de détecter une congestion et de la gérer.

Il y a désormais un fichier de paramétrage qui aide à  plus de flexibilité lors du déploiement du plugin. Vous trouverez aussi un fichier avec tous les messages de la Coop en Français. L’idée derrière cela est bien entendu de déployer la Coop sur le gigantesque marché anglophone, avec à  la clé encore plus de nœuds et donc de backlinks. Cela va demander un peu de temps mais j’ai bon espoir d’y arriver.

Un debug est désormais disponible, et les tests sont encore plus précis et vous donnent beaucoup plus d’informations. Le fichier log comprend encore plus d’informations sur ce qui se passe, les problèmes, les erreurs, etc.

Le plugin peut désormais gérer le multisite de WordPress

Une grande nouveauté est que le plugin sait maintenant gérer le multisite, ce qui va beaucoup simplifier la gestion de tous vos nœuds. Une seule installation de WordPress est donc désormais nécessaire pour gérer l’ensemble de vos domaines. L’application immédiate est que vous avez désormais là  un moyen pratique de faire vivre vos domaines inutilisés en attendant de les développer ou bien de les vendre. Je vais vous préparer un article complet à  ce sujet qui explique les tenants et aboutissants et qui devrait grandement intéresser les collectionneurs de domaines ou tout simplement les domainers.

J’ai également revu l’esthétisme du panneau d’administration, puisque certains d’entre vous semblent y accorder une importance toute particulière.

Créez vos propres réseaux de blogs WordPress

Finalement la grosse nouveauté concerne les réseaux. Vous avez désormais la possibilité de créer vos propres réseaux publics (tout le monde peut y accéder) et même privés: vous autorisez ou non les personnes à  participer à  votre réseau. Ceci devrait donc canaliser les thématiques et permettre de développer des réseaux pour des besoins particuliers. Et en matière de backlinks, je sais qu’ils sont nombreux: certains veulent des réseaux privés pour des concours de référencement, d’autres pour du contenu uniquement Blackhat, d’autres veulent des backlinks de backlinks, etc. Tout ceci se gère automatiquement et très facilement d’un simple clic.

Rejoindre la Coop

Voilà , la Coop reste encore privée pour le moment, et gratuite également. Si vous êtes intéressé par l’aventure, je ne peux que vous conseiller de prendre contact avec moi: vous êtes les bienvenus. Si vous savez bien utiliser le plugin, vous aurez d’agréables surprises en matière de SEO. Je ne peux que vous recommander la lecture de cet article pour vous en convaincre. Les possibilités offertes par ce plugin sont tout simplement gigantesques, alors n’hésitez pas à  le tester.