Le terme « développeurs » est un terme générique qui englobe les ingénieurs logiciels, les codeurs, les programmeurs, les développeurs front-end et back-end, ainsi que divers professionnels de l'informatique. Ce sont eux qui écrivent le code et/ou gèrent les différentes technologies web sous-jacentes qui constituent et font fonctionner les sites web.
Dans votre rôle de spécialiste SEO, il peut être plus ou moins possible pour vous de maîtriser parfaitement des langages de programmation tels que C++ et Java, des langages de script tels que PHP et JavaScript, ou des langages de balisage tels que HTML, XML ou le langage de feuille de style CSS.
Et il existe bien d'autres langages de programmation, de script et de balisage – maîtriser tous ces langages serait une tâche herculéenne, même si votre rôle est celui de programmeur à plein temps et non de spécialiste du référencement.
En tant que professionnel du SEO, il est essentiel de maîtriser les différents langages, technologies et architectures qui composent le web. Lorsque vous formulez des recommandations SEO, qui seront vraisemblablement mises en œuvre par des développeurs, vous devez comprendre leur état d'esprit, leurs problématiques, la nature de leur travail et, surtout, parler leur langage.
Vous n'avez pas besoin de tout savoir sur les développeurs, mais vous devriez bien comprendre ce qu'ils font afin de pouvoir poser de meilleures questions et fournir des recommandations SEO qui leur parlent, et ainsi augmenter les chances que ces recommandations soient mises en œuvre.
Lorsque vous parlez leur langue et comprenez leur monde, vous contribuez à un environnement collaboratif où chacun tire dans le même sens pour obtenir les mêmes résultats positifs.
Et bien sûr, outre l'établissement de relations de collaboration, être un professionnel du référencement (SEO) implique beaucoup de travail de détective technique, de détection et de prévention des problèmes ; comprendre les différents aspects de la technologie web n'est donc pas une option, c'est une obligation.
Les technologies web peuvent être complexes et intimidantes, mais j'espère que ce guide vous facilitera un peu la tâche et comblera certaines lacunes dans vos connaissances.
Sautons tout de suite!
Internet contre le World Wide Web
La plupart des gens utilisent ces termes indifféremment, mais techniquement, les deux termes ne signifient pas la même chose, bien qu'ils soient liés.
Internet a débuté comme un réseau décentralisé d'ordinateurs interconnectés et indépendants.
Le département américain de la Défense s'est impliqué au fil du temps et a attribué des contrats, notamment pour le développement du projet ARPANET (Advanced Research Projects Agency Network), qui était un des premiers réseaux à commutation de paquets et le premier à utiliser TCP/IP (Transmission Control Protocol et Internet Protocol).
Le projet ARPANET a conduit à «Internetde travail« où différents réseaux d’ordinateurs pourraient être reliés en un plus vaste « réseau de réseaux ».
Le développement du World Wide Web est attribué à l'informaticien britannique Sir Tim Beners-Lee dans les années 1980 ; il a développé des documents hypertextes liés, ce qui a abouti à un modèle de partage d'informations construit « au-dessus » d'Internet.
Les documents (pages web) devaient être formatés dans un langage de balisage appelé « HTML » (Hypertext Markup Language), et pouvaient être liés entre eux à l'aide de « liens hypertextes » sur lesquels les utilisateurs pouvaient cliquer pour naviguer vers d'autres pages web.
Hébergement Web
L'hébergement web, ou hébergement tout court, désigne les services qui permettent aux particuliers et aux entreprises de mettre une page web ou un site web en ligne. Les sociétés d'hébergement possèdent des parcs d'ordinateurs appelés « serveurs », dont la nature n'est pas totalement différente de celle des ordinateurs que vous connaissez déjà, même s'il existe bien sûr des différences.
Il existe différents types de sociétés d'hébergement web qui proposent une gamme de services en plus de l'hébergement web ; ces services peuvent inclure l'enregistrement de noms de domaine, les créateurs de sites web, les adresses e-mail, les services de sécurité des sites web, et plus encore.
En bref, un hébergeur est l'endroit où les sites web sont publiés.
Serveurs web
Un serveur web est un ordinateur qui stocke les documents et les ressources web. Les serveurs web reçoivent les requêtes des clients (navigateurs) pour obtenir des pages web, des images, etc. Lorsque vous consultez une page web, votre navigateur demande toutes les ressources/fichiers nécessaires à l'affichage de cette page. Le processus est généralement le suivant :
Du client (navigateur) au serveur : « Salut, je veux cette page web, merci de me fournir tous les textes, images et autres éléments que vous avez pour cette page. »
Serveur vers client : « Ok, le voici. »
Plusieurs facteurs influent sur la rapidité d'affichage (rendu) de la page web, notamment la vitesse du serveur et la taille des différents fichiers demandés.
Vous rencontrerez le plus souvent trois types de serveurs :
- Apache est un logiciel libre et open source compatible avec de nombreux systèmes d'exploitation, tels que Linux. L'acronyme « pile LAMP » est souvent utilisé pour désigner un ensemble comprenant Linux, Apache, MySQL (base de données relationnelle) et PHP (langage de script côté serveur).
- IIS signifie « Internet Information Services » et est un logiciel propriétaire développé par Microsoft. Un serveur IIS est souvent appelé « serveur Windows » car il fonctionne sous les systèmes d’exploitation Windows NT.
- NGINX (prononcé « Engine X ») est présenté comme un serveur haute performance capable de gérer l'équilibrage de charge, de servir de proxy inverse, et bien plus encore. Son objectif affiché est de surpasser les autres types de serveurs.
Fichiers journaux du serveur
Souvent appelés « fichiers journaux », ces enregistrements consignent l'activité du serveur en réponse aux requêtes de pages web et de ressources associées, comme les images. Certains serveurs sont déjà configurés pour enregistrer cette activité ; d'autres doivent l'être.
Les fichiers journaux sont la « réalité » de ce qui se passe avec un site web et contiennent des informations telles que la page ou le fichier demandé, la date et l'heure de la requête, l'agent utilisateur effectuant la requête, le type de réponse (trouvé, erreur, redirigé, etc.), le référent et quelques autres éléments tels que les octets servis et l'adresse IP du client.
Les spécialistes du référencement (SEO) devraient se familiariser avec l'analyse des fichiers journaux. Pour approfondir ce sujet, consultez l'explication de JafSoft concernant un exemple de fichier journal de serveur web.
Ftp
FTP signifie File Transfer Protocol (protocole de transfert de fichiers). C'est le protocole utilisé pour transférer des fichiers de ressources, tels que des pages web, des images, des sitemaps XML, des fichiers robots.txt et des fichiers PDF, vers votre compte d'hébergement web afin de les rendre accessibles et consultables sur Internet via les navigateurs. Des logiciels FTP gratuits permettent d'effectuer cette opération.
L'interface présente une structure arborescente classique de fichiers et de dossiers : les fichiers de votre ordinateur s'affichent à gauche, et ceux du serveur distant à droite. Vous pouvez glisser-déposer des fichiers locaux sur le serveur pour les transférer. Et voilà, vos fichiers sont disponibles sur Internet ! Pour plus de détails, Wired propose un excellent guide FTP pour débutants.
Nom de domaine
Un nom de domaine est une chaîne de caractères (généralement du texte) utilisée dans une URL (Uniform Resource Locator). En résumé, pour l'URL https://www.website.com, « website » est le nom de domaine.
Domaine racine et sous-domaine
Le domaine racine est ce que l'on appelle communément un nom de domaine, comme « site web » dans l'URL https://www.website.com. Un sous-domaine est la partie « www. » de l'URL. Parmi les autres exemples de sous-domaines, on peut citer news.website.com, products.website.com, support.website.com, etc.
Pour plus d'informations sur la différence entre un domaine et un sous-domaine.
URL contre URI
URL signifie « Universal Resource Locator » (par exemple https://www.website.com/this-is-a-page) et URI signifie « Uniform Resource Identifier » et est un sous-ensemble d'une URL complète (par exemple /this-is-a-page.html).
HTML, CSS et JavaScript
J'ai regroupé ici HTML, CSS et JavaScript non pas parce que chacun ne mérite pas sa propre section, mais parce qu'il est important pour les spécialistes du référencement (SEO) de comprendre que ces trois langages constituent la majeure partie du codage des pages web modernes (avec de nombreuses exceptions bien sûr, dont certaines seront mentionnées ailleurs ici).
HTML signifie « Hypertext Markup Language » (langage de balisage hypertexte), et c'est le langage original et fondamental des pages web sur le World Wide Web.
CSS signifie « Cascading Style Sheets » (feuilles de style en cascade) et désigne un langage de feuilles de style utilisé pour styliser et positionner les éléments HTML sur une page Web, permettant ainsi la séparation de la présentation et du contenu.
JavaScript (à ne pas confondre avec le langage de programmation « Java ») est un langage de script côté client permettant de créer des fonctionnalités interactives sur les pages web.
AJAX et XML
AJAX signifie « JavaScript asynchrone et XML ». Asynchrone signifie que le client/navigateur et le serveur peuvent fonctionner et communiquer indépendamment, permettant ainsi à l'utilisateur de continuer à interagir avec la page web indépendamment de ce qui se passe sur le serveur. JavaScript est utilisé pour effectuer les requêtes asynchrones au serveur et, lorsque celui-ci répond, JavaScript modifie le contenu de la page affiché à l'utilisateur. Les données envoyées de manière asynchrone du serveur au client sont encapsulées au format XML, ce qui facilite leur traitement par JavaScript. Cela réduit le trafic entre le client et le serveur, améliorant ainsi le temps de réponse et la vitesse.
XML signifie « Extensible Markup Language » et est similaire à HTML. Utilisant des balises, des éléments et des attributs, il a été conçu pour stocker et transporter des données, tandis que HTML sert à les afficher. En matière de référencement (SEO), l'utilisation la plus courante de XML se trouve dans les fichiers sitemap XML.
Données structurées (alias Schema.org)
Les données structurées sont des balises que vous pouvez ajouter au code HTML d'une page pour aider les moteurs de recherche à mieux comprendre son contenu, ou du moins certains de ses éléments. En utilisant les formats standards approuvés, vous fournissez des informations supplémentaires qui facilitent l'analyse des données pertinentes par les moteurs de recherche.
Les données structurées sont couramment utilisées pour baliser certains aspects des recettes, des œuvres littéraires, des produits, des lieux, des événements de toutes sortes, et bien plus encore.
Schema.org a été lancé le 2 juin 2011, fruit d'une collaboration entre Google, Bing et Yahoo (rejoints peu après par Yandex), afin de créer un ensemble commun de schémas standardisés pour le balisage des données structurées sur les pages web. Depuis, le terme « Schema.org » est devenu synonyme de « données structurées », et les types de données structurées Schema.org évoluent constamment, de nouveaux types étant ajoutés régulièrement.
L'un des principaux avantages des données structurées est qu'elles facilitent la compréhension des données par les moteurs de recherche, leur permettant ainsi de mieux interpréter les informations. De plus, certains éléments balisés peuvent entraîner l'affichage d'informations supplémentaires dans les pages de résultats de recherche (SERP), telles que les notes, les temps de cuisson des recettes, etc. Il est important de noter que l'ajout de données structurées ne garantit pas l'affichage de ces fonctionnalités dans les SERP.
Il existe plusieurs vocabulaires de données structurées, mais JSON-LD (JavaScript Object Notation for Linked Data) s'est imposé comme la méthode préférée et recommandée de Google pour le balisage des données structurées conformément aux directives Schema.org ; d'autres formats sont également pris en charge, tels que les microdonnées et RDFa.
JSON-LD est plus facile à ajouter aux pages, plus facile à maintenir et à modifier, et moins sujet aux erreurs que les microdonnées qui doivent être intégrées aux éléments HML existants, alors que JSON-LD peut être ajouté comme un bloc unique dans la section <head> HTML d'une page Web.
Front-end vs back-end, côté client vs côté serveur
Il vous est peut-être déjà arrivé de discuter avec un développeur qui vous a dit : « Je suis développeur front-end », et de vous demander ce que cela signifiait. Ou peut-être avez-vous entendu quelqu’un dire : « Ah, c’est une fonctionnalité back-end ». Tout cela peut paraître complexe, mais c’est facile à expliquer.
Les termes « front-end » et « côté client » désignent la même chose : l’exécution se fait dans le navigateur. Par exemple, JavaScript a été initialement conçu pour s’exécuter sur une page web dans le navigateur, c’est-à-dire sans avoir à interroger le serveur.
Les termes « back-end » et « côté serveur » sont synonymes : l’action se déroule sur un serveur. Par exemple, PHP est un langage de script côté serveur qui s’exécute sur le serveur, et non dans le navigateur. Certains systèmes de gestion de contenu (SGC), comme WordPress, utilisent des modèles PHP pour les pages web, et le contenu est chargé depuis le serveur pour s’afficher dans le navigateur.
Langages de programmation vs. langages de script
Les ingénieurs et les développeurs ont des explications et des définitions différentes des termes. Certains affirment qu'il n'y a finalement aucune différence ou que la frontière est floue, mais la différence généralement admise entre un langage de programmation (comme C ou Pascal) et un langage de script (comme JavaScript ou PHP) réside dans le fait qu'un langage de programmation nécessite une étape de compilation explicite, tandis que le code créé par l'homme et lisible par celui-ci est transformé en un ensemble spécifique d'instructions en langage machine compréhensibles par un ordinateur.
Système de gestion de contenu (CMS)
Un CMS est une application logicielle, ou un ensemble de programmes, permettant de créer et de gérer des sites web (ou, plus simplement, du contenu numérique). Concrètement, un CMS permet de créer, modifier, publier et archiver des pages web, des billets de blog et des articles, et propose généralement diverses fonctionnalités intégrées.
Utiliser un CMS pour créer un site web signifie qu'il n'est pas nécessaire de créer du code à partir de zéro, ce qui est l'une des principales raisons du succès des CMS.
Un autre aspect commun des CMS réside dans les plugins, qui peuvent être intégrés au CMS de base pour étendre les fonctionnalités qui ne font pas partie de la liste des fonctionnalités de base du CMS.
Parmi les CMS courants, on trouve WordPress, Drupal, Joomla, ExpressionEngine, Magento, WooCommerce, Shopify, Squarespace, et il en existe bien d'autres.
Réseau de diffusion de contenu (CDN)
Parfois appelés « réseaux de distribution de contenu », les CDN sont de vastes réseaux de serveurs géographiquement dispersés dans le but de diffuser du contenu Web depuis un serveur situé plus près du client effectuant la requête afin de réduire la latence (délai de transfert).
Les CDN mettent en cache des copies de votre contenu web sur plusieurs serveurs, et les serveurs les plus proches du visiteur diffusent ensuite le contenu demandé. Les CDN permettent d'assurer une haute disponibilité et des performances optimales.
HTTPS, SSL et TLS
Les données web transitent entre ordinateurs par paquets de données. Les clients (navigateurs web) servent d'interface utilisateur lorsque nous demandons une page web à un serveur. Le protocole HTTP (Hypertext Transfer Protocol) est la méthode de communication utilisée par un navigateur pour interagir avec un serveur et effectuer des requêtes. HTTPS est la version sécurisée de ce protocole.
Les propriétaires de sites web peuvent passer leur site en HTTPS afin de sécuriser davantage la connexion avec les utilisateurs et de la rendre moins vulnérable aux attaques de type « homme du milieu », où un tiers intercepte ou modifie la communication.
SSL signifie « Secure Sockets Layer » et désigne un protocole de sécurité standard permettant de chiffrer les communications entre le serveur et le navigateur. TLS (Transport Layer Security) est une version plus récente de SSL.
HTTP/1.1 et HTTP/2
Lorsque Tim Berners-Lee a inventé le protocole HTTP en 1989, l'ordinateur qu'il utilisait ne disposait pas de la puissance de calcul et de la mémoire des ordinateurs actuels. Un client (navigateur) se connectant à un serveur via HTTP/1.1 reçoit les informations par le biais d'une séquence d'échanges requête-réponse sur le réseau, souvent appelés « allers-retours » avec le serveur, parfois désignés par le terme de « poignée de main ».
Chaque aller-retour prend du temps, et HTTPS est une connexion HTTP avec une couche SSL/TLS, ce qui nécessite une nouvelle négociation avec le serveur. Tout cela prend du temps, engendrant une latence. Ce qui était suffisamment rapide à l'époque ne l'est plus forcément aujourd'hui.
HTTP/2 est la première nouvelle version de HTTP depuis la version 1.1. En termes simples, HTTP/2 permet au serveur de fournir plus de ressources au client/navigateur plus rapidement qu'HTTP/1.1 en utilisant le multiplexage, la compression, la priorisation des requêtes et le push serveur, qui permet au serveur d'envoyer au client des ressources qui n'ont pas encore été demandées.
Interface de programmation d'application (API)
Le terme « application » désigne de manière générale un type de logiciel capable d'effectuer des tâches spécifiques. Les applications comprennent les logiciels, les navigateurs web et les bases de données.
Une API est une interface avec une application, généralement une base de données. L'API fonctionne comme un messager qui reçoit les requêtes, indique au système ce que vous souhaitez et vous renvoie la réponse.
Si vous êtes au restaurant et que vous souhaitez que la cuisine vous prépare un plat précis, le serveur qui prend votre commande est le messager qui communique entre vous et la cuisine, ce qui est analogue à l'utilisation d'une API pour demander et récupérer des informations à partir d'une base de données.
AMP, PWA et SPA
Si vous souhaitez créer un site web aujourd'hui, vous avez de nombreuses options.
Vous pouvez le créer de A à Z en utilisant HTML pour la diffusion du contenu, CSS pour l'apparence et JavaScript pour les éléments interactifs.
Vous pouvez également utiliser un CMS (système de gestion de contenu) comme WordPress, Magento ou Drupal.
Vous pouvez aussi le créer avec AMP, PWA ou SPA.
AMP AMP (Accelerated Mobile Pages) est une initiative open source de Google qui utilise un ensemble spécifique de balises HTML et de composants fonctionnels en constante évolution. L'avantage principal d'AMP réside dans la rapidité de chargement des pages web lorsqu'elles sont codées conformément à ses spécifications. En revanche, certaines fonctionnalités souhaitées peuvent ne pas être prises en charge et le suivi analytique peut présenter des problèmes.
PWA signifie Progressive Web App (application web progressive) et combine les avantages des sites web traditionnels et des applications mobiles. Les PWA offrent une expérience utilisateur similaire à celle d'une application native, avec notamment des notifications push, la possibilité de travailler hors ligne et la création d'un raccourci sur son téléphone.
En utilisant des « service workers » pour assurer la communication entre le client et le serveur, les PWA combinent la rapidité de chargement des pages web avec la capacité de fonctionner comme une application mobile native. Cependant, comme les PWA reposent sur des frameworks JavaScript, vous pourriez rencontrer certains défis techniques.
Les SPA (Single Page Applications) diffèrent des pages web traditionnelles qui chargent chaque page demandée par l'utilisateur au cours d'une session via des communications répétées avec le serveur. Les SPA, en revanche, s'exécutent directement dans le navigateur et les nouvelles pages consultées lors d'une même session utilisateur ne nécessitent pas de rechargement via des requêtes serveur.
Les principaux avantages des SPA (Single Page Applications) résident dans un développement simplifié et rationalisé, ainsi que dans une expérience utilisateur très rapide. Leurs principaux inconvénients incluent des problèmes potentiels de référencement (SEO), dus à la capacité parfois inégale des moteurs de recherche à analyser le contenu servi par JavaScript. Le débogage peut également s'avérer plus complexe et chronophage pour les développeurs.
Il convient de noter que le succès futur de chacune de ces technologies web dépendra en fin de compte de leur adoption par les développeurs.
Conclusion
Bien évidemment, il faudrait un ouvrage très volumineux pour couvrir chaque aspect de la technologie web, et ce de manière suffisamment détaillée, mais ce guide devrait vous fournir, à vous, professionnel du référencement, des informations utiles pour combler certaines lacunes dans votre compréhension de divers aspects clés de la technologie web.
J'ai inclus de nombreux liens dans cet article qui vous permettront d'approfondir les sujets qui vous intéressent. Il existe bien d'autres notions que les spécialistes SEO doivent maîtriser, comme les fichiers robots.txt, les balises méta robots, les balises rel canonical, les sitemaps XML, les codes de réponse du serveur, et bien plus encore.
_____
by David Portney
Source: searchenginewatch.com






