Empresas que publicam vagas em mais de um lugar acabam, cedo ou tarde, digitando o mesmo anúncio três vezes. O feed resolve isso invertendo a direção: em vez de a empresa levar a vaga a cada portal, ela publica um arquivo com as vagas abertas e cada portal vem buscar.
O que é, na prática
Um feed de vagas é um arquivo XML acessível por uma URL fixa, que lista as vagas abertas naquele momento. Quem consome o feed o lê de tempos em tempos — a cada poucas horas, tipicamente — e reflete o conteúdo: vaga que entrou aparece, vaga que saiu do arquivo é despublicada.
A propriedade que faz o mecanismo funcionar é essa última. O feed não é um histórico nem um registro de eventos: ele é uma fotografia do que está aberto agora. Um feed que acumula vagas encerradas obriga cada consumidor a adivinhar quais ainda valem, e o resultado é candidato se inscrevendo em vaga preenchida.
Por que todo mundo aceita o mesmo formato
Não há norma publicada para feeds de vaga. O que existe é um desenho que um portal grande adotou, documentou e passou a exigir de quem quisesse integrar — e que os demais copiaram para não obrigar as empresas a manter dois arquivos. É por isso que você vai encontrar o formato referido pelo nome daquele portal, ainda que ele hoje seja lido por dezenas de sistemas que não têm relação nenhuma com ele.
A consequência prática é boa: um arquivo só costuma servir a todos os destinos. A consequência ruim é que, não havendo especificação, cada consumidor tolera variações diferentes — e um feed que funciona num lugar pode ser recusado noutro por um detalhe de nome de campo.
O esqueleto
Um feed mínimo tem esta forma:
<?xml version="1.0" encoding="utf-8"?>
<source>
<publisher>Metalúrgica Cascavel</publisher>
<publisherurl>https://metalurgica.com.br</publisherurl>
<job>
<title><![CDATA[Soldador MIG/MAG]]></title>
<date><![CDATA[Mon, 01 Sep 2026 08:00:00 -0300]]></date>
<referencenumber><![CDATA[MC-1001]]></referencenumber>
<url><![CDATA[https://metalurgica.com.br/vagas/soldador]]></url>
<company><![CDATA[Metalúrgica Cascavel]]></company>
<city><![CDATA[Cascavel]]></city>
<state><![CDATA[PR]]></state>
<country><![CDATA[BR]]></country>
<description><![CDATA[<p>Solda de conjuntos metálicos…</p>]]></description>
<jobtype><![CDATA[CLT]]></jobtype>
</job>
</source>
Os campos que importam de verdade
Dos onze campos acima, dois merecem atenção porque são os que costumam ser preenchidos de forma que parece certa e não é.
referencenumber é a identidade da vaga. Ele precisa ser
estável ao longo da vida do anúncio e único dentro do seu feed. Quem o gera a partir
do título comete um erro que só aparece semanas depois: corrigido um acento no
cargo, a vaga passa a ter outra identidade, e o consumidor a trata como vaga nova —
duplicando o anúncio e zerando a data de publicação.
description precisa ser a descrição inteira, não um
resumo. Feeds com descrições de duas linhas costumam ser aceitos e depois ignorados
na exibição, porque não há conteúdo suficiente para justificar uma página. E o HTML
deve vir dentro de CDATA: descrição de vaga tem &,
aspas e sinais de maior e menor em quantidade, e escapá-los um a um é como o feed
quebra no leitor de um destino só.
Erros comuns
- Cidade e estado na mesma tag. "Cascavel/PR" dentro de
<city>resulta numa cidade chamada "Cascavel/PR", que não casa com filtro nenhum. - Feed que exige autenticação. Se o endereço pede login, o consumidor não consegue lê-lo. Feeds costumam ficar em URLs longas e não divulgadas, o que é proteção suficiente para um conteúdo que, afinal, é público.
- Feed gerado sob demanda a cada requisição. Com trezentas vagas, montar o arquivo do zero a cada leitura é caro e leva a timeouts. Gerar de hora em hora e servir o arquivo pronto resolve.
- Vaga sem
url. Sem o endereço da vaga no seu site, o candidato não tem para onde voltar — e alguns destinos recusam o registro.
Como validar antes de entregar
Antes de enviar o endereço a qualquer destino, faça três conferências. Abra a URL numa janela anônima e confirme que o XML aparece sem pedir senha. Confira se o arquivo é XML bem formado — qualquer validador de XML serve, e o erro mais comum é um caractere de controle vindo de um campo copiado de um editor de texto. E, por fim, encerre uma vaga no seu sistema e confirme que ela sumiu do arquivo: é essa propriedade, e não a presença das vagas abertas, que sustenta todo o mecanismo.