¿Qué sucede si las metatags están presentes en el cuerpo del documento?

Estoy trabajando en una aplicación ASP y el código, la plantilla y los archivos están organizados de una manera que no me permite alterar nada fuera de la etiqueta corporal. Así que estoy pensando en insertar las metatags dentro del cuerpo, como esta:

    Default Title     
<meta name="description" content="">

Me pregunto qué tan bueno es poner metatags dentro del cuerpo de un documento HTML. ¿Cómo afecta esto?

  1. los motores de búsqueda
  2. navegadores

Por supuesto, esto no es válido según HTML4.01. Las tags META solo están permitidas dentro de HEAD (como, por ejemplo, TITLE), por lo que si lo ubicas en un BODY, básicamente estás creando un marcado inválido.

A partir de las pruebas superficiales, parece que algunos navegadores (por ejemplo, Firefox 3.5 y Safari 4) colocan estos elementos en HEAD al crear un árbol de documentos. Esto no es muy sorprendente: se sabe que los navegadores toleran e intentan interpretar todo tipo de marcado roto.

Tener un marcado inválido rara vez es una buena idea . El manejo no estándar por parte de los navegadores puede dar lugar a varias incoherencias de interpretación difíciles (y de comportamiento). En lugar de confiar en las conjeturas del navegador, es mejor seguir un estándar.

No sé cómo los motores de búsqueda reactjsn a esa sopa de tags, pero no me arriesgaría a experimentar para descubrir 🙂 Tal vez solo analicen la etiqueta HEAD para cierta información y se salten todas las tags contenidas en BODY. O tal vez consideren que se trata de algunos bashs de apuestas maliciosas y páginas de listas negras que contienen ese marcado. Quién sabe.

El resultado final: evite esto siempre que sea posible.

La conclusión es evitar esto siempre que sea posible cuando DOCTYPE lo prohíbe . Creo que esto está definitivamente permitido en HTML5 y es muy útil en casos que usan microdatos. Ejemplo: http://schema.org/Event

Yo no lo haría Ahí no van esas tags, y los motores de búsqueda podrían verlo como spam. Si puede reorganizar la página maestra, siempre puede agregar un contentplaceholder en la sección principal. Lo he hecho trivialmente con:

  

De esta forma, puede agregar el contenido que desee en la sección principal de su página:

    

Si su objective es la optimización del motor de búsqueda, entonces probablemente sea una buena idea seguir los estándares y poner todas sus metatags en el . Sin embargo, en lo que respecta al comportamiento del navegador, si coloca tags en su , seguirán funcionando. Decidí probar esto usando múltiples tags y tags en un documento que por lo demás es compatible con los estándares.

Los resultados de mis pruebas:

Firefox 18, Firefox 3.6, Firefox Mobile, Chrome 24, Chrome para dispositivos móviles, Opera 12, IE6, IE8, IE10:

  • Todas las tags en el cuerpo fueron procesadas.
  • La primera etiqueta del documento se procesó, incluso si estaba en el cuerpo. Las siguientes tags fueron ignoradas.
  • La directiva de meta actualización más temprana entró en vigor, lo que implica que ambos fueron procesados.

IE9:

  • Lo mismo que arriba, excepto que todas las tags en el cuerpo fueron ignoradas.
  • IE10 en el modo de estándares IE9 también se comporta de esta manera.
  • IE9 en IE8 El modo estándar se comportó igual que IE8, permitiendo 1 etiqueta en el cuerpo.

Entonces, ¿qué sucede cuando usas tags meta en el cuerpo? En general, parecen funcionar bien. Las metatags probablemente se procesarán, así que si no puedes ponerlas en la cabeza, no me preocuparé demasiado.

Algunas tags meta que están destinadas a los motores de búsqueda no serán respetadas por los motores de búsqueda en la sección del cuerpo de la página.

Por ejemplo, Google dice que no honrará a un rel = canónico en el cuerpo de la página, sino solo en el encabezado de la página. Aquí está lo que Matt Cutts de Google dice :

No permitimos rel = canonical en el CUERPO (porque como mencioné, la gente lo enviaría)

Yo te diría que lo uses. Encontré metatags dentro del cuerpo en varias páginas web, y están en una de las 10 principales búsquedas (en google). Muestra, al menos para mí, que a los motores de búsqueda no les importa si has usado este enfoque.

Debes seguir adelante si no hay otra alternativa.

He puesto metatags en el cuerpo, pero eso se debe a la tecnología Microdata. Cuando no tengo un elemento regular con la información, que necesito describir el objeto de acuerdo con el vocabulario de schema.org, configuro una metaetiqueta con este contenido. Prefiero hacerlo de esa manera en su lugar, para establecer un elemento con pantalla: ninguno. El camino con display: ninguno puede causar más problemas de google en lugar de esto, hasta donde yo sé. Estoy de acuerdo en que no es la mejor práctica, pero cuando valido mi documento (HTML5) paso la validación con cero errores. También he hecho este truco para varios proyectos y ninguno de ellos tiene problemas con Google u otro motor de búsqueda. Incluso los microdatos mejoran la clasificación de los motores de búsqueda. No sé exactamente qué quieres hacer con estas tags meta en el cuerpo, porque no he visto ningún microdato en tu código. Si lo necesita para este enfoque, creo que está bien, pero en otros casos, los meta elementos deben estar en la sección principal.

Tener la etiqueta META Description en los sitios web es un marcado no válido, sin embargo, no es un gran problema ya que los motores de búsqueda pueden encontrar la etiqueta donde sea. Mi sitio web hace esto, eche un vistazo a mi HTML

http://cameras.specced.co.uk/compare/268/Canon_EOS_200D

El META está en el sitio web BODY, sin embargo, ha sido indexado por google y la metadescripción de la página se ha establecido como el texto del clic en los resultados de búsqueda de Google.