Utiliser display:none est-il sans danger pour le SEO ?
Il peut y avoir sur une page du contenu invisible, mais Google peut ne pas apprécier que l'on dissimule du contenu pour améliorer son SEO.
Dans beaucoup de sites web, il existe des éléments cachés à l'internaute. Ces éléments ne sont affichés qu'avec un traitement particulier. Cela peut être le cas d'un formulaire par exemple. Pour effectuer ce genre de manipulation, on peut utiliser la propriété CSS "display".
En affectant à la propriété "display" la valeur "none", on rend cet élément non visible sur la page.
<!-- Division visible -->
<div><span>Je suis visible</span></div>
<-- Division non visible -->
<div style="display: none;"><span>Je suis visible</span></div>
On pourrait donc, en théorie, masquer par exemple un titre affiché dans une balise <h1> pour des questions de référencement. Mais ce n'est pas une bonne idée.
En effet, les robots des moteurs de recherche ont la capacité de télécharger le code source de la page pour l'afficher. Ils peuvent également lire les fichiers CSS. Ils sont donc capables de déterminer si le contenu est visible ou non pour l'utilisateur. Ils peuvent même pénaliser le site s'ils jugent que c'est une tentative de "Back Hat SEO", c'est-à-dire une stratégie abusive, et interdite par Google, pour améliorer le référencement du site.
La meilleure solution consiste à utiliser le moins possible de contenus invisibles. S'il doit y en avoir quand même, le contenu invisible doit être présent dans un but autre que celui du référencement (un formulaire ou une fenêtre d'aide affichée en pop-up, par exemple). De plus, préférez l'utilisation du JavaScript pour cacher ces éléments. Le robot de Google, le Googlebot, a la capacité d'exécuter du code JavaScript pour ensuite analyser les effets sur le code source, mais l'exécution du code JavaScript n'est pas systématique, et tous les moteurs de recherche n'ont pas forcément cette capacité.