OnCrawl: Data Scraping de WordPress & Yoast

Scraping con OnCrawl

Como bien sabéis todos los que usáis OnCrawl, una de las tareas más importantes a las que nos tenemos que enfrentar antes del empezar el análisis de cualquier proyecto web es precisamente segmentar bien la información, en el caso de un análisis SEO, segmentar bien las URLs.

Podemos hacerlo de 2 formas. La primera; con regex en base a “cosas que contengan o no contengan las URLs. De esta manera podremos tantos grupos como queramos incluso de forma retroactiva, es decir, podremos configurar grupos incluso después de rastrear el sitio y sin necesidad de volver a rastrearlo.

La segunda fórmula requiere pensar qué es lo que queremos segmentar antes de lanzar el crawler. Se trata del Scraping de Custom Fields, o dicho de otra forma, se trata de segmentar o agrupar URLs en base a “cosa o trozos de código que aparezcan en su HTML”. La fórmula más sencilla es un regex que simplemente verifica si existe o no existe un determinado trozo de código. Pero lo verdaderamente interesante viene con xpath, donde puedes colocar variables y categorizar URLs de forma dinámica.

Categorización de URLs en WordPress con XPATH & Yoast

Veámoslo ñlo anterior con un ejemplo de un WordPress con Yoast.

Scraping en WordPress con Oncrawl
Scraping en WordPress con oncrawl

 

Lo que vemos en el ejemplo anterior es un xpath que recoge lo que tiene la variable article:tag de un post en wordpress. De esta manera una vez dentro de la herramienta y habiendo rastreado previamente el sitio entero previa configuración de xpaths, podremos hacer grupos de URLs en base a los valores recogidos en esa variable. A continuación os dejo los xpaths necesarios para categorizar contenido de un wordpress para que solo tengáis que copiar, pegar y rastrear. Ojo que algunos de ellos puede que sean de Yoast y no de un WP limpio.

  • tag: string(//meta[@property=”article:tag”]/@content)
  • categoria: string(//meta[@property=”article:section”]/@content)
  • published_time: string(//meta[@property=”article:published_time”]/@content)
  • modified_time: string(//meta[@property=”article:modified_time”]/@content)
  • autor: string(//meta[@property=”article:author”]/@content)
  • tipo de contenido: string(//meta[@property=”og:type”]/@content)

Otros XPATHs interesantes para OnCrawl

Recientemente subieron a producción el análisis de hreflang alternate, les falta también uno de AMP y otro de la correcta implementación de las metas canonical y alternate en arquitecturas con 2 URLs separadas para desktop vs mobile. Mientras tanto podemos pintar informes a mano que busquen las etiquetas. Antes del Xpath os pongo un ejemplo que hice yo con regex y no funciona:

regex Oncrawl
regex Oncrawl

 

La explicación sobre por qué no funciona por parte de sus técnicos de soporte (una maravilla que respondan ingenieros):

Our parser reorder the attributes alphabetically.
So <link rel=”alternate” media=”only screen and (max-width: 640px)” href=”https://m.domain.com/”/>
becomes something like :
<link href=”https://m.domain.com/” . media=”only screen and (max-width: 640px)” rel=”alternate” />

 

Y me proponen usar este XPATH: string(/html/head/link[@media]/@href)

xpath Oncrawlalternate mobile & AMP
xpath Oncrawl para Mobile vs Destop

 

Si queréis conocer en profunfidad toda la potencia del Data Scraping con OnCrawl en su ayuda tenéis mucha maś documentación. Finalmente, os dejo un recurso de Tobias Willman con un montón de xpaths y expresiones regulares para SEO, ¡a favoritos de cabeza! 🙂

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.