Si vous utilisez HTML5 , il vous suffit d'en choisir un. ils sont équivalents.
HTML5 autorise les liens au niveau des blocs , mais dans votre cas, il n'y a aucune raison particulière de le faire, car il n'y a qu'un seul élément au niveau des blocs. Personnellement, je ne le ferais pas ici, car la <h1>
balise à l'extérieur faciliterait l'analyse du code source.
Tout le reste (XHTML, HTML4, etc.) et le second est tout simplement faux. Ce ne serait pas un code valide, et à un certain niveau, ce serait mauvais pour l'optimisation de votre recherche [Insérer une clause de non-responsabilité standard concernant l'impact réel d'une infraction unique, etc.].
Ils sont les mêmes en ce qui concerne le référencement. (Généralement, les éléments de niveau bloc contiennent des éléments en ligne et non l'inverse, vous devez donc utiliser le premier exemple, mais cela n'affectera pas le référencement).
la source
<a><h1></h1></a>
. Sinon, utilisez le modèle traditionnel de<h1><a></a></h1>
. Google accordera une attention égale aux deux méthodes, mais certains navigateurs risquent de ne pas bien fonctionner avec le modèle non standard à moins que vous n'ayez le doctype correct (HTML5).Ils sont tous les deux corrects en html5 , html permet de bloquer des éléments dans des éléments en ligne. Cela n'a pas non plus d'effet sur le référencement, dans les deux cas, le texte est placé dans l'en-tête, il doit donc avoir la même valeur.
Ce n'est pas un choix de validité, mais une préférence dans l'interface utilisateur:
Je t'ai fait un exemple sur jsFiddle.net
la source
Je trouve que dans le cas 2, l'
href
insertion est souvent en décalage par rapport au reste de ma page. Mais c’est peut-être ainsi que j’ai fixé mes marges dans mes.css
. Je suis donc favorable au cas 1.la source
Ce que l’on dit ici, c’est perspicace, merci à tous. Reprenons un peu plus loin: l’ajout de microdonnées et autres dans l’équation.
Disons que nous avons
en concurrence avec
Pour moi, «quelle que soit la performance», l'exemple 2 a plus de sens. Parce que le lien ne fait jamais partie du nom. La différence se résume à la différence entre innerHTML et textContent, DOMwise. En le regardant à travers innerHTML, l'ancre se met en travers du chemin. Si textContent était le moyen, les balises seraient supprimées. Cela pose donc également la question: innerHTML ou textContent.
Je dirais donc, en tenant compte des microdonnées, que l’ancre à l’extérieur est plus pure.
basé sur: http://thenewcode.com/617/How-To-Add-Microdata-To-Your-Blog
la source
<h1> <a href=""> xyz </a> </h1>
Cet exemple est correct.la source
Les liens au niveau des blocs doivent être évités à des fins de référencement - de la bouche du cheval: https://www.seroundtable.com/block-level-links-google-seo-16369.html
Mise à jour: À emporter du lien ...
Avoir l'une ou l'autre construction de liaison, comme d'autres l'ont dit, convient très bien pour la liaison. Toutefois, à des fins de référencement, vous devez garder le texte de l'ancre propre afin que Google puisse mieux interpréter l'ancre et attribuer la pertinence appropriée.
John Mueller (analyste des tendances pour les webmasters chez Google) ajoute ...
TL; DR Pour le référencement, n'utilisez pas de lien de niveau bloc.
la source
Si le but est d’avoir des éléments cliquables supplémentaires dans le lien (comme une image, etc.) et de toujours valider avec html <5, vous pouvez l’utiliser dans les deux sens avec javascript:
sinon, simplement:
ajoutez
cursor:pointer
au fichier css de l'élément parent pour compléter le tour.la source