¿Por qué algunos sitios web importantes utilizan HTML no válido?


Noté que muchos sitios web, incluso Google y algunos sitios bancarios, tienen HTML mal escrito sin comillas alrededor de los valores de los atributos, o el uso de caracteres como ampersands no se escapó correctamente en los enlaces. En otras palabras, muchos usan marcas que no validarían.

Tengo curiosidad sobre sus razones. HTML tiene reglas simples y es simplemente alucinante que no parecen seguir esas reglas. ¿O usan programas que solo escupen el código?

Author: Daniel Vassallo, 2010-01-08

6 answers

La mayoría de la gente ha recibido la respuesta básicamente correcta: que las reglas son diferentes cuando se sirve una página mil millones de veces al día. Los bytes comienzan a importar, y el nivel actual de compresión muestra claramente que Google se preocupa por ahorrar ancho de banda.

Algunos puntos:

Uno, la gente está implicando que las razones de Google para ahorrar ancho de banda son financieras. Probable. Incluso unos pocos terabytes al día guardados en la página de resultados de búsqueda de Google es una gota en el cubo en comparación con la suma de todas sus propiedades: Youtube, Blogger, Maps, Gmail, etc. Mucho más probable es que Google quiere que su página de resultados de búsqueda, en particular, para cargar lo más rápido posible en tantos dispositivos como sea posible. Sí, los bytes importan cuando la página se carga mil millones de veces al día, pero los bytes también importan cuando su usuario usa un teléfono satelital en el Sahara y lucha por obtener 1kbps.

Dos, hay una diferencia entre los estándares codificados de XHTML y similares, y el estándar de facto de lo que realmente funciona en todos los navegadores que se han hecho desde 1994. Aquí, la escala de Google importa porque, donde la mayoría de los desarrolladores web están felices de ignorar cualquier navegador problemático que representa menos del 0.1% de sus usuarios, para Google, ese 0.1% es quizás medio millón de personas. Importan. Así que su página de resultados de búsqueda debe trabajar en IE 5.5. Esta es la razón por la que todavía usan tablas para el diseño en muchas páginas de alto valor: sigue siendo el diseño que "solo funciona" en el mayor número de navegador.

Como ejercicio, mientras era pasante en Google, escribí una versión XHTML/CSS perfectamente compatible de la página de resultados de búsqueda de Google y la mostré. Con el tiempo surgió la pregunta - ¿por qué estamos sirviendo tales hodge-podge HTML? ¿No deberíamos estar liderando la comunidad web dev hacia estándares? La respuesta que obtuve fue más o menos el segundo punto anterior. Google sigue un estándar-no los estándares no-it-be-nice de utopía web, pero el esto-tiene-que-trabajar-absolutamente-en-todas partes estándar de la realidad.

 110
Author: Triptych,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 23:39:04

Google tiene una buena razón para escribir mal HTML – cada carácter que quitan de la página de búsqueda les ahorrará probablemente gigabytes de ancho de banda al día.

 10
Author: Tatu Ulmanen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 19:05:00

Como se ha discutido anteriormente, Google lo hace por razones de ancho de banda.

En cuanto a los bancos y otros sitios web empresariales, podría haber múltiples razones-

  1. CMS escupe HTML no válido
  2. Dreamweaver, basta de palabras.
  3. Tienden a usar componentes de interfaz de usuario comerciales que han sido diseñados para funcionar incluso en navegadores antiguos, por lo que se equivocan en el lado cuidadoso.
  4. No hay énfasis en buenas prácticas HTML y Javascript. Muchas de ellas tienden a ser tiendas Java o. NET sin buenos desarrolladores de UI.
  5. Controles de usuario de.NET mal diseñados y taglibs JSTL.
 6
Author: Chetan Sastry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:15:38

Para varios sitios web como Google, tener un código perfecto no es "eso" importante.

Sin embargo, el tamaño total de la página web es. Unos pocos bytes ahorrados en el código HTML pueden significar cientos de dólares en ancho de banda.

Así que si pueden estar seguros de que su página será renderizada correctamente, no dudarán en modificar su HTML.

 4
Author: almathie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 19:16:35

En términos generales, codificar un sitio web es fácil y, por lo tanto, la barrera de entrada es muy baja para programadores inexpertos o no. Esto hace que sea fácil producir páginas sub estándar y la web está llena de ellas. Combine eso con herramientas como Microsoft Frontpage que hace que sea aún más fácil hacer un sitio (e incluso más fácil generar código HTML malo) y tendrá una situación desagradable.

 2
Author: Noufal Ibrahim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 19:09:14
 2
Author: Max Galkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-09 11:17:36