Nettoyage de code et optimisations du blog [1]

Pour le SEO et pour le code HTML5.

Bon : autant vous prévenir d'emblée tout ce qui va suivre est expérimental et empirique. N'étant pas codeur c'est souvent à force d'essais / erreurs que j'ai rendu mon code plus léger sans effet de bord notable pour le référencement ni pour l'impression des pages. L'objectif visé est de dépouiller le code HTML de tout ce qui est inutile.

Du côté de la feuille de styles je n'ai rien fait car aujourd'hui c'est un foutoir. J'ai dans l'idée de refondre totalement cette partie du code plus tard cet été. Donc la CSS a été totalement exclue de cette opération de nettoyage de printemps.
Si j'ouvre ce billet c'est pour partager des trouvailles mais aussi échanger avec vous, aficionados et experts du code les idées pour un code plus léger et plus performant du côté front-end.
Ces précautions épistolaires faites, passons maintenant aux aspects techniques.

• • • html5 et référencement : optimisations du code

Commençons par la tête du canard :

La balise head d'abord

Elle ne sert à rien. En HTML5, d'ailleurs, son absence n'empêche pas le passage au vert du canard sans tête au banc de W3C. Tout comme en XHTML ou en HTML4 elle ne bloque pas l'impression de la page à l'écran. Coupons donc la tête et passons aux meta.

L'encodage

J'ai eu du mal l'année dernière avec l'encodage des caractères dans la déclaration HTML5. Je me suis échiné à comprendre pourquoi quand, soudain, une diode s'est allumée quelque part au fond de ma boîte crânienne : les navigateurs n'étaient tout simplement pas encore prêts dans l'interprétation d'HTML5. Aujourd'hui ils le sont.
Qui plus est, il y avait un bug dans le validateur HTML5 du W3C, réglé maintenant.
Pour autant est-il vraiment nécessaire de conserver la déclaration de l'encodage ? C'est un débat.
Pour ma part il n'y en a plus : je passe par le serveur. Pour les serveurs hébergés correctement ce sont ces lignes qu'on doit ajouter dans l'.htaccess :

AddDefaultCharset utf-8
AddCharset utf-8 .css .js
Chez 1and1 ces lignes n'ont pas d'effets. Il faut passer par un php.ini :
default_mimetype = "text/html"
default_charset = "UTF-8"

Pour mes CSS aussi j'ai viré @charset "UTF-8"; qui devient totalement inutile.
Et pendant qu'on est dans le serveur poursuivons dans les meta avec les favicons.

Favicons : passez par le serveur

Plutôt que par les meta :

<link rel="icon" type="image/ico" href="favicon.ico" />
<link rel="shortcut icon" href="favicon.ico" type="image/ico" />
Ça se passe dans l'.htaccess auquel on rajoute ces règles (pourvu qu'on dispose de la réécriture d'URL) :
AddType image/x-icon .ico
RewriteRule ^favicon.ico$ favicon.ico [NC,L]
RewriteRule ^apple-touch-icon.png$ apple-touch-icon.png [L]

Le cas des liens

Que ce soit dans les meta ou après le body il n'est pas nécessaire pour les balises href d'indiquer le protocole http. Le lien qui précède peut donc s'écrire ainsi : //ietf.org/rfc/rfc2396.txt. Et pendant qu'on y est, supprimons le préfixe WWW qui n'est pas nécessaire non plus.

Les balises meta pour le Référencement

Le cas des balises pour la validation de sites

Vous les connaissez : ce sont ces hiéroglyphes, comme celles-ci pour Google :

<meta name="google-site-verification" content="WWwwWW_SarK0ZYCasSeT01PAuvREC0N-XxX82YyY" />
GYM proposent de placer un fichier HTML à la racine du site : et hop! 3 balises économisées.

Les métadonnées du Dublin Core

J'en ai mis partout pendant un moment sans constater d'intérêt particulier du trio GYM pour ces meta. Poubelle.

Les mots-clés

meta name="keywords" : Passons si vous voulez bien.

Les balises ignorées

Et inutiles donc :

<meta name="identifier-url" content="http://on-air.hiseo.fr" />
<meta name="author" lang="fr" content="Philippe Le Mesle - hiseo.fr" />
<meta name="location" content="France, FRANCE" />
<meta name="copyright" content="Copyright 2009-2010 Hiseo.fr" />

Les guillemets droits

Et pour en terminer, fignolons en ôtant les guillemets droits. Toujours ? Non : si un caractère tel qu'une espace, un =, est contenu dans la chaîne il faut alors le ceindre des ". Ce qui donne pour moi :

<title>HTML5/CSS3 et autres geekeries</title>
<link rel=canonical href=http://on-air.hiseo.fr/ />
<base href=http://on-air.hiseo.fr/ />
<meta name=robots content=index,follow,noarchive,nocache />
<link rel=alternate type=application/rss+xml title=RSS href=rss-articles/ />
<link rel=stylesheet href=//assets.hiseo.fr/html5/index.css />
<meta name=viewport content="width=device-width, maximum-scale=1.0, user-scalable=no" />
<link rel=profile href=//purl.org/uF/hCard/1.0/ />
<link rel=profile href=//gmpg.org/xfn/11 />
<meta name=geo.placename content="Garennes sur Eure,Haute Normandie" />
<meta name=geo.position content=48.910468;1.439618 />
<meta name=geo.region content=FR-67 />
<meta name=ICBM content="48.910468, 1.439618" />

Le cas de la balise Description

Sur celle-ci je n'ai pas encore d'avis tranché. Tout le monde du SEO s'accorde à dire qu'elle ne sert pas au référencement La balise meta description ne serait en effet considérée par Google que pour l'affichage dans les SERPs.
Et quand elle n'existe pas ? Eh bien on est moins emmerdés. Plus d'alertes Balises META description en double ou Balises META description courtes dans les GWT.
Je l'ai viré. Mais il y a peu de temps. Je n'ai donc pas encore de retour complet. Mais comme Google pioche tout seul dans le contenu pour en extraire son snippet pourquoi lui forcer la main avec cette meta ?


HTLML 5 et CSS 3 blog


Commentaires :

Sylvain AxeNet||#1
Sylvain AxeNet
Tu rentres à peine d'être allé chasser les mouches avec tes truites et au lieu de regarder les 12000 demandes de devis, tu t'amuses à dépouiller ton code.

Tu sais que tu as de la chance de ne pas avoir de patron toi !

Le seul petit truc sur lequel j'ai buté un petit peu, c'est la balise meta description.
Je sais que ça a déjà été débattu 1000 fois, mais quand même, j'ai envie d'y remettre mon grain de sel.

Donc, pour ma part, et la terre entière à tout à fait le droit de ne pas être d'accord avec moi :

- Je trouve que le snippet est important dans la SERP.

- Je pense qu'il influence le taux de clic.

- Si c'est important, je préfère le gérer moi même plutôt que de laisser faire une machine.

- N'oublions pas que c'est tout de même un peu bébête une machine.

- Alors je préfère prendre un petit peu de temps pour présenter ma page, que de le laisser au bon vouloir des processeurs de Mr GG.


En parallèle, même si la rapidité d'affichage est prise en compte par GG, je ne suis pas certain que l'on gagne quoi que ce soit en lui faisant calculer un truc plutôt que de lui servir sur un plateau.

Bien évidemment, je suis d'accord sur le fait que le contenu de cette balise ne va pas influencer le positionnement de la page.

Sinon, les autres moteurs ? Quels autres moteurs ? Je n'ai qu'un amour, c'est GG, je suis un gars fidèle, MOI Monsieur !

Sinon, alors, ces vacances ?
jpvincent||#2
jpvincent
tu veux dire que apple-touch-icon.png est automatiquement recherchée ? donc pas besoin de le mettre dans le HEAD, c'est ça ?
Bruno hug||#3
Bruno hug
Super article et très complet, j'ai hâte de voir comment Mr Google va prendre en compte tout ça...
Philippe||#4
Philippe
Hello les gars

@ jpvincent

1/ faudra qu'on se parle du webring ces prochains jours

2/ voui

@ le sieur Sylvain

Tous tes arguments sont valables. Je les partage donc et ne recommanderais pas de faire l'impasse sur cette balise pour le site d'un client. Mais ici je m'en fous.

À part ça, mes mouches n'ont pas tant plu aux truites :-(

et concernant le peu de demandes consultations que j'ai pu recevoir pendant mon absence elles m'ont donné aussitôt l'envie de retourner à la pêche tant elles sont mal construites. Re :-(

@ Bruno : hello Bruno et merci.
Michael||#5
Michael
Ah mais c'est que c'est effectivement très intéressant tout cela. Merci pour ces conseils.
Par contre sur la balise description c'est vachement osée !
Loïc||#6
Loïc
Merci pour ce billet qui répond effectivement à mon interrogation et qui m'apprend plein de trucs que j'ignorais.
Seo Mix, Daniel||#7
Seo Mix, Daniel
Excellente la partie sur le favicon et l'apple-touche icon. Je vais aller tester le tout dès que possible.

Pour la méta description, je préfère l'utiliser, car je peux y placer une accroche plus commerciale que le texte utilisé par Google. Et augmenter le taux de clic, c'est bon pour la santé. ;)

Par contre, mettre une balise description ne veut pas dire que Google l'utilisera : des fois oui, des fois non...
Robin||#8
Robin
Personnellement la meta description je l'enlève sans problème pour les sites où je ne souhaite pas la gérer en PHP (il vaut mieux ne rien mettre, qu'un truc à moitié fait).
Eve||#9
Eve
Quelle drôle d'idée d'enlever la balise meta description. Comme dit Sylvain plus haut si elle ne sert à rien pour le référencement elle a tout de même ce mérite que d'informer l'internaute et de l'inciter à cliquer si elle est bien rédigée. Laisser la gestion du snippet aux moteurs de recherche pour moi c'est impossible !
Le Juge avec son nouveau blog Referencement en français||#10
Le Juge avec son nouveau blog Referencement en français
Non mais c'est pas mal... le gars il est a peine rentré de vacances qu'il revoit son code HTML5, pour qu'apple-touch-icon.png soit detecté automatiquement... juste comme ca ... Pour le beau geste!

NERD ALERT! Ou est le poster de la princess leia! Philippe, il peche la nuit, emmitouflé dans sa cape d'invisibilité d'Elf de niveau 31 et éclairé par une réplique de sabre laser!

Bon et bien je vais en rajouter une couche sur la balise description, voyez! Parce que chez moi Google ne fait QUE 75% des parts de marché et que je l'aime bien moi cette balise description et qu'en plus j'ai eu des expérience qui m'ont prouvé que la balise description pouvaient dans certains cas avoir une petite influence sur les rankings obtenu.

Voila
le juge||#11
le juge
Je viens de remarquer le petit sommaire sur le cote! Bien vu!
Philippe||#12
Philippe
Mais c'est mon ju-juge !
Non mais tu te rends compte : avec ton titre (Le Juge avec son nouveau blog Referencement en français) j'ai dû
rallonger le champ dans la BD. Tu m'en fais faire du boulot toi !

L'article était dans les tiroirs depuis avril mais j'ai pas pu le publier parce que sur la partie HTML5 j'ai eu un paquet de trucs très très curieux. En fait les moteurs d'impression des navigateurs flottent encore pas mal dans l'interprétation de balises.

Les sommaires c'est bon pour les lecteurs et c'est bon pour les moteurs. Il faut que je m'«ancre» ça dans la tête.
Houston Web design||#13
Houston Web design
"Les sommaires c'est bon pour les lecteurs et c'est bon pour les moteurs. Il faut que je m'«ancre» ça dans la tête."

Effectivement Les sommaires ca aide pour les breadcrumbs apparent dans les resultats google et les snippets!

Bien vu
Philippe||#14
Philippe
Billet actualisé par l'ajout du paragraphe sur les guillemets droits.
Momo||#15
Momo
Excellents ces conseils.
Je vais tester de mon côté.
Merci pour ce partage.
Maxime @ agence wype||#16
Maxime @ agence wype
Une bonne dose d'optimisation, très bien vu de ta part ! En particulier pour le favicon et l'encodage, en plus d'alléger le code, ça enlève bien des soucis d'automatiser tout ça.
Par contre pour les guillemets ou enlever "http", je ne sais pas si on gagne grand chose à les enlever. On perd surtout un peu de lisibilité...
Les commentaires pour cet article peuvent être suivis via ce fil.


C'est pour un commentaire ?

Les champs signalés par la cloche doivent être remplis.




Si vous voulez mettre du code dans votre commentaire, ne mettez pas de crochets, sinon, la balise sera interprétée.

Je sens que je vais dire quelque chose...



math captcha