Cómo hacer que tus avisos de empleo aparezcan en Google
Si administrás una bolsa de trabajo, el portal de empleos de una empresa o el sitio de una consultora de recursos humanos, hay una diferencia grande entre que tus avisos estén en tu sitio y que estén en Google.
Google tiene una experiencia de búsqueda de empleo dedicada: cuando alguien busca un puesto, muestra un panel con avisos, filtros por ubicación, por fecha y por tipo de jornada. Está disponible desde Argentina, junto con otros países de la región como Brasil, Chile, Colombia, México y España, según la propia ayuda de Google.
Para entrar ahí no alcanza con publicar el aviso. Hay requisitos técnicos concretos, y este artículo los explica.
Paso 1: los datos estructurados JobPosting
Google necesita entender que tu página es un aviso de empleo y no cualquier otra cosa. Eso se logra con datos estructurados: un bloque de código, invisible para el visitante, que le describe a Google el contenido de la página en un formato que puede leer.
Para avisos de empleo el tipo se llama JobPosting, y Google exige cinco campos:
| Campo | Qué es |
|---|---|
title | El título del puesto. Solo el puesto, sin la empresa ni la ubicación |
description | La descripción completa, en HTML. Responsabilidades, requisitos, condiciones |
datePosted | La fecha de publicación, en formato ISO 8601 |
hiringOrganization | La empresa que contrata |
jobLocation | La dirección física del puesto. Se puede omitir solo si el trabajo es 100% remoto |
Hay campos opcionales que conviene completar igual, porque mejoran cómo se ve el aviso y cómo se puede filtrar: el rango salarial, el tipo de jornada, si admite trabajo remoto, y validThrough, que es la fecha hasta la que el aviso está vigente. Sobre ese último volvemos enseguida, porque es el que más problemas trae.
Un error habitual: meter la ubicación o el nombre de la empresa dentro del campo title. El título tiene que ser el puesto y nada más — "Desarrollador backend semi senior", no "Desarrollador backend semi senior en Buenos Aires - Empresa XYZ".
Cómo verificar que quedó bien: Google tiene una herramienta gratuita de prueba de resultados enriquecidos. Pegás la dirección del aviso y te dice si detectó el JobPosting y qué campos le faltan. Hacelo con un aviso antes de tocar los mil que tenés.
Paso 2: que Google se entere rápido, que acá es lo que importa
Un aviso de empleo no es como un artículo de blog. Un artículo puede indexarse tres días después y sigue sirviendo igual. Un aviso que se indexa tres días tarde perdió tres días de postulantes, y si el puesto se cubre en una semana, perdió casi todo.
Acá es donde Google dice algo que para el resto de los sitios no dice. Textual, de su documentación sobre datos estructurados de ofertas de trabajo:
For job posting URLs, we recommend using the Indexing API instead of sitemaps because the Indexing API prompts Googlebot to crawl your page sooner.
Traducido: para direcciones de avisos de empleo, Google recomienda usar la Indexing API en lugar del sitemap, porque hace que Googlebot pase antes.
Vale la pena detenerse en esto, porque es poco frecuente. La Indexing API es una herramienta que Google habilitó solo para dos tipos de página: avisos de empleo y transmisiones en vivo. Para cualquier otro sitio, usarla es inútil —lo explicamos en la verdad sobre la Indexing API—. Para el tuyo, es lo que Google recomienda por encima del método estándar.
Si administrás avisos de empleo, sos de las pocas personas para las que esa API está pensada de verdad.
Paso 3: sacar los avisos vencidos, que es la mitad del trabajo
Esta es la parte que más se descuida y la que más caro sale.
Cuando un puesto se cubre y el aviso sigue apareciendo en Google pasan dos cosas: alguien pierde el tiempo postulándose a algo que ya no existe, y tu sitio acumula páginas que decepcionan a quien llega. Google es explícito sobre esto:
Ideally you should remove expired job postings from your website. If you prefer to not remove them, then you need to ensure the validThrough property is populated and in the past.Hay tres formas válidas de dar por terminado un aviso:
- Borrar la página, devolviendo un código
404o410. - Dejar la página pero con
validThroughen una fecha pasada. - Sacar el bloque de datos estructurados
JobPostingde esa página.
Y para que Google se entere rápido de la baja, la misma Indexing API tiene una operación específica: en vez de avisar que una dirección se actualizó, se avisa que se dio de baja.
El circuito completo entonces es simétrico: avisás cuando el aviso se publica, y avisás cuando el aviso vence. Si solo hacés lo primero, en unos meses vas a tener en Google una cantidad de avisos fantasma.
Qué hace falta para conectar la Indexing API
Es la parte más molesta y conviene saberla antes de empezar:
- Crear un proyecto en Google Cloud (gratis).
- Crear una cuenta de servicio y descargar su archivo JSON de credenciales. Ese archivo es una clave: se guarda como se guarda una contraseña.
- Habilitar la Indexing API en ese proyecto.
- Dar de alta la cuenta de servicio como propietaria en Search Console, en la propiedad de tu sitio. Si salteás este paso, todos los envíos van a fallar con un error de permisos. Es el error más común.
El límite es de 200 direcciones por día y es por proyecto de Google Cloud, no por sitio. Para la mayoría de los portales de empleo alcanza de sobra; si publicás más que eso por día, se puede pedir una ampliación a Google. El detalle técnico está en qué es la API de Indexación de Google.
El resumen
- Cada aviso necesita datos estructurados
JobPostingcon los cinco campos obligatorios. - Completá también
validThrough: te va a ahorrar el problema de los avisos vencidos. - Para avisar de un aviso nuevo, Google recomienda la Indexing API por encima del sitemap. Es de los pocos casos donde lo dice.
- Avisá también las bajas. Un portal lleno de avisos fantasma pierde credibilidad con los candidatos y con Google.
- Verificá cada cambio con la herramienta de prueba de resultados enriquecidos antes de aplicarlo a todo el sitio.