html5 - org - schema seo
¿Cuál es el uso correcto de schema.org SiteNavigationElement? (5)
La primera respuesta es correcta, pero mezclaría ambas para la semántica (HTML5):
<nav itemscope itemtype="http://schema.org/SiteNavigationElement">
<ul>
<li>
<a itemprop="url" href="http://example.com/">
<span itemprop="name">Link 1</span>
</a>
</li>
</ul>
</nav>
En términos de SEO ...
¿Es mejor poner el esquema en el padre que contiene todos los enlaces?
<nav itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</nav>
... o debería considerarse cada enlace como su propio elemento?
<nav>
<span itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement">
<a itemprop="url" href="#">
<span itemprop="name">Link 1</span>
</a>
</span>
<span itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement">
<a itemprop="url" href="#">
<span itemprop="name">Link 2</span>
</a>
</span>
<span itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement">
<a itemprop="url" href="#">
<span itemprop="name">Link 3</span>
</a>
</span>
</nav>
Si SiteNavigationElement
es para toda la navegación (es decir, una lista de enlaces de navegación), su primer ejemplo es correcto.
Si SiteNavigationElement
está destinado a una única entrada de navegación (es decir, un enlace en la lista de enlaces de navegación), su segundo ejemplo es correcto.
Creo que Schema.org no define inequívocamente a qué variante se refiere, ya que solo dicen:
Un elemento de navegación de la página.
Sin embargo, el tipo principal WebPageElement
se define como:
Un elemento de página web, como una mesa o una imagen
Además, todos los otros tipos de elementos secundarios (como Table
o WPFooter
) parecen usarse para todo el conjunto, y no para partes específicas de la cosa.
Así que esto parece sugerir que toda la navegación debería estar marcada, y no cada enlace individual:
<nav itemscope itemtype="http://schema.org/SiteNavigationElement">
<ul>
<li><a href="/link-1">Link 1</a></li> <!-- don’t use the ''url'' or ''name'' property here! -->
<li><a href="/link-2">Link 2</a></li>
</ul>
</nav>
En este caso, todas las propiedades pertenecen a toda la navegación, por lo que la propiedad url
especificará una URL para esta navegación (¡y no las URL de los enlaces en esta navegación!).
<nav role="navigation">
<ul role="menubar" aria-activedescendant="">
<li role="presentation" itemscope itemtype="https://schema.org/SiteNavigationElement">
<a href="" role="menuitem" tabindex="-1" itemprop="url">
<span itemprop="name">Link 1</span>
</a>
</li>
</ul>
</nav>
Según Search Engine Land , se supone que debe verse así:
<ul itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<li itemprop="name">
<a itemprop="url" href="#">Link 1</a>
</li>
<li itemprop="name">
<a itemprop="url" href="#">Link 2</a>
</li>
<li itemprop="name">
<a itemprop="url" href="#">Travel Resources</a>
</li>
</ul>
schema.org/SiteNavigationElement amplía WebPageElement y se puede utilizar para marcar enlaces, que a menudo serían buenos enlaces contextuales. Puede usar este esquema para su menú de página.
<nav role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
<ul>
<li>
<a href="https://yoursite.com/" title="Link to Home" itemprop="url">
<span itemprop="name">Home</span>
</a>
</li>
<li>
<a href="https://yoursite.com/sample-page" title="Link to sample page" itemprop="url">
<span itemprop="name">sample page</span>
</a>
</li>
</ul>