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:
- Comparativa de metas con competidores.
- Extensión de tus h’s
- Detectar si tienes h’s vacíos en determinadas páginas.
- Enlaces innecesarios o no visibles.
- Problemas en tu menú de navegación.
- Conocer meta robots de todas tus páginas.
- Revisión de canonicals.
- Revisión de enlaces hreflang de tus páginas.
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
- Necesitarás solamente el siguiente fragmento de Xpath:
//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,…
- Ahora, coloca tu =IMPORTXML:
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.
Vamos a ver como lo puedes tener:
Muéstrame cómo hacerlo con Xpath y ImportXML
Fácil. Te indico
- Necesitarás el siguiente script para Apps Script y colocarlo en tu hoja de cálculo. Ves a “Extensiones” y clic sobre “Apps Script” y pega el código:
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()]];
}
}
- Puedes nombrar el js como “ExtractorEncabezados” para poder ejecutarlo.
- Posteriormente, tan solo tendrás que ir a tu hoja de Google Sheets y podrás utilizar el elemento “=extraerEncabezados(celda)” para extraer, en 2 columnas, el orden de los h’s y en la siguiente columna tendrás el texto o, si está vacío, aparecería el texto “VACÍO”.
¡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
- A continuación, aquí podrás incluir este JS para poder ejecutarlo y poder realizar la extracción:
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;
}
- Puedes nombrar el js como "extraerURLsDeSitemap" para poder ejecutarlo.
- Después, tan solo es necesario que ir a la hoja de Google Sheets y podrás utilizarlo con el elemento "=extraerURLsDeSitemap(celda)" para extraer las 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:
- Meta descriptions
- Meta Robots
- Title
- H's
- Canonical
- ...
Básicos para extraer con importxml y XPath (copiar/pegar)
Por supuesto, te dejo también los clásicos importxml para copiar y pegar:
- XPath H1: =importxml=(celda;"//h1")
- XPath H2: =importxml=(celda;"//h2")
- XPath H3: =importxml=(celda;"//h3")
- XPath H4: =importxml=(celda;"//h4")
- XPath H5: =importxml=(celda;"//h5")
- XPath H6: =importxml=(celda;"//h6")
- XPath Title: =importxml=(celda;"//title")
- XPath Meta Description: =importxml=(celda;"//meta[@name='description']/@content")
- XPath Meta Robots: =importxml=(celda;"//meta[@name='robots']/@content")
- XPath Canonical: =importxml=(celda;"//link[@rel='canonical']/@href")
¿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:
- Qué es el método CRAFT en IA - noviembre 8, 2025
- XPath e ImportXML interesantes para SEO - junio 1, 2025
- AI Overviews: qué son y como afectarán a tu SEO - abril 22, 2025
