Definición:
XPath es un lenguaje de expresiones que permite localizar nodos y obtener valores dentro de la estructura de un documento XML. Puede seleccionar elementos, atributos o texto y realizar operaciones con cadenas, números y valores booleanos, según la versión utilizada.
Trabaja sobre una representación del documento en forma de árbol, no buscando fragmentos de su código como una cadena de texto. Sus expresiones utilizan rutas, condiciones y funciones; no se escriben mediante etiquetas XML. También puede emplearse para consultar el DOM de páginas HTML cuando la herramienta lo permite.
XPath surgió para proporcionar una sintaxis común a tecnologías como XSLT y XPointer. Seleccionar un nodo o calcular un resultado no modifica por sí solo el documento: la transformación o actualización corresponde al programa o a la tecnología que utiliza la expresión.
Índice de contenidos
Para qué sirve XPath
XPath puede intervenir en distintas tareas de consulta y procesamiento. Estas cinco funciones ayudan a entender su alcance:
- Localización de elementos: recorrer relaciones entre nodos, como padres, hijos y descendientes, para seleccionar partes del documento. Una ruta puede partir de la raíz o del nodo que actúa como contexto.
- Cálculo y tratamiento de valores: contar nodos, comparar valores o trabajar con texto mediante funciones. Obtener una cadena transformada no equivale a reemplazar el contenido del documento original.
- Integración con otras tecnologías: XSLT utiliza expresiones XPath para seleccionar y calcular información durante una transformación. XQuery comparte parte de su base, y determinados esquemas de XPointer lo emplean para señalar partes de documentos. Son tecnologías relacionadas, no nombres intercambiables.
- Consulta de datos: combinar rutas y predicados, las condiciones escritas entre corchetes, para seleccionar nodos que cumplan ciertos criterios. El resultado depende de la expresión y del contexto en que se evalúa.
- Comprobación de condiciones: verificar si existe un elemento o si se cumple una relación entre valores. Estas comprobaciones pueden integrarse en sistemas de validación, pero una expresión XPath no sustituye automáticamente la validación completa frente a un esquema XML.
La selección puede verse afectada por los espacios de nombres. En un documento XML que los utiliza, buscar solo el nombre visible de una etiqueta puede no encontrar los elementos esperados; el evaluador necesita interpretar los nombres y prefijos correctamente.
La referencia de XPath en MDN reúne información sobre sintaxis, ejes y funciones. La versión admitida debe comprobarse en la herramienta concreta, porque no todos los motores ofrecen las mismas capacidades.
XPath y su comparación con SQL
La comparación con SQL ayuda a distinguir el almacenamiento de la consulta. XML representa información estructurada; XPath permite seleccionar y calcular resultados sobre esa estructura. De forma parecida, SQL permite consultar datos en sistemas de bases de datos relacionales.
La analogía tiene límites. SQL incluye operaciones sobre tablas y, según la instrucción, puede modificar datos o estructuras. XPath trabaja con un modelo de datos y no constituye por sí solo un sistema de base de datos ni un mecanismo general para actualizar documentos. No reproduce necesariamente operaciones como las uniones entre tablas de SQL.
Las versiones también importan. XPath 1.0 trabaja con un modelo que incluye conjuntos de nodos, cadenas, números y valores booleanos. Las versiones posteriores amplían los tipos y las funciones; XPath 3.1 incorpora mapas y arrays, además de capacidades para trabajar con JSON. Esto no significa que cualquier herramienta que admita XPath pueda utilizar esas ampliaciones.
Bibliotecas y componentes como System.Xml.XPath en .NET o MSXML proporcionan entornos para evaluar expresiones. Su compatibilidad depende de la versión implementada, las extensiones y el contexto, incluidos los espacios de nombres. Que dos herramientas utilicen el nombre XPath no garantiza que una expresión funcione igual en ambas.
Cómo utilizar XPath en SEO
En SEO, XPath permite extraer información de páginas procesadas por un navegador, un rastreador o un analizador HTML. La expresión selecciona datos del documento disponible; no descarga páginas ni ejecuta JavaScript por sí sola.
Sus aplicaciones pueden organizarse en estas cinco tareas:
- Extracción de datos: obtener títulos, metadescripciones, encabezados, enlaces u otros campos para revisar un conjunto de páginas. Seleccionar un elemento no demuestra que su contenido sea adecuado para la intención de búsqueda.
- Análisis de la competencia: comparar estructuras y contenidos accesibles en otras webs. Una extracción muestra la información recogida, no el tráfico, las conversiones ni las causas de su posicionamiento.
- Automatización de auditorías: reutilizar expresiones dentro de herramientas de rastreo o procesos de extracción. Esto facilita recopilar campos de forma consistente cuando las páginas mantienen una estructura compatible.
- Revisión de contenido y marcado: localizar encabezados o comprobar la presencia de metadatos. Para detectar duplicados entre páginas es necesario comparar los resultados; XPath no realiza por sí solo todo el diagnóstico.
- Seguimiento de cambios: utilizar scripts para obtener los mismos campos en momentos distintos y comparar capturas. Un cambio en la estructura HTML puede romper el selector sin que haya desaparecido la información.
Por ejemplo, sobre un documento HTML procesado por una herramienta compatible, estas expresiones seleccionan campos habituales:
//title/text()
//meta[@name="description"]/@content
//h1
La primera selecciona los nodos de texto de los elementos title; la segunda, el atributo content de las metaetiquetas cuyo atributo name es description; y la tercera, los elementos h1. Seleccionar un elemento no equivale a extraer únicamente su texto: la herramienta puede ofrecer modos de salida diferentes.
La extracción debe distinguir el HTML recibido del servidor del DOM disponible después de ejecutar JavaScript. Herramientas como Screaming Frog SEO Spider permiten aplicar extracciones sobre HTML original o renderizado, según la configuración. Si el dato solo aparece tras ejecutar scripts, una consulta sobre el HTML inicial puede devolver un resultado vacío.
Una expresión puede devolver varios resultados, ninguno o valores distintos de los esperados. Antes de reutilizarla en muchas páginas conviene comprobar muestras y revisar las condiciones del selector. XPath facilita obtener información para una auditoría, pero no corrige la web ni garantiza mejoras de posicionamiento.
