Acerca de este problema HTML
El elemento <html> sirve como la raíz de un documento HTML. Según la especificación HTML, solo puede haber un elemento raíz, y debe contener exactamente un elemento <head> seguido de un elemento <body>. Cuando el analizador del navegador encuentra una segunda etiqueta de inicio <html>, no sabe qué hacer con ella — la etiqueta se considera “aislada” porque aparece en un contexto donde no se espera o no está permitida.
Este error típicamente ocurre en algunos escenarios comunes:
-
Errores de copiar y pegar — Al copiar HTML de otro archivo, puedes pegar accidentalmente un documento completo (incluyendo su etiqueta
<html>) dentro de un documento existente. -
Errores de plantillas o includes — Los includes del lado del servidor, motores de plantillas, o frameworks basados en componentes pueden inyectar una estructura completa de documento HTML (con su propia etiqueta
<html>) en una página que ya tiene una. - Combinar archivos incorrectamente — Combinar múltiples archivos HTML sin eliminar las etiquetas estructurales de los archivos internos.
-
Duplicación accidental — Simplemente tener una etiqueta
<html>duplicada debido a un error tipográfico o descuido al editar.
Una etiqueta <html> aislada señala una estructura de documento mal formada. Los navegadores intentarán recuperarse ignorando la etiqueta duplicada, pero la intención detrás del marcado se vuelve ambigua. Esto puede llevar a renderizado impredecible, estilos rotos, o scripts que fallan al dirigirse a elementos correctamente. También perjudica la accesibilidad, ya que los lectores de pantalla y otras tecnologías asistivas dependen de un árbol de documento bien formado para interpretar el contenido.
Para solucionar este problema, busca en tu código HTML todas las instancias de <html y asegúrate de que solo exista una — al principio del documento, justo después de la declaración <!DOCTYPE html>. Si encuentras una segunda, elimínala junto con cualquier </html>, <head>, </head>, <body>, y </body> duplicados correspondientes que vinieron con ella, manteniendo solo el contenido real que necesitas.
Ejemplos
Incorrecto: Etiqueta <html> duplicada por contenido pegado
Este ejemplo muestra un documento HTML completo accidentalmente incrustado dentro de otro, lo que produce el error de etiqueta de inicio aislada:
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Page</title>
</head>
<body>
<h1>Welcome</h1>
<!-- Accidentally pasted another full document -->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Other Page</title>
</head>
<body>
<p>This content was pasted from another file.</p>
</body>
</html>
</body>
</html>
Correcto: Elemento <html> único con contenido combinado
Elimina la estructura de documento duplicada y mantén solo el contenido que necesitas:
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Page</title>
</head>
<body>
<h1>Welcome</h1>
<!-- Only the relevant content from the other file -->
<p>This content was pasted from another file.</p>
</body>
</html>
Incorrecto: Etiqueta <html> duplicada accidental
A veces la duplicación es un simple error tipográfico:
<!DOCTYPE html>
<html lang="en">
<html lang="en">
<head>
<title>My Page</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
Correcto: Etiqueta <html> única
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Page</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
Revisando proyectos basados en plantillas
Si usas un sistema de plantillas (por ejemplo, includes de PHP, Jinja2, Handlebars, o similares), asegúrate de que tus parciales e includes contengan solo fragmentos de contenido — no estructuras completas de documento. Por ejemplo, un parcial incluido debería verse así:
<!-- partial: sidebar.html — no <html>, <head>, or <body> tags -->
<aside>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
</ul>
</nav>
</aside>
La regla clave es simple: cada documento HTML debe tener exactamente un elemento <html>. Si el validador reporta una etiqueta de inicio aislada, rastrea su origen — ya sea un error de copiar y pegar, un include de plantilla, o una simple duplicación — y elimínala.
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.