Seleccionar página

Corrección de errores AMP Search Console – Validación AMP

por | Jul 10, 2017 | Wordpress

Índice de contenidos

Validar AMP Search Console

Después de la instalación de AMP en tu sitio, Google irá indexando las páginas dinámicas AMP. En esta fase es muy importante realizar la corrección de errores AMP Search Console. Debemos entrar cada pocos días a esta herramienta y realizar un seguimiento de los errores de nuestra página para solucionar los mismos.

Una página AMP sin validar no tiene sentido. Dicho esto vamos a ir corrigiendo los distintos errores arrojados por Search Console.

Si todavía no tienes AMP en tu web WordPress te invito a que leas el siguiente tutorial, encontrarás una guía paso a paso que te ayudará a conseguirlo:

Guía completa para configurar AMP en WordPress

Search Console avisos páginas con errores

Al día siguiente de instalar AMP en mi WordPress Google había indexado 7 páginas y no había encontrado ningún error.

A los tres días las páginas indexadas eran 18 y se detecta un error grave y otro no importante. Vamos a ir analizando a lo largo de un tiempo todos los errores que detecte Search Console para solucionarlos.

Comenzamos…

Corrección de errores AMP Search Console: atributo «item» prohibido en etiqueta <pre>

Entramos en la herramienta Search Console y vamos a: Apariencia en el buscador >> Acelerated Movil Page 

Veremos una pantalla con el número de páginas indexadas y las páginas que contienen errores.

Corrección errores AMP Search Console

En este caso observamos que Google a indexado 18 páginas AMP y ha encontrado problemas graves en una de ellas. El problema importante que ha encontrado es una etiqueta HTML prohibida o que no se usa correctamente.

Ahora que tenemos identificado el problema vamos a ver cual es la página que provoca este error grave.

errores-AMP-Search-Console-2

En el listado de incidencias en el lado derecho pulsamos sobre «>>» para acceder a la página que provoca el error.

errores-AMP-Search-Console-3

Hemos identificado la página que causa problemas. En esta ventana debemos pulsar de nuevo sobre el símbolo «>>«. Al pulsar accedemos a una ventana de información. En esta nueva ventana encontramos más información sobre el error. Si te fijas en la parte baja, en «detalles», nos explica que el error lo esta causando el atributo «item». Este atributo no puede aparecer dentro de una etiqueta «pre». Si pulsamos sobre el botón «Probar página» se ejecuta una herramienta de test AMP que nos dirá la línea concreta donde se encuentra el problema. Vamos a ello.

Probar-pagina-AMP-Search-Console

Solucionar el error

Esperamos a que la página pase el test y observamos la información completa del error. En este caso el error se produce al utilizar el Constructor Divi junto con el plugin Tiny. La solución es copiar todo el texto de la entrada y pegarlo en el editor por defecto de WordPress.

correccion AMP Search Console

Ya tenemos identificado el error en la línea 385 del post: /entradas-personalizadas-en-wordpress. 

Análisis del error: es producido por el plugin TinyMCE cuando inserto código fuente. Crea un dato estructurado de tipo Code y lo llama dentro de la etiqueta <pre>. Para soluciona esto o bien quitas la etiqueta <pre> y <code> que genera el plugin eliminando los datos estructurados o cambias la estructura de HTML del plugin.

Volver a Validar

Si ya tienes solucionado el error debes volver a pasar la página por el test AMP. De nuevo en  la herramienta de Search Console pulsamos: «Probar página»

error-AMP-Search-Console-solucionado

Una vez obtenida la validación puedes enviar la página a Google. Ahora toca esperar. 

SEGUIMIENTO ERROR: se detecta el día 7 de julio, se corrige el día 9 de julio, el día 10 de julio Search Console ya válida la página y desaparece el error.

Corrección de errores AMP Search Console: atributo «height» vacío

Tenemos que abrir el archivo wp-content/pluggin/accelerated-mobile-pages/includes/vendor/amp/includes/sanitizers/class-amp-img-sanitizer.php

busca la función private function adjust_and_replace_node( $node ), y reemplaza la función por el siguiente código:

private function adjust_and_replace_node( $node ) {
		$old_attributes = AMP_DOM_Utils::get_node_attributes_as_assoc_array( $node );
		$new_attributes = $this->filter_attributes( $old_attributes );
		$new_attributes = $this->enforce_sizes_attribute( $new_attributes );
		if ( $new_attributes['height'] === '' ) {
			$new_attributes['height'] = self::FALLBACK_HEIGHT;
		}
		if ( $new_attributes['width'] === '' ) {
			$new_attributes['width'] = self::FALLBACK_WIDTH;
		}
		if ( $this->is_gif_url( $new_attributes['src'] ) ) {
			$this->did_convert_elements = true;
			$new_tag = 'amp-anim';
		} else {
			$new_tag = 'amp-img';
		}
		$new_node = AMP_DOM_Utils::create_node( $this->dom, $new_tag, $new_attributes );
		$node->parentNode->replaceChild( $new_node, $node );
	}

Guarda los cambios en el archivo y vuelve a validar.

Volver a Validar

Si ya tienes solucionado el error debes volver a pasar la página por el test AMP. De nuevo en  la herramienta de Search Console pulsamos: «Probar página»

 

3 Comentarios

  1. Diego Fernández

    AMP es la mayor basura que ha inventado Google. Se pueden producir cientos de errores AMP en una web promedio, y al final somos los programadores los que nos comemos el pato de tener que arreglar estos errores de página UNO A UNO. Demencial. Este «invento» está jodiendo a todo el sector de las nuevas tecnologías. Ojalá retiren AMP o lo hagan menos restrictivo, porque dan ganas de abandonar LA INFORMÁTICA solo por esta mierda.

    Responder
  2. Francisco Rodríguez

    Hola.

    Antes de nada felicitarte por la entrada. Será de gran utilidad para todo aquel que se encuentre con este error.

    He caído en tu página web buscando información para un error diferente. Error que, creo, nadie más ha sufrido. Estoy bastante desesperado y quiero consultártelo por si a ti se te ocurre una solución.

    Verás, mis páginas AMP tienen un error grave que impide su indexación. Un solo error. El atributo Heigh de la altura recibe un valor vacío: heigh=»» que, lógicamente, impide la visualización de la imagen en la versión AMP. Para que te hagas una idea te pongo un simple ejemplo (te lo pongo sin enlazar, con espacios, por temas de spam):

    h t t p s://www. franrzmn. com/riesgos-quimicos-en-el-laboratorio/
    h t t p s://www. franrzmn. com/riesgos-quimicos-en-el-laboratorio/amp

    Creo que todo esto se debe a que en la página canónica establezco porcentajes en los valores, del estilo: width=»60%» heigh=»60%» y al extrapolarlo al formato amp-img da un valor a width pero no a heigh.

    Hay algunas imágenes que sobrepasan el ancho de mi blog, motivo por el que uso porcentajes. Y hay otras muchas con valores que redimensiono por estética. Tengo más de 100 entradas con este «problema» (para AMP) y sería muy tedioso modificar todas una a una buscando un valor redimensionado en píxeles para solucionar el problema AMP.

    ¿Se te ocurre alguna otra solución que sea la espartana de intentar dar valores a mano a las imágenes en la página canónica?

    Muchas gracias de antemano.

    Un saludo.

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *