Pour qu’une maison soit solide, il faut que ses fondations le soient. Les fondations d’un site web, c’est le serveur web. La santé et la solidité des serveurs web, c’est le métier de l’administrateur système. On l’oublie souvent, mais le SEO, à la base, c’est de l’optimisation technique.
Alors évidemment, AdminSys et SEO doivent travailler de concert, avec une contrainte (la production) et deux objectifs : un trafic maximisé et des couts maitrisés. DNS, Redirections, CDN, temps de chargement, utilisation des logs, détection du hotlinking… Savoir ce qu’on peut faire sur un serveur web pour optimiser le SEO d’un site, comprendre les impacts en terme de production des demandes SEO, et découvrir les outils pour de monitoring serveur qui sont utiles en référencement, voilà l’objectif de cette conférence donnée lors du SMX Paris 2012.
SEO et Administration Système : les mains dans le moteur
1. SEO et Administration Système
Les mains dans le moteur !
Virginie Clève & Charles-Christian Croix
SMX Paris 2012
2.
3. Qu’est ce qu’un bon Admin Sys web?
Pour le web un Admin Sys doit être Ingénieur de Formule 1 et :
• Savoir parler le web à 25%, le marketing à 25% et la technique à 50%.
• Avoir le sens du service et une haute notion de travail bien fait.
• Savoir que dans 99% des cas quelqu’un à eu le même problème et que la
solution existe déjà.
• S’intéresser à tout les métiers de l’entreprise.
• Savoir passer 20% de son temps sur le monitoring.
• Savoir être un dictateur sur les fondamentaux tout en sachant quand faire
sale et rapide.
4. Et quand on n’a pas d’Admin Sys ?
- Une administration système par l’hébergeur ?
Est ce que Ferrari fait faire la vidage de sa F1 chez Fiat ? Non ! Mais cela
peut être la seule solution.
- Une administration système par développeur ?
Combien d’ingénieurs R&D motorisation chez Ferrari savent changer une
roue en 15 secondes sans remettre en cause les outils, la méthode et le
fabricant de pneu ?
- Devenir son propre admin Sys ?
C’est l’objectif, pas pour assumer la tâche mais pour pouvoir la déléguer
sans perte et abandon de la responsabilité.
5. Collaboration SEO/Admin Sys, pour quoi faire ?
- Le SEO est un métier à la croisée de la technique et du marketing.
Impossible d’être référenceur sans comprendre la partie technique du
métier
- Il faut se rendre compte des effets secondaires des demandes SEO sur la
charge serveur ou la production (vitesse de chargement, pérennité des
optimisations)
La question à se poser est :
Quel est le prix technique de ce que je demande ? Votre Admin Sys doit
pouvoir répondre à cette question d’un point de vue théorique d’abord (cela
ma impacter le temps de chargement) sans forcement vous dire d’un point de
vu pratique de combien de micro secondes par page va être l’impact.
L’Admin Sys n’a pas besoin du SEO pour faire son Job
Le SEO ne peut pas faire le sien sans l’Admin Sys…
6. DNS et URL
- Les urls « marketing »
Exemple : www.lefigaro.fr/vin utilisée en print renvoyant en 301 vers la
véritable url en sous domaine http://avis-vin.lefigaro.fr
Impacts SEO : un peu de perte de jus de lien 😠
Impacts Admin Sys : 15 min de négo, 5 min de réalisation 😠
- Redirection de tous les vieux sous domaines plus utilisés
Exemples : jeux concours, sites évènementiels
Impacts SEO : concentration de liens à ancres diversifiées, aucune perte de
lien 😠
Impacts Admin Sys : 2h de négo, 4h et plus de réalisation 😠
7. DNS et URL
- Refonte de site avec changement d’urling
Impacts SEO : perte énorme si le mapping des syntaxes anciennes/nouvelles
urls pas/mal géré ou pas mis en place dans les temps.
Impacts énormes si les urls supprimées (404) ne sont pas redirigées
intelligemment et/ou pas dans les temps 😠
Impacts Admin Sys :
Travailler le plus tôt possible et le plus en amont possible avec votre Admin
Sys. Exposer vos besoins simplement sans parler de solution dans un premier
temps.
8. DNS et URL
Expliquer vos objectifs consiste à dire par exemple :
«Mes rubriques 1 et 2 vont fusionner sauf la rubrique 2B qui elle va fusionner
avec la rubrique 3 et je ne veux perdre aucun client qui arriverait par une
ancienne url, je veux qu’il arrive exactement au bon endroit dans la nouvelle
arborescence».
Votre Admin Sys répondra en substance :
« Les URL de ce type seront traitées par une seule règle de redirection, toute
celles de ce type seront traitée individuellement »
Construisez maintenant sur cette base :
le document de référence (liste, tableau Excel etc...)
Le monitoring commun
9. Le temps de chargement
- Le temps de chargement des pages, qui a un impact sur l’expérience utilisateur,
et à présent pris en compte par Google parmi beaucoup d’autres critères, pour
le positionnement d’un site
- Depuis longtemps, le temps de chargement a un impact sur le crawl de Google
(plus celui-ci augmente et plus la vitesse de crawl baisse…)
- Google aime les courbes de temps de téléchargement plates, sans à-coups.
un site bien optimisé SEO est donc un site rapide
Certaines demandes SEO peuvent, comme on l’a vu, avoir un impact négatif
sur le temps de chargement
10. Le temps de chargement : comment l’améliorer ?
Outils
- Poids des éléments, nombre d’éléments, vitesse de chargement des
éléments, ordre des éléments, temps de résolution DNS, entête http,
Instruction de mise en cache etc.. les navigateurs offrent les
informations pour comprendre le temps de chargement de votre site.
Astuces
- Surveillez le poids des éléments et apprenez à le limiter (Moins gros
= plus rapide à télécharger)
- Surveillez le temps de chargement et apprenez les facteurs qui
l’influencent (temps de réponse de votre serveur etc..)
- Surveillez le temps de réponse de vos fournisseurs (feed, iframe,
tags de tracking etc...)
11. Le temps de chargement : comment l’améliorer ?
Safari
ici sous OS X, comporte tout les outils pour travailler sur la performance
Préférences -> Avancées -> Afficher le menu Développement dans la barre des
menus
12. Le temps de chargement : comment l’améliorer ?
Chrome
ici sous OS X, comporte aussi les outils pour travailler sur la performance.
Par défaut, l'option les outils de développement intégrés sont activées.
13. Le temps de chargement : comment l’améliorer ?
Google est votre ami :
Google Page Speed : https://developers.google.com/speed/pagespeed/
14. Le temps de chargement : comment l’améliorer ?
Cache
- Un cache est un mécanisme qui garde une copie de la version définitive de
l’information sur un support rapide afin d’économiser le temps de sa création
(calcul, accès base de données etc...)
- Un cache peux être utilisé à tout niveau de la chaine de distribution de
l’information entre le code de votre site et le navigateur de vos clients.
- L’avantage est qu’ils sont rapides, souvent placés au plus près du destinataire.
- L’inconvénient est que sans ordres et instructions précises ils peuvent délivrer
une information obsolète, incomplète ou invalide.
15. Le temps de chargement : comment l’améliorer ?
Cache
Savoir utiliser les différents types de systèmes d’accélération : Opcode (APC,
Xcache), Proxy (Squid, Varnish, Nginx), CDN, Navigateurs
1. Opcode : Cache sur le serveur le résultat du calcul du code (ici PHP) et
économise le temps de génération du résultat.
2. Proxy : Cache un élément (image, vidéo, etc.) ou une page entière en amont
de votre serveur et économise. Économise le temps de transit, le temps
d’accès et/ou de génération.
3. CDN : même effet que les Proxy (image, JS, CSS, vidéo etc..) mais encore plus
en aval de la chaine de l’information
4. Navigateur : Toujours plus en aval de la chaine de l’information.
16. Le temps de chargement : comment l’améliorer ?
Cache ou pas ?
En fonction de la demande, de la taille et de la durée de vie de l’information
17. Le temps de chargement : comment l’améliorer ?
Cache tout au long de la chaine d’information
Navigateur CDN PROXY Serveur
18. Le temps de chargement : comment l’améliorer ?
Accès disque : TempFS et SSD
Les accès disque sont nombreux pour les données volatiles qu’on ne peut mettre
en cache : temps réel, Ajax, contributions (commentaires), compteurs
Certains éléments fonctionnels ont un impact sur le temps de chargement
rôle de conseil ou de warning du référenceur auprès des éditeurs de site et
chefs de projet
19. Le temps de chargement : comment l’améliorer ?
Accès disque : TempFS et SSD
Qu’est ce que TempFS
Segment de la mémoire vivre (RAM) utilisé comme un disque dur. Attention
en cas de coupure électrique ou reboot tout est perdu.
Qu’est ce que un SSD ?
Disque dur sans pièce mécanique, une super clé USB en somme. De vie et
performance vie parfois limitées en dehors des très grandes marques, donc
cher à l’achat.
Usages ?
Pour des données avec énormément d’accès et volatiles, une photo de
webcam réactualisée toute les 5sec par exemple.
Intérêt et limites ?
Souvent utilisé pour les bases de données et/ou
comme espace de stockage temporaire.
Votre avatar en cours de construction par exemple.
20. Le temps de chargement : comment l’améliorer ?
La compression GZIP
Compresser au format Zip en sortie de votre serveur. Dézipper sur le navigateur.
L’information est de + petite taille durant le transit et voyage plus rapidement,
ceci au prix d’un peu de calcul processeur.
L’optimisation des images
Chaque image comporte tout un tas d’étiquettes (données Exif) donnant l’heure,
la date de la création, le logiciel ou l’appareil photo utilisé, sa configuration etc..
Inutiles et pouvant peser prêts de 20% du poids de l’image !
Les images retravaillées online via les médiathèques des CMS le sont avec des
recettes génériques. Cela ne conviendra pas forcement à votre besoin. Dans ce
cas pensez à faire générer les miniatures
par votre graphiste.
21. Le temps de chargement : comment l’améliorer ?
Minifier les CSS & JS
Cela consiste a réduire la taille des fichiers en compactant le code.
Comment ?
En retirant tous les espaces et les retours à la ligne inutiles du code voir à
réécrire les noms trop longs. Les commentaires sont supprimés également.
Totalement illisible pour un humain après ce traitement mais cela ne change
rien à l’exécution du code
Technique utilisable uniquement sur des fichiers de type texte.
22. Le temps de chargement : comment l’améliorer ?
CSS & JS
Un outil ?
L’admin Sys utilisera yui-compressor un outil développé par Yahoo.
yui-compressor -v --type css style.css.ori -o style.css
Dans l’exemple 4Ko on été gagné. Ceci multiplillé par le nombre de fichier traité et le
nombre de fois qu’ils sont distribués.
23. Le temps de chargement : comment l’améliorer ?
Bases de données
1. Optimisation des temps d’accès
- Configuration du moteur de base de donnée (SGBD) : Table space par table,
filesystem, espace temporaire, écriture des logs …
- Configuration de la base : sharding, taille des tables, taille des index …
- Construction de la requête : vue et jointure, table temporaire, utilisation des
index …
- Nettoyage des données inutiles (poubelle de chaque user dans le Backoffice
révisions et brouillons)
- Archivage de données froides ( Paniers ecommerce, commande de plus de trois
mois )
… Un travail d’Admin Sys
24. Le temps de chargement : comment l’améliorer ?
Bases de données
1. Optimisation des temps d’accès
- La fonction d’optimisation de table dans PhpMyAdmin est un faux ami et peux
être contre productif. Dans certains cas cela nécessite de réécrire entièrement la
table à neuf et pas seulement réorganiser les données dans celle-ci.
- PhpMyAdmin donne un certains nombre d’avertissements bien pratiques pour
les débutants sur l’utilisation faite de votre base de donnée. D’autres outil
d’audit ou de monitoring encore plus puissants existent pour les experts (mytop,
monyog, dbtuna)
25. Le temps de chargement : comment l’améliorer ?
2. Nombre de requêtes : le problème des CMS et des plugins.
- L’utilisation des CMS conduit à perdre de vue la couche en dessous c’est à dire
la base de donnée. Moins la base de donnée est sollicitée mieux votre site se
porte. Une requête SQL par service / fonction offerte par la page distribuée est
un grand maximum.
- Un bon développeur est aussi compétent en code que base de données, c’est
du 50/50.
=> Le SEO ne peut pas contrôler ça mais doit sensibiliser aussi le développeur,
comme l’admin Sys le fait aussi pour les nécessités de la production.
- L’index, comme dans un livre, permet de rechercher plus rapidement dans une
base de donnée en listant le contenu de certains champs particulièrement
représentatif. Leur sélection se fait dans le contexte des données et de leur
utilisation. Leur sous ou sur utilisation est une cause de mauvaise performance.
26. Redirections et vHosts
Deux types de redirections : au niveau du serveur web (Apache, ngnix etc..) ou
au niveau logiciel (code / CMS).
A savoir : Toute redirection est consommatrice de ressource et influe sur la
performance.
- Au niveau du serveur web vous avez la solution la plus puissante et la moins
consommatrice mais également la moins souple (on/off du serveur)
- Au niveau du code / CMS vous avec la solution la plus souple (proche du zéro
coupure) mais aussi la plus consommatrice.
Les redirections c’est un savoir faire particulier que tous les Admin Sys ne
maitrisent pas. Il faut parfois des heures de jus de cerveau pour une seule
RegExp
27. Redirections et vHosts
Différences entre htaccess et vhost.
- Un vhost ou virtual host est une configuration globale pour un serveur web à
son démarrage.
- Le htaccess est une configuration partielle et contextuelle sous la forme d’un
fichier présent dans le contenu du site web. Ce fichier donne les instructions
de comportement du serveur pour le répertoire courant et les sous
répertoires.
Bannir le htaccess pour les performances
- Pour chaque fichier que le serveur va lire sur le disque afin d’en exécuter le
code ou distribuer le contenu il va lire le htaccess.
- Pratique pour réagir à chaud avec souplesse
Mais… en multipliant les accès au disque et les instructions pour délivrer un
contenu unique vous surchargez votre serveur.
28. Redirections et vHosts
- Liens externes en 404 : liens anciens, sur les ancres souvent diversifiées =>
dommage de les perdre !
Gros boost lié à la mise en place des 301 sur les liens en 404 sur le site jaune
- Codes de tracking WA, Adwords ou Feedburner
www.aaa.com?param_WA=123456 => génération de DC
Solution :
1. Remplacer le “?” par un “#”
2. Etablir une liste exhaustive des paramètres félons.
3. Rediriger en 301 les urls contenant le pattern “?param_WA=“ vers leur
version sans paramètre.
Plus d’infos : http://www.karlesnine.com/2009/09/23/seo-backling-discovery/
29. Le Duplicate Content
Définition : On dit que l’on a du Duplicate Content sur un site lorsqu’on peut y
trouver 2 pages ou plus rigoureusement identiques indexables par un moteur
de recherche.
Volontaire ou non, cela peut
aboutir à la suppression pure et
simple de l’index principal d’une
des deux, voire des deux pages
indexées.
Les pages en dupliquât seront
alors placées dans l’index
complémentaire du moteur, dans
lequel elles ne génèreront aucun
trafic et (quasi) aucun crawl.
30. Pourquoi lutter contre le DC ?
- Augmenter la base de pages indexables
Certaines pages tombent dans le filtre sans être a proprement parler dupliquée
(Title et meta desc)
- Donner au maillage interne tout son potentiel
Le linking interne depuis des pages en dupliquât a un pouvoir de vote quasi nul.
C’est donc autant de jus de perdu. Dommage…
- Empêcher la déperdition de jus de lien externe
Les liens externes sont répartis entre les pages dupliquées, amoindrissant leur
pouvoir de vote
- Améliorer le crawl
Permettre à Google d’indexer un maximum de contenus uniques en un minimum
de temps et en définir facilement le degré d’importance ou de fraîcheur.
31. Comment l’Admin Sys peut vous aider ?
- Définition d’un domaine canonique
Rediriger la version du site sans www vers la version avec www.
Exemple : http://www.monsite.fr et http://monsite.fr
Ou http://www.aaa.com/index.html et http://www.aaa.com/index.htm
- Trailing Slash
Exemple : http://www.aaa.com/mon-rep et http://www.aaa.com/mon-rep/
La solution : des redirections 301
Comment : identifier les types de pages qui posent
problème et travailler avec l’Admin Sys au meilleur
compromis « gain SEO/ Performance/Pérennité »
A noter : certains paramétrages sont réalisables via
le Google Webmaster Tools
32. Comment l’Admin Sys peut vous aider ?
- Urls à variable de session ou à paramètres
On les appelle aussi des Spider Traps. C’est catastrophique sur le plan de la crawlabilité
La solution : 301 des urls à paramètre vers leur version sans.
Comment : faire quelques requêtes dans le moteur pour voir l’étendue des dégâts et
évaluer si le jeu en vaut la chandelle (gain versus charge serveur additionnelle) et si la
réponse est oui, lister les paramètres correspondant à de la session utilisateur.
Autre : fouetter son dev jusqu’à sang !
33. Les logs et leur utilisation en SEO
Définition
Fichier technique historisant toutes les actions effectuées sur un serveur web. Ces
fichiers sont souvent très lourds (jusqu’à plusieurs gigas)
Les usages des fichiers de log en SEO
- Détection des 404
- Détection du hotlinking sur les images
- Détection les visites de Google et leur fréquence
- Nettoyer les redirections devenues inutiles en monitorant la date de dernière
visite de Google sur une url dépendant d’un pattern d’url redirigé
- Identifier les pages peu crawlées
Outils pour lire les logs
- Splunk qui permet de programmer des rapports automatisés
- Awstats
A lire aussi : http://www.watussi.fr/lanalyse-des-logs-serveur-une-mine-dinformation-pour-le-seo
34. Utilisation d’un CDN ?
Définition
Le CDN (Content Delivery Network) est un réseau de serveurs collaborant pour
mettre à disposition vos données à des hordes d’utilisateurs ou de clients qui
assaillent votre tout petit serveur.
Usage
Le CDN offre la possibilité de déléguer la responsabilité de distribuer vos
informations (images, vidéos, pages, etc..) à votre place depuis un grand nombre
de serveurs qui travaillent de concert pour toujours offrir la même version à jour
de cette information.
=> Une armée de mercenaires à votre service vient prendre ces ordres et
l’information à distribuer auprès de votre serveur
35. Contraintes d’un CDN ?
Contraintes
- Les ordres doivent rester valides suffisamment longtemps pour que l’ensemble
des serveurs de l’armée soient informés chacun individuellement des
instructions à appliquer
Exemple : Quand et comment vérifier que l’information à distribuer est toujours la
plus récente ?
- L’information doit rester valide suffisamment longtemps pour que l’ensemble
des serveurs de l’armée ait le temps répondre à un nombre significatif de vos
clients ou utilisateurs pour que cela en vaille le coût (technique et financier) .
Exemple : les CGV, votre logo ou la vidéo de l’assemblée générale qui change peu.
Contre exemple: le nombre de produits en stock sur votre offre -50% qui à fait
l’objet d’un mailling massif ou le nombre de commentaires sur l’article qui fait le
buzz
36. Utile ? Pas Utiles un CDN ?
Dans quel cas c'est utile ? Comme pour le cache
😠
En cas de forte affluente (soldes, promo, scoop)
😠
En cas de donnée volumineuse et / ou nombreuse (images, vidéo)
😠
En cas de donnée non volatile et stable (Logo, charte, CGV etc...)
😠
Dans quel cas ce n'est pas utile ? Comme pour le cache
😠
😠Pour des données légère, très volatile et peu volumineuse (nombre de
commentaires, état de stock etc...)
37. Ordre et information pour un CDN ?
Les instructions : Cache-Control, Expire, Last-Modified
39. Usage d’un CDN : impact sur le SEO images et vidéos
Impacts SEO possibles
- Le SEO Google Vidéo et images dépend du fait d’héberger les médias sur son
domaine ou un sous domaine. Or, par défaut, c’est le domaine du CDN qui sert
les médias
=> perte très importante de trafic à prévoir
Solution
- Dédier un sous domaine static.monsite.com au CDN via un record DNS du type
Cname. Tout les CDN acceptent cela.
40. Rester en contact et aller plus loin
Charles-Christian Croix Virginie Clève
Responsable Web Hosting Directrice déléguée de l’Avis du Vin, de l’évènementiel
& des voyages
Mondadori France Digital Le Figaro
Twitter : @karlesnine Twitter : @largow
Blog : www.karlesnine.com Blog : www.cafe-referencement.com