JSON-LD JobPosting: cómo encontrar ofertas antes de que los agregadores las indexen
Muchas páginas de empleo integran datos legibles por máquina sobre el puesto. Cuando existe un bloque JSON-LD JobPosting válido, puede ser una fuente de supervisión más limpia que el HTML renderizado. También ayuda a entender cómo los buscadores descubren y muestran vacantes.
Muchas ofertas incluyen junto al HTML una descripción legible por máquina con campos como título, ubicación, fecha, salario y empleador. El formato habitual es JSON-LD JobPosting, integrado en una etiqueta script. Su presencia y exhaustividad varían; trátelo como una fuente útil que debe inspeccionar, no como una garantía.
Entender el formato muestra cómo un buscador puede leer datos estructurados de la página empresarial y ofrece una vía más limpia de supervisión cuando están presentes. Aun así, debe gestionar datos ausentes, inválidos o cargados con JavaScript.
Qué es exactamente
JSON-LD («JSON for Linked Data») es una forma de integrar datos legibles por máquina dentro de una página web. El esquema JobPosting, definido en schema.org/JobPosting, es uno de los muchos tipos que Google usa para ingerir información estructurada de la web.
Google documenta los datos JobPosting como una vía para optar a su experiencia de búsqueda de empleo, pero ser apto no garantiza aparecer. Muchos sistemas de seguimiento de candidatos, incluidos Workday, Greenhouse, Lever, Ashby, Phenom e iCIMS, exponen datos estructurados en algunas páginas públicas. La implementación depende de la plataforma y la configuración.
Cómo se ve
Si ve el código fuente de una oferta de empleo típica alojada en Greenhouse y busca application/ld+json, verá algo parecido a esto:
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Senior Backend Engineer",
"description": "We're looking for...",
"datePosted": "2026-05-12",
"validThrough": "2026-08-12",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "Acme",
"sameAs": "https://acme.example"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "London",
"addressCountry": "GB"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "GBP",
"value": {
"@type": "QuantitativeValue",
"minValue": 90000,
"maxValue": 130000,
"unitText": "YEAR"
}
}
}
Dos campos útiles son datePosted, la fecha declarada en los datos estructurados, y baseSalary, cuando el empleador lo incluye. Cualquiera puede faltar, estar desactualizado o tener un formato deficiente. Compruebe la oferta visible antes de confiar en ellos.
Por qué esto importa para la búsqueda de empleo
Tres razones prácticas.
1. Le da la fecha declarada por el empleador
datePosted indica lo que declara la página del empleador, a menudo más útil que «hace tres días» en otra plataforma. No es infalible: el empleador puede cambiar, omitir o reutilizar fechas, y los agregadores reciben ofertas por distintas rutas. Nuestra comparación entre fuente y agregador lo trata como un indicio que comprobar.
2. Explica cómo puede leer una oferta un buscador
Los datos estructurados dan al buscador una descripción directa cuando visita la página. El momento de la visita, la indexación y la aparición no están garantizados; otras plataformas pueden recibir o procesar la vacante por rutas distintas. Nuestro análisis del retraso estudia el efecto práctico de verla después.
3. Le ofrece una vía limpia para supervisar empresas usted mismo
Para construir supervisión, un JSON-LD válido es una primera fuente útil porque los campos ya están estructurados. No elimina los planes alternativos: el bloque puede faltar, estar mal formado, anidado de forma inesperada o cargarse después del HTML inicial. Busque <script type="application/ld+json">, valide lo que encuentre y gestione también la página cuando no exista.
Cómo inspeccionarlo usted mismo
En cualquier navegador:
- Abra una página de oferta de empleo (pruebe con una URL de Greenhouse o Lever).
- Haga clic derecho y elija «Ver código fuente de la página» (o pulse Ctrl+U / Cmd+U).
- Busque
application/ld+json. - Encontrará uno o más bloques JSON. El que tiene
"@type": "JobPosting"es el dato del puesto.
La herramienta Rich Results Test de Google identifica errores y problemas de aptitud. Superarla no garantiza que Google indexe o muestre la vacante.
Por qué no basta con el nombre del ATS
- Páginas ATS alojadas: Greenhouse, Lever, Ashby, Workday, Phenom, iCIMS y SmartRecruiters pueden exponer JobPosting, pero depende de la plantilla y configuración.
- Páginas renderizadas con JavaScript: los datos pueden aparecer solo después de ejecutar la página y faltar en la respuesta inicial.
- Sitios de empleo propios: la implementación varía. El tamaño o la marca no son atajos fiables.
- Cualquier plataforma: inspeccione la oferta concreta. Una expectativa general no demuestra que esa página tenga datos válidos.
Nuestra referencia completa sobre ATS explica cómo identificar qué sistema usa una empresa.
Un recorrido mínimo: «sea su propio rastreador»
Para lectores técnicos, aquí está la estructura aproximada de un script en Python que supervisa una única página de empleo en busca de nuevas entradas JSON-LD JobPosting:
import json, re, requests, hashlib
from bs4 import BeautifulSoup
def fetch_postings(url):
html = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}).text
soup = BeautifulSoup(html, "html.parser")
out = []
for tag in soup.find_all("script", type="application/ld+json"):
try:
data = json.loads(tag.string)
except (json.JSONDecodeError, TypeError):
continue
items = data if isinstance(data, list) else [data]
for item in items:
if item.get("@type") == "JobPosting":
out.append(item)
return out
# Ejecutar con un calendario; comparar con la ejecución anterior; enviar por correo las nuevas entradas.
Un monitor de producción también debe gestionar JavaScript, fallos de solicitud, límites de frecuencia, duplicados y cambios de esquema. Es bastante más trabajo que el ejemplo. Nuestra guía para supervisar páginas de empleo compara las alternativas.
Qué significa esto para su búsqueda de empleo
Si el empleador publica datos estructurados válidos, están en la fuente antes o a la vez que las copias posteriores. Eso no demuestra cuándo recibió la oferta otra plataforma. Sí justifica comprobar la página empresarial en vez de tratar la marca del agregador como el reloj original.
No dependa de un único canal. Compruebe la página canónica del empleador antes de solicitar y use datos estructurados si construye su propia supervisión. Nuestra comparación de alertas explica las compensaciones.
Qué hacer con esta información
JSON-LD JobPosting es una capa útil del descubrimiento moderno. Cuando una empresa lo publica correctamente, buscadores y herramientas pueden leer los mismos campos declarados. Su disponibilidad no revela cuándo otra plataforma recibió o mostró el puesto.
Para los candidatos importa más la fuente: verifique la vacante en la página empresarial y solicite mientras siga reciente. Llegar antes de que se forme la cola o preselección ofrece una ventaja real de tiempo y visibilidad. Para supervisión propia, compruebe primero JSON-LD válido y prepare alternativas cuidadosas.