Xpath y la función de Importxml para Google Sheets siempre me han parecido geniales. Puede ser una manera perfecta para hacer tareas rápidas de SEO y tenerlo directamente en un documento online.

No necesitas exportar de herramientas y es súper ágil. Además, también hay posibilidades geniales dentro del propio Google Sheets y el apartado de complementos para esta herramienta.

Las posibilidades a día de hoy son infinitas, tan solo necesitas saber qué necesitas, ir consultando con el propio Chat GPT o con otras herramientas de IA para llegar al objetivo que persigues.

En este post, quería compartir algunas funcionalidades que me parecen bastante útiles, pero, como he mencionado anteriormente, ¡las posibilidades son infinitas!

¿Quieres ver algunas propuestas que he preparado? Pues vamos a por ello:

¿Por qué combinar Xpath e ImportXML?

Quizás muchos SEOs ya no utilicen Xpath, o puede que sí, pero Xpath ofrece la posibilidad de, junto con ImportXML, agilizar tu trabajo. Y, como he mencionado antes, con Chat GPT las posibilidades se multiplican.

Podrías llegar a realizar un Screaming Frog “casero“, donde poder exportar todos los datos que quieras:

Por estos, y por otros motivos, sigo pensando que puede ser de utilidad usar Xpath en tus documentos de Google Sheets.

Y ahora, te dejo con algunas recomendaciones que me han parecido bastante buenas para agilizar tu trabajo como consultor SEO.

Extrae cualquier Schema en JSON-LD con Google Sheets

¿Quieres saber cómo puedes extraer tus schemas en JSON-LD desde Google Sheets?

Bueno, quien dice tus schemas dice cualquier schema de cualquier página web. Puedes hacerlo gracias a Xpath y Google Sheets. Así que vamos a ello.

¿Cómo puedo hacerlo?

Fácil. Te indico

//script[@type='application/ld+json'][contains(text(),'FAQPage')]/text()

En este caso, como podrás ver, está indicado el schema “FAQpage”. Pero, si quieres sacar cualquier otro, podrás hacerlo cambiando el tipo justamente en esta parte del Xpath.

Puedes probar con el tipo de schema o dato estructurado que quieras: LocalBusiness, WebPage, Event, Organization, BreadcrumbList,…

Solamente tendrás que incluir el =IMPORTXML en tu fórmula, seleccionar la celda y luego, indicar el fragmento que te aporto. Y… ¡Listo!

Pero bueno, esto no queda solo aquí. Vamos a ver el resto.

Extrae encabezados h de varias URLs y orden de aparición en el HTML

Sí, esta función la realiza muchas de las extensiones de SEO que sueles utilizar. Pero, la gran diferencia es que aquí puedes hacerlo para tantas URLs necesites revisar y poder detectar patrones en las mismas tipologías de páginas o diferencias entre ellas. Con la ventaja de hacerlo de 1 vez, tan solo extendiendo la función.

Leer  X Robots Tag: Qué es y cómo implementarlo

Vamos a ver como lo puedes tener:

Muéstrame cómo hacerlo con Xpath y ImportXML

Fácil. Te indico

function extraerEncabezados(url) {
  if (!url) return [['Error: URL vacía']];
  
  try {
    var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
    if (response.getResponseCode() !== 200) {
      return [['Error HTTP: ' + response.getResponseCode()]];
    }
    
    var html = response.getContentText();
…    
    return results;

  } catch(e) {
    return [['Error al obtener o procesar la página:', e.toString()]];
  }
}

¡GENIAL!

Extrae URLs de cualquier sitemap con Importxml

Muchos clientes, sobre todo de gran envergadura, suelen acumular URLs totalmente innecesarias dentro de sus archivos sitemap.

Otro de los problemas, es encontrar errores o incluso páginas en noindex que acaban ahí.

Por ello, esta función te va a venir genial para conocer las URLs de cualquier sitemap.

Cómo extraer las URLs de cualquier sitemap en Google Sheets

function extraerURLsDeSitemap(sitemapUrl) {
  var xml = UrlFetchApp.fetch(sitemapUrl).getContentText();
  var document = XmlService.parse(xml);
  var root = document.getRootElement();
  var ns = root.getNamespace();

  var urls = [];
  var urlElements = root.getChildren("url", ns);

  for (var i = 0; i < urlElements.length; i++) {
    var loc = urlElements[i].getChild("loc", ns);
    if (loc) urls.push([loc.getText()]);
  }

  return urls;
}

 

Bonus**

Puedes obtener el código de respuesta de cualquier URL y también saber si tienes tu sitemap limpio, podrás usar el siguiente JS:

function HTTPResponse( uri )
{
var response_code ;
try {
response_code = UrlFetchApp .fetch( uri ) .getResponseCode() .toString() ;
}
catch( error ) {
response_code = error .toString() .match( / returned code (\d\d\d)\./ )[1] ;
}
finally {
…    }
  var constante = 9;
  for (var i=0; i < proyectos.length; i++) {
    sheet.getRange("J" + constante).setValue(proyectos[i]);
    constante++;
  }
}

Podrás utilizarlo con el =httpresponse(celda). Aquí podrás aprovechar también con XPath para sacar... lo que tú quieras:

Básicos para extraer con importxml y XPath (copiar/pegar)

Por supuesto, te dejo también los clásicos importxml para copiar y pegar:

¿Quieres tener un acceso a un doc con estas funciones? Te lo dejo por aquí, puedes hacerte una copia y tener el documento para ti:

Consultor SEO en Cecomart
Consultor SEO desde 2015. Con ganas de difundir noticias sobre posicionamiento web y continuar aprendiendo de esta cambiante profesión.
C.Ortiz
Últimas entradas de C.Ortiz (ver todo)

Deja una respuesta

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

Trustpilot