Dados estruturados de salário estimado (Occupation)

Com os dados estruturados Occupation, os provedores de estimativa salarial podem definir faixas e médias salariais baseadas na região por tipos de trabalho e detalhes da profissão, como benefícios típicos, qualificações e requisitos educacionais. Os dados do tipo OccupationAggregationByEmployer permitem que esses provedores agreguem as profissões de acordo com fatores como níveis de experiência ou organização contratante.

A inclusão de dados estruturados Occupation qualifica seu conteúdo para exibição na pesquisa aprimorada de salário estimado nos resultados da Pesquisa Google:

Informações de salário estimado na Pesquisa Google

Como adicionar dados estruturados

Os dados estruturados são um formato padronizado para fornecer informações sobre uma página e classificar o conteúdo dela. Caso você não saiba muito sobre o assunto, veja como os dados estruturados funcionam.

Esta é uma visão geral de como criar, testar e lançar dados estruturados.

  1. Adicione as propriedades obrigatórias. Com base no formato que você está usando, saiba onde inserir dados estruturados na página.
  2. Siga as diretrizes.
  3. Valide o código com o Teste de pesquisa aprimorada e corrija os erros críticos. Corrija também os problemas não críticos que possam ser sinalizados na ferramenta, porque eles podem melhorar a qualidade dos dados estruturados, mas isso não é necessário para se qualificar para pesquisas aprimoradas.
  4. Implante algumas páginas que incluam os dados estruturados e use a Ferramenta de inspeção de URL para testar como o Google vê a página. Verifique se a página está acessível ao Google e se não está bloqueada por um arquivo robots.txt, pela tag noindex ou por requisitos de login. Se estiver tudo certo, peça ao Google para rastrear novamente seus URLs.
  5. Para informar o Google sobre mudanças futuras, recomendamos que você envie um sitemap. É possível automatizar isso com a API Search Console Sitemap.

Exemplos

Exemplo de Occupation

O exemplo de JSON-LD a seguir mostra um uso simples de Occupation com dados de estimativa salarial:


<html>
  <head>
    <title>Software Developer, Applications</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Occupation",
      "name": "Software Developer, Applications",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "lastReviewed": "2024-07-23T14:20:00-05:00"
      },
      "description": "Develops information systems by designing, developing, and installing software solutions",
      "estimatedSalary": [
        {
          "@type": "MonetaryAmountDistribution",
          "name": "base",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": 100000.5,
          "percentile25": 115000,
          "median": 120000.28,
          "percentile75": 130000,
          "percentile90": 150000
        }
      ],
      "occupationLocation": [
        {
          "@type": "City",
          "name": "Mountain View"
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Exemplo de OccupationAggregationByEmployer

O exemplo de JSON-LD a seguir mostra um uso mais complexo de OccupationAggregationByEmployer com dados de estimativa salarial:

<html>
  <head>
    <title>App/Web App Developer</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.googleapis.com/",
      "@type": "OccupationAggregationByEmployer",
      "name": "App/Web App Developer",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "lastReviewed": "2024-07-23T14:20:00-05:00"
      },
      "description": "Develops information systems by designing, developing, and installing software solutions.",
      "estimatedSalary": [
        {
          "@type": "MonetaryAmountDistribution",
          "name": "base",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": 100000.5,
          "percentile25": 115000,
          "median": 120000.28,
          "percentile75": 130000,
          "percentile90": 150000
        },
        {
          "@type": "MonetaryAmountDistribution",
          "name": "bonus",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": 10000,
          "percentile25": 20000,
          "median": 25000,
          "percentile75": 27000,
          "percentile90": 60000
        }
      ],
      "occupationLocation": [
        {
          "@type": "State",
          "name": "Oregon"
        },
        {
          "@type": "State",
          "name": "Washington"
        },
        {
          "@type": "State",
          "name": "California"
        }
      ],
      "hiringOrganization": {
        "@type": "Organization",
        "name": "Google LLC"
      },
      "sampleSize":1000,
      "industry": "Technology",
      "jobBenefits": "6 weeks paid vacation every year",
      "yearsExperienceMin": 3,
      "yearsExperienceMax": 7
    }
    </script>
  </head>
  <body>
  </body>
</html>

Diretrizes

É necessário seguir as diretrizes de qualidade e as diretrizes técnicas gerais de dados estruturados. Além disso, as diretrizes a seguir se aplicam aos dados estruturados de Occupation:

Diretrizes técnicas

  • Os dados estruturados de Occupation são autônomos. Eles não precisam ser associados a nenhum outro dado estruturado fornecido ao Google.
  • Adicione somente Occupation ou OccupationAggregationByEmployer a uma página da Web. Não adicione mais de uma dessas definições de tipo por página.
  • Verifique se os dados estruturados são consistentes com o que é mostrado na página. Veja alguns exemplos:
    • Você mostra somente o salário mediano na sua página para os usuários, e seus dados estruturados incluem só esses valores.
    • Você arredonda o salário anual para o quinto milhar mais próximo na sua página e fornece a mesma granularidade nos dados estruturados.
  • Especifique as propriedades apenas uma vez em cada definição, salvo especificação em contrário.
  • Para profissões com características diferentes dependendo do local (por exemplo, a faixa salarial no nordeste dos EUA pode ser diferente daquela do centro-oeste), crie páginas da Web separadas, cada uma com a própria definição de Occupation que especifique um occupationLocation diferente.
  • Não adicione dados estruturados de estimativas salariais às páginas de listagens (páginas que mostram uma lista de profissões).
  • Quando suas páginas forem alteradas, atualize os sitemaps diariamente.

Diretrizes de conteúdo

  • Agrupe títulos de profissões semelhantes quando todos os empregos tiverem faixas salariais e descrições parecidas. Os títulos de profissões precisam ser específicos, mas não tanto a ponto de se tornarem confusos. Veja alguns exemplos:
    • Não use termos amplos demais:

      Não recomendado: "Psicólogos clínicos, terapêuticos e pedagógicos"

      Recomendado: "Orientador pedagógico", "Psicólogo clínico", "Terapeuta clínico", "Doutor em psicologia"

    • Não use termos específicos demais:

      Não recomendado: "Enfermeira formada em saúde domiciliar", "Enfermeira formada" e "Enfermeira formada — Saúde domiciliar — Enfermeira itinerante"

      Recomendado: "Enfermeira"

Definições de tipos de dados estruturados

Esta seção descreve os tipos de dados estruturados relacionados às estimativas salariais.

É necessário incluir as propriedades obrigatórias para que seu conteúdo seja qualificado para exibição na pesquisa aprimorada de salário estimado. Também é possível incluir as propriedades recomendadas para acrescentar mais informações sobre o conteúdo, o que pode proporcionar uma experiência melhor ao usuário.

Occupation

O tipo Occupation define as informações sobre um emprego, como salário estimado, habilidades exigidas e responsabilidades. A definição completa de Occupation está disponível em schema.org/Occupation (em inglês).

Veja as propriedades aceitas pelo Google:

Propriedades obrigatórias
estimatedSalary

Matriz de MonetaryAmountDistribution

É o salário estimado para essa profissão no occupationLocation determinado. Especifique uma faixa salarial ou estimativas salariais baseadas na classificação percentual.

O exemplo a seguir mostra uma faixa salarial estimada:

"estimatedSalary": [{
  "@type": "MonetaryAmountDistribution",
  "name": "base",
  "currency": "USD",
  "duration": "P1Y",
  "minValue": 100000, // Inherited from QuantitativeValue
  "maxValue": 150000, // Inherited from QuantitativeValue
  "median": 124900 // Inherited from QuantitativeValueDistribution
}]

Para contabilizar o salário-base, bônus e outras formas de remuneração, defina diversos salários na matriz de estimatedSalary. É necessário especificar o salário-base. Outros tipos de remuneração são opcionais.

Veja um exemplo com um bônus:

"estimatedSalary": [
  {
    "@type": "MonetaryAmountDistribution",
    "name": "base",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": 100000,
    "maxValue": 150000,
    "median": 124900
  }, {
    "@type": "MonetaryAmountDistribution",
    "name": "bonus",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": 0,
    "maxValue": 34500,
    "median": 4450
  }
]
estimatedSalary.duration

Duration

É o período necessário para receber o salário estimado no formato de data ISO 8601. Por exemplo, se o salário estimado for recebido ao longo de um ano, use P1Y para duration.

estimatedSalary.name

Text

É o tipo de valor. É necessário especificar o salário-base. Outros tipos de remuneração são opcionais. Por exemplo, "Salário-base", "Bônus", "Comissão".

name

Text

É o título da profissão. Essa propriedade permite o uso de texto não estruturado. Por exemplo, "Engenheiro de software".

Práticas recomendadas:

  • Inclua na propriedade somente o título da profissão.
  • Não inclua códigos de vagas, endereços, datas, salários ou nomes de empresas na propriedade name.

    Não recomendado: "Faça já sua inscrição para o cargo de TI, falante de FRANCÊS em Bucareste"

    Recomendado: "Especialista em mercado, falante de francês"

  • Forneça títulos concisos e de fácil compreensão.
  • Não use caracteres especiais em excesso, como ! e *. O abuso de caracteres especiais pode fazer com que sua marcação seja considerada Marcação estruturada com spam. São aceitos números e caracteres como / e -.

    Não recomendado: "*** ARMAZÉM CONTRATA AGORA!! PARA ROTAS DE ÔNIBUS!! ***

    Recomendado: "Funcionário de armazém para envio e recebimento"

occupationLocation

Matriz de City, State ou Country

É o lugar a que essa descrição profissional se aplica. Defina o local no nível de cidade, estado ou país na única propriedade Name se estiver especificando para um único local.

Exemplo granular (recomendado)

"occupationLocation": {
  "@type": "City", // Maximum level of granularity (recommended)
  "name": "Mountain View, CA, US" // City, State, and Country inputted on same property
}

Exemplos menos granulares

Veja dois exemplos com menos granularidade que ainda são aceitáveis:

"occupationLocation": {
  "@type": "State",
  "name": "CA, US"
}
"occupationLocation": {
  "@type": "Country",
  "name": "US"
}

Práticas recomendadas:

  • O local não pode ser mais específico do que uma cidade.
  • A propriedade State aceita nomes de região, contanto que seu país não especifique um estado.
  • O valor de occupationLocation é o local em que a profissão será exercida, não aquele onde a listagem de estimativa salarial foi criada.
  • Se um único tipo de Occupation tiver diversos locais, os especifique na matriz de occupationLocation, como mostrado no exemplo a seguir:
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • Dados como faixas salariais, requisitos acadêmicos e qualificações para a profissão geralmente variam conforme o local. Para representar isso, defina várias páginas, cada uma com a própria definição de Occupation e um occupationLocation diferente.
Propriedades recomendadas
description

Text

É a descrição da profissão.

A description precisa ser uma representação completa da vaga que inclua responsabilidades do cargo, qualificações, habilidades, horário de trabalho, requisitos de formação e de experiência.

Diretrizes adicionais:

  • Inclua a description em todas as páginas de detalhes que um usuário pode acessar, não somente na página de nível superior.
  • A description precisa identificar a profissão de forma exclusiva e fornecer uma descrição específica do que se trata.

    Não recomendado: "Estágio — Um estágio é um treinamento para carreiras administrativas e profissionais."

    Recomendado: "Estagiário de analista de dados — É um estagiário que trabalha com análise de dados. Um analista de dados consegue insights de dados para ajudar na tomada de decisões fundamentadas."

  • A description não pode ser igual ao name.
  • Não inclua a organização contratante na description. Em vez disso, use hiringOrganization.
estimatedSalary.currency

Text

Mostra o código de moeda ISO 4217 de três letras para o valor. Por exemplo, "USD" ou "CAD".

estimatedSalary.median

Number

É o valor mediano (ou "média"). Por exemplo, metade dos salários nessa profissão atinge esse valor ou estão abaixo dele.

estimatedSalary.percentile10

Number

É o valor de 10% dos salários. Por exemplo, 10% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

estimatedSalary.percentile25

Number

É o valor de 25% dos salários. Por exemplo, 25% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

estimatedSalary.percentile75

Number

É o valor de 75% dos salários. Por exemplo, 75% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

estimatedSalary.percentile90

Number

É o valor de 90% dos salários. Por exemplo, 90% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

mainEntityOfPage

WebPage

É o principal assunto descrito na página.

mainEntityOfPage.lastReviewed

Date

É a data em que as informações de salários estimados foram produzidas, no formato ISO 8601. Exemplo:

"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}

OccupationAggregationByEmployer

OccupationAggregationByEmployer fornece dados relacionados à vaga agrupados por empregador. Por exemplo, você pode especificar o setor e a organização contratante para um grupo de profissões quando forem agregadas pelo empregador.

Confira as propriedades aceitas pelo Google:

Propriedades obrigatórias
estimatedSalary

Matriz de MonetaryAmountDistribution

É o salário estimado para essa profissão no occupationLocation determinado. Especifique uma faixa salarial ou estimativas salariais baseadas na classificação percentual.

O exemplo a seguir mostra uma faixa salarial estimada:

"estimatedSalary": [{
  "@type": "MonetaryAmountDistribution",
  "name": "base",
  "currency": "USD",
  "duration": "P1Y",
  "minValue": 100000, // Inherited from QuantitativeValue
  "maxValue": 150000, // Inherited from QuantitativeValue
  "median": 124900 // Inherited from QuantitativeValueDistribution
}]

Para contabilizar o salário-base, bônus e outras formas de remuneração, defina diversos salários na matriz de estimatedSalary. É necessário especificar o salário-base. Outros tipos de remuneração são opcionais.

Exemplo com um bônus

"estimatedSalary": [
  {
    "@type": "MonetaryAmountDistribution",
    "name": "base",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": 100000,
    "maxValue": 150000,
    "median": 124900
  }, {
    "@type": "MonetaryAmountDistribution",
    "name": "bonus",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": 0,
    "maxValue": 34500,
    "median": 4450
  }
]
estimatedSalary.duration

Duration

É o período necessário para receber o salário estimado no formato de data ISO 8601. Por exemplo, se o salário estimado for recebido ao longo de um ano, use P1Y para duration.

estimatedSalary.name

Text

É o tipo de valor. É necessário especificar o salário-base. Outros tipos de remuneração são opcionais. Por exemplo, "Salário-base", "Bônus", "Comissão".

hiringOrganization

Organization

É a organização que oferece uma vaga dessa profissão. Defina o @context como "https://schema.org/". O valor de hiringOrganization precisa ser o nome da empresa (por exemplo, "Starbucks, Inc"), e não o local específico que está contratando (por exemplo, "Starbucks da Avenida Paulista"). Exemplo:

"hiringOrganization": {
  "@context": "https://schema.org/",
  "@type": "Organization",
  "name": "Google LLC"
}
name

Text

É o título da profissão. Essa propriedade permite o uso de texto não estruturado. Por exemplo, "Engenheiro de software".

Práticas recomendadas:

  • Inclua na propriedade somente o título da profissão.
  • Não inclua códigos de vagas, endereços, datas, salários ou nomes de empresas na propriedade name.

    Não recomendado: "Faça já sua inscrição para o cargo de TI, falante de FRANCÊS em Bucareste"

    Recomendado: "Especialista em mercado, falante de francês"

  • Forneça títulos concisos e de fácil compreensão.
  • Não use caracteres especiais em excesso, como ! e *. O abuso de caracteres especiais pode fazer com que sua marcação seja considerada Marcação estruturada com spam. São aceitos números e caracteres como "/" e "-".

    Não recomendado: "*** ARMAZÉM CONTRATA AGORA!! PARA ROTAS DE ÔNIBUS!! ***

    Recomendado: "Funcionário de armazém para envio e recebimento"

occupationLocation

Matriz de City, State ou Country

É o lugar a que essa descrição profissional se aplica. Defina o local no nível de cidade, estado ou país na única propriedade Name se estiver especificando para um único local.

Exemplo granular (recomendado)

"occupationLocation": {
  "@type": "City", // Maximum level of granularity (recommended)
  "name": "Mountain View, CA, US" // City, State, and Country inputted on same property
}

Exemplos menos granulares

Veja dois exemplos com menos granularidade que ainda são aceitáveis:

"occupationLocation": {
  "@type": "State",
  "name": "CA, US"
}
"occupationLocation": {
  "@type": "Country",
  "name": "US"
}

Práticas recomendadas:

  • O local não pode ser mais específico do que uma cidade.
  • A propriedade State aceita nomes de região, contanto que seu país não especifique um estado.
  • O valor de occupationLocation é o local em que a profissão será exercida, não aquele onde a listagem de estimativa salarial foi criada.
  • Se um único tipo de Occupation tiver diversos locais, os especifique na matriz de occupationLocation, como mostrado no exemplo a seguir:
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • Dados como faixas salariais, requisitos acadêmicos e qualificações para a profissão geralmente variam conforme o local. Para representar isso, defina várias páginas, cada uma com a própria definição de Occupation e um occupationLocation diferente.
Propriedades recomendadas
description

Text

É a descrição da profissão.

A description precisa ser uma representação completa da vaga que inclua responsabilidades do cargo, qualificações, habilidades, horário de trabalho, requisitos de formação e de experiência.

Diretrizes adicionais:

  • Inclua a description em todas as páginas de detalhes que um usuário pode acessar, não somente na página de nível superior.
  • A description precisa identificar a profissão de forma exclusiva e fornecer uma descrição específica do que se trata.

    Não recomendado: "Estágio — Um estágio é um treinamento para carreiras administrativas e profissionais."

    Recomendado: "Estagiário de analista de dados — É um estagiário que trabalha com análise de dados. Um analista de dados consegue insights de dados para ajudar na tomada de decisões fundamentadas."

  • A description não pode ser igual ao name.
  • Não inclua a organização contratante na description. Em vez disso, use hiringOrganization.
estimatedSalary.currency

Text

Mostra o código de moeda ISO 4217 de três letras para o valor. Por exemplo, "USD" ou "CAD".

estimatedSalary.median

Number

É o valor mediano (ou "média"). Por exemplo, metade dos salários nessa profissão atinge esse valor ou estão abaixo dele.

estimatedSalary.percentile10

Number

É o valor de 10% dos salários. Por exemplo, 10% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

estimatedSalary.percentile25

Number

É o valor de 25% dos salários. Por exemplo, 25% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

estimatedSalary.percentile75

Number

É o valor de 75% dos salários. Por exemplo, 75% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

estimatedSalary.percentile90

Number

É o valor de 90% dos salários. Por exemplo, 90% dos salários nessa profissão atingem esse valor ou estão abaixo dele.

industry

Text

É o setor associado ao cargo.

jobBenefits

Text

É a descrição dos benefícios associados ao cargo.

mainEntityOfPage

WebPage

É o principal assunto descrito na página.

mainEntityOfPage.lastReviewed

Date

É a data em que as informações de salários estimados foram produzidas, no formato ISO 8601. Exemplo:

"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}
sampleSize

Number

É o número de pontos de dados que contribuem para os dados salariais agregados. Exemplo:

"sampleSize": 42
yearsExperienceMax

Number

Indica o máximo de anos de experiência aceitável para essa profissão. Por exemplo, um cargo júnior pode especificar um máximo de cinco anos de experiência, como mostrado no exemplo a seguir:

"yearsExperienceMax": 5
yearsExperienceMin

Number

Mostra o mínimo de anos de experiência exigido para essa profissão. Por exemplo, um cargo sênior pode exigir pelo menos 10 anos de experiência, como mostrado no exemplo a seguir:

"yearsExperienceMin": 10

Solução de problemas

Se você tiver problemas para implementar ou depurar dados estruturados, veja alguns recursos que podem ajudar.