-
Hace dos años comencé a entrar en contacto con el SEO. La locura por aprender en ese momento me hizo visitar varios foros y blogs nacionales y utilizar todos los métodos que no sabía si eran útiles o inútiles en mi práctica. Pero con el paso del tiempo, apareció el aprendizaje profundo. Empecé a sospechar de varios métodos que circulaban en Internet. Cuando los métodos conocidos de enviar enlaces, escribir artículos blandos, acumular palabras clave, etc. se agotaron, todavía no podía vencerlos. Al mismo tiempo, estaba exhausto y tuve que reflexionar sobre los métodos operativos más profundos y efectivos del SEO. Después de innumerables giros y vueltas, regresé a mi antiguo campo de "programación y desarrollo front-end". ". Parecía que de la noche a la mañana, de repente quedó claro lo que estoy haciendo ahora. ¿No es el mejor SEO?
Para ser honesto, mi estudio está relativamente cerrado. No he alcanzado el estado de "el mejor SEO no es SEO", ni tengo una muy buena experiencia práctica en SEO. Lo que a menudo pienso es cómo mejorar mi trabajo actual. Integrado en SEO, si tuviera que dar una definición de SEO ahora, sería: red + hardware + programa + estructura del sitio + estándares web + contenido + personas. Mucha gente está discutiendo el concepto de "el contenido es el rey". ", pero se ignoran muchos otros factores. Si estos factores se explican en detalle. Se estima que se puede publicar un libro muy extenso. Este artículo solo quiere compartir con usted el impacto de los estándares WEB en el SEO.
El texto comienza:
Para comprender la relación entre los estándares web y SEO, primero debe comprender qué son los "estándares web". Supongo que ha consultado muchos documentos explicativos en Internet, pero todavía se siente un poco confundido y no quiero. Para aprender de Internet, le copiaré un párrafo, pero al final todavía no puedo entenderlo. Para comprender los estándares web, debe comenzar por crear una página web básica:
Por ejemplo: si quiero escribir la página web más simple, debo usar etiquetas html. Por ejemplo: si quiero enfatizar el texto, tengo que usar la etiqueta <strong>. Si quiero cambiar el color del texto, Tengo que agregar una etiqueta <font color="color" >, quiero comenzar un nuevo párrafo, así que tengo que usar la etiqueta < >. No puedo usar la etiqueta <jacu> sin sentido para enfatizar el texto, porque existe. No existe tal etiqueta en absoluto y el navegador no puede analizarla, por lo que la Asociación W3C (World Wide Web) se puso de pie y dijo a los profesionales de Internet de todo el mundo: "Todos tienen algunas opiniones, unifiquemos estas etiquetas, cuáles se pueden usar y cuáles no; y luego todos darán estas etiquetas una explicación unificada y razonable, para que todos puedan entender para qué se usan estas etiquetas ". Después de innumerables discusiones. Como resultado, finalmente se introdujo el estándar HTML 1.0. Después de modificaciones y actualizaciones posteriores, gradualmente estuvieron disponibles más estándares web, como HTML 2.0. .html 4.01, el xmhtml1.0/1.1 más utilizado en las páginas web de todos y el estándar xmhtml 2.0 que aún no se ha lanzado oficialmente. Las actualizaciones estándar son compatibles con versiones posteriores. Cuando creamos páginas web, generalmente se encuentran en la parte superior. de la página web Tal frase:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
En realidad, esto define su modelo de documento, que se explica utilizando el estándar xhtml 1.0.
Pero más tarde, el diseño de la página web se volvió cada vez más complejo. Era imposible crear una página hermosa y hermosa simplemente confiando en estas etiquetas HTML. Tenía que contar con la ayuda de otras herramientas. imagen por 20px, o quería espaciar el texto 5px, es realmente difícil de lograr simplemente confiando en HTML. En ese momento, el W3C ya no podía quedarse quieto, por lo que se puso de pie y llamó: "Definamos algo más para lograr esta función". Después de innumerables discusiones, se lanzó el estándar CSS 1.0. Con esto, puede lograr fácilmente desplazamiento de contenido, espaciado y otros efectos. Después del desarrollo, llegamos a CSS 2.0 y CSS 3.0. Todos deben seguir este estándar al definir estilos con CSS.
Más tarde, la gente descubrió que depender únicamente de HTML y CSS todavía no era perfecto. Carece de interacción entre persona y computadora y no puede lograr efectos dinámicos. Sería incluso mejor si pudiéramos hacer que las cosas en la página web se movieran, por lo que w3c introdujo el estándar emascript, que estipula la interfaz del modelo de objetos del documento. Gramática, etc. Por ejemplo, el javascript de uso común se ajusta al estándar emascript.
Bien, ahora todo parece estar perfecto. Con los estándares html, css y emascript, finalmente podemos crear hermosas páginas web. Reunimos estos estándares para formar estándares web. Entonces, ¿qué tipo de páginas web están en línea con los estándares web?
Por ejemplo, un fragmento de html se escribe así
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html>
<cabeza>
<título>demostración</título>
</cabeza>
<cuerpo>
<p><font color="#ff0000">Contenido de texto</font><p>
<img src="x.jpg" />
<dl>
<dt><h1>Título</h1></dt>
<dd>Contenido</dd>
<dd>Contenido</dd>
<dl>
<b>Contenido</b>
</cuerpo>
Entonces, ¿este código cumple con los estándares web? Analicemos estos códigos nuevamente. En la primera línea, usted define que su tipo de documento es xhtml 1.0, lo que significa que todas sus etiquetas html deben estar escritas de acuerdo con este estándar. del cuerpo En una etiqueta <p>, la etiqueta de fuente ha quedado obsoleta en este estándar, y el atributo de color también ha quedado obsoleto en esta etiqueta, por lo que este párrafo no cumple con el estándar web. Veamos el <img>. etiqueta nuevamente. Su El atributo align define la alineación de la imagen, pero falta el atributo alt. En el estándar xhtml 1.0, img debe definir el atributo alt. Entonces este código no cumple con el estándar 1.0. , dt define el título. La etiqueta <h1> está anidada, según lo definido por xhtml 1.0. El anidamiento de etiquetas <h1> no está permitido en etiquetas <dt>, por lo que tampoco cumple con el estándar 1.0. Mire la última etiqueta <b>, gracias a Dios. Esta etiqueta finalmente cumple con los estándares web. Pero el w3c lo ha dicho. Mantendremos el significado de esta etiqueta por ahora. Sin embargo, se recomienda utilizar la etiqueta <strong>, que es más semántica. En el nuevo estándar posterior, podremos cancelar la etiqueta <b> como etiqueta estándar. En cuanto a las restricciones del estándar HTML, consulte los documentos correspondientes.
Hablando de eso. Creo que todos entienden. Esta página ni siquiera cumple con el estándar xmhtml 1.0, por lo que definitivamente no cumple con el estándar web. En cuanto a si cumple con el estándar web, todo depende de la versión que haya definido. Pero este código se puede analizar normalmente. el navegador, porque hemos mencionado anteriormente. Como dije, todos los estándares son compatibles con versiones posteriores, pero simplemente no se ajustan a los estándares que usted define ahora. Entonces, ¿cómo hago para que este código se ajuste a mis estándares web? Sólo hay dos maneras. 1. Reduzca el estándar de su modelo de documento (esto puede causar más problemas) 2. Vuelva a modificar su código, como poner el color en el atributo de estilo, img más el atributo alt. En comparación, estamos más dispuestos a elegir el segundo. tipo.
Hay una explicación en Internet: el estándar web = div + css no se puede utilizar después de leer el artículo anterior. Este concepto es puramente confuso y demasiado generalizador. No se puede decir que las páginas web con diseño de tabla no cumplan con los estándares web. El W3C nunca ha definido que el uso del diseño de tabla no cumpla con los estándares. La etiqueta <table> siempre ha sido la etiqueta estándar en todas las versiones. Aunque todos usamos divs para el diseño, debemos entender: las prácticas recomendadas por otros no están a la altura de los estándares.
Como se mencionó anteriormente, los estándares web dependen de la versión que definimos al escribir html/css/js. Por ejemplo, si mi html usa el estándar xhtml 1.0, entonces mi html también debe cumplir con el estándar xhtml 1.0. Pero este no parece ser el caso. Casi el 99,999% de las páginas web en Internet no pueden pasar la verificación. Siempre hay errores de un tipo u otro. Todas las páginas del sitio web oficial del w3c: http://www.w3. .org puede pasar la verificación. Sí, los amigos interesados pueden probarlo. En este punto, nuestro artículo parece haber llegado a un punto muerto. Dado que muchas páginas web no cumplen con los estándares web, también pueden lograr buenas clasificaciones y tráfico. Estándares web ¿Cuál es la conexión con SEO? Tenemos que comenzar con la estructura y el análisis de HTML.
El diseño web enfatiza la separación de estructura (html) y presentación (css). Podemos entender sus conceptos de esta manera. La estructura es una casa. Es una estantería de hormigón armado y ladrillos, y la actuación es la decoración y modificación de la estructura. Es como decoración, instalando pisos y enlucidos y pintando las paredes de la casa. Sin estructura, el rendimiento no tiene valor de rendimiento real, por lo que <font color="#ccc" size="12">text</font> o tales etiquetas o propiedades, porque para la estructura, es más como un rendimiento. debería permanecer en la capa de presentación, es decir, CSS. Si aplicamos la etiqueta de fuente en la página estricta xhtml 1.0, de hecho también se puede analizar correctamente, porque como dijimos en el primer artículo, los estándares son compatibles con versiones posteriores. .
Entendamos cómo los navegadores y los motores de búsqueda analizan nuestro HTML. ¿Por qué hablamos de navegadores aquí? Porque, en mi opinión, los motores de búsqueda y los navegadores utilizan aproximadamente el mismo método al analizar HTML. que eventualmente analizará toda la página en un árbol DOM con nodos de relación estricta entre padres e hijos. Y luego presentárselo al usuario, por ejemplo cuando escribo el siguiente código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<cabeza>
<título>título</título>
</cabeza>
<cuerpo>
<div id="arriba">
<h1>Este es el título<h1>
<img src="xx.jpg"/>
<p>Este es un <strong>texto</strong><p>
</div>
<div id="contenedor">
<h2>Este es otro título</h2>
<p>Este es otro <strong>texto</strong></p>
</div>
</cuerpo>
</html>
Puede ver que este es un fragmento de html según el estándar de transición xhtml 1.0. Hay muchos errores (los errores incluyen: la etiqueta <h1> en el primer div no tiene etiqueta de cierre. img no tiene atributo alt. La etiqueta <p>. tampoco tiene etiqueta de cierre). Pero si coloca este código en el navegador y lo ejecuta, puede ver el efecto correcto. La etiqueta P también funciona y la imagen se puede mostrar. Estamos muy sorprendidos de que este código ni siquiera tenga la etiqueta correcta, pero si asumimos que este código no es incorrecto. es correcto. La estructura dom debe ser como se muestra a continuación (Figura 1).
Cargar y descargar archivo adjunto (16,49 KB) a las 16:58 de anteayer
¿Por qué el navegador puede analizar correctamente el código incorrecto? Y parece poder "adivinar" la verdadera intención del código de error. El principio es que el navegador utiliza el modo de análisis de diccionario y el modo de intercalación (html tidy) al crear el árbol de etiquetas. En pocas palabras, el navegador comparará todas las etiquetas y atributos con la información del diccionario integrado. Si la coincidencia es normal, se analizará directamente. Si la coincidencia no es normal, se analizará directamente. Simplemente habilite el modo de finalización. El modo de finalización analizará su código erróneo y lo corregirá. Por ejemplo, las etiquetas <h1> y <p> al final de lo anterior se cambiarán automáticamente a la etiqueta de cierre, o si escribe una. <jiacu> texto</ jiacu> par de etiquetas. Esto no se puede igualar en absoluto y no se puede reparar. Borrará directamente el par de etiquetas no válido, dejando solo el texto dentro. Por supuesto, cuando la navegación analiza HTML en un árbol DOM, no cambiará su código fuente HTML. Es solo una acción de análisis. Por lo tanto, muchas veces si no verificamos los errores de HTML en nuestras páginas, no encontraremos estos errores. . Porque el navegador nos lo ha solucionado automáticamente. En términos generales, los navegadores garantizan una total compatibilidad con los errores en HTML. Corrígelo si te puede ayudar. Si las etiquetas o atributos redundantes se pueden borrar, se borrarán. Si no se pueden borrar y corregir, las etiquetas se eliminarán automáticamente para garantizar una visualización normal.
Sin embargo, el "modo de organización" no es omnipotente. No podemos esperar que el navegador nos ayude a corregir todos los errores, por lo que muchas veces nuestras páginas están anidadas cada vez más profundamente, con más y más etiquetas y más y más contenido. El navegador no puede corregir las etiquetas, lo único que puede hacer es "eliminar todas las etiquetas dentro de un bloque de error y conservar solo el contenido".
Desde la perspectiva de un motor de búsqueda, antes de analizar el contenido, su premisa es la misma que la de un navegador, que requiere construir un árbol DOM completo. Solo cuando este árbol esté completo, el motor de búsqueda podrá determinar la relación de contexto en la página y también. Qué etiquetas ponderadas (como <strong>, <h1>) se utilizan en la página, así como sus posiciones de distribución, etc. Sin embargo, los motores de búsqueda ponen más énfasis en el concepto de "bloque de contenido" al analizar, es decir, una etiqueta por bloque. Sigue siendo el ejemplo html anterior. Cuando el motor de búsqueda estaba construyendo este árbol DOM, cuando analizó la etiqueta <h1> en el primer div, encontró que había un error. Cuando analizó la etiqueta P, encontró otro error. construya correctamente este árbol DOM A, habilitará el modo de finalización, pero es posible que el modo en este momento no lo ayude a corregir errores, sino en "bloques". Busque el bloque superior (nodo) del bloque de error (nodo) (si todavía hay un error en el nivel superior, continúe buscando el nivel superior; si no hay ningún error en el bloque del nivel superior, entonces todos los sub). -Se buscarán los bloques y subbloques en este bloque de nivel superior. Se eliminan todas las etiquetas erróneas en el subbloque, es decir, se eliminan todas las etiquetas erróneas dentro de <div id="top">. El árbol construido es como se muestra en la Figura 2 anterior (revisión 2011.4.5: hay un pequeño error en la Figura 2. Hay una etiqueta img debajo de la etiqueta div a la izquierda).
De esta manera, vemos que las etiquetas <h1> y <strong> que escribimos cuidadosamente han desaparecido después del análisis y el "peso" de todo el bloque ha cambiado. De acuerdo con el principio del análisis HTML, podemos dibujar algunas fácilmente. conclusión:
1. A medida que el nivel de nodo de la página aumenta, debemos tener especial cuidado con los errores a nivel de etiqueta. Cuanto más cerca del nodo superior, más cuidadosos debemos ser, por ejemplo, debemos escribir menos etiquetas finales. fatal para el SEO.
2. No importa qué diseño utilice, cuantos menos niveles de anidamiento de nodos, mejor. En primer lugar, puede reducir la carga de los motores de búsqueda al analizar los nodos. En segundo lugar, es más fácil para los motores de búsqueda determinar la relación (contexto) entre los nodos. , La ponderación de las palabras clave es importante.
3. Cuando los atributos de la etiqueta puedan ser reemplazados por css, muévalos a css tanto como sea posible.
4. Tanto los navegadores como los motores de búsqueda permiten errores de HTML, pero el HTML estándar obviamente es más fácil de obtener mejores clasificaciones en las mismas condiciones externas.
Me tomó casi cuatro horas escribir este artículo. Algunas partes no son muy completas y las compartiré en el tercer artículo.
Fuente del artículo: Foro Lightyear (indique el enlace de origen y el autor al reimprimir)
Autor del artículo: newyhj