Datos estructurados de salario estimado (Occupation)

Los datos estructurados de Occupation permiten a los proveedores de estimaciones de salario definir los rangos y promedios de salario según la región para tipos de empleos, detalles sobre la profesión (como los beneficios típicos), las habilidades y los requisitos educativos. Los datos estructurados de OccupationAggregationByEmployer permiten a los proveedores de estimaciones de salario agregar profesiones en función de factores, como organizaciones de contratación o niveles de experiencia.

Los salarios estimados pueden aparecer en la experiencia laboral, en la Búsqueda de Google, y como resultados enriquecidos de estimaciones de salario para una profesión específica.

Información sobre salarios estimados en la experiencia laboral de la Búsqueda de Google

Cómo agregar datos estructurados

Los datos estructurados son un formato estandarizado para proporcionar información sobre una página y clasificar su contenido. Si aún no estás familiarizado con los datos estructurados, obtén más información sobre su funcionamiento.

A continuación, presentamos una descripción general para aprender a compilar, probar y actualizar datos estructurados.

  1. Agrega las propiedades obligatorias. Según el formato que uses, obtén información sobre las ubicaciones donde puedes insertar datos estructurados en la página.
  2. Sigue los lineamientos.
  3. Valida tu código con la Prueba de resultados enriquecidos y corrige cualquier error crítico. Procura también corregir los problemas no críticos que puedan marcarse en la herramienta, ya que pueden ayudar a mejorar la calidad de los datos estructurados (sin embargo, esto no es necesario para que se muestren los resultados enriquecidos).
  4. Implementa algunas páginas que incluyan tus datos estructurados y utiliza la Herramienta de inspección de URLs para probar el modo en el que Google ve la página. Asegúrate de que Google pueda acceder a la página y que no esté bloqueada por un archivo robots.txt, una etiqueta noindex ni requisitos de acceso. Si la página se ve bien, puedes pedirle a Google que vuelva a rastrear tus URLs.
  5. Para mantener informado a Google sobre los cambios futuros, te recomendamos que envíes un mapa del sitio. Puedes automatizar este proceso con la API de Search Console Sitemap.

Ejemplos

Ejemplo de Occupation

El siguiente ejemplo de JSON-LD muestra un objeto Occupation simple con datos de estimaciones de salarios:


<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>

Ejemplo de Occupation Aggregation by Employer

El siguiente ejemplo JSON-LD muestra un ejemplo más complejo de OccupationAggregationByEmployer con datos de estimación de salario:

<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>

Lineamientos

Debes seguir los lineamientos de calidad de datos estructurados generales y los lineamientos técnicos. Además, se aplican los siguientes lineamientos a los datos estructurados de Occupation:

Lineamientos técnicos

  • Los datos estructurados de Occupation son datos independientes. No es necesario que estén asociados con ningún otro dato estructurado que proporciones a Google.
  • Agrega un solo valor de Occupation o OccupationAggregationByEmployer a una página web. No agregues más de uno de esos tipos de definiciones por página.
  • Asegúrate de que los datos estructurados sean coherentes con lo que muestras en la página. Estos son algunos ejemplos:
    • Solo muestras a los usuarios el salario medio en tu página web, y los datos estructurados solo incluyen esos valores.
    • Redondeas tu salario anual al cinco mil más cercano de la página y proporcionas el mismo nivel de detalle en los datos estructurados.
  • Especifica propiedades solo una vez en una definición, a menos que se indique lo contrario.
  • Para profesiones con diferentes características basadas en la ubicación (por ejemplo, el rango salarial del Noreste de EE.UU. podría ser diferente al de la zona del Medio Oeste), crea páginas web separadas, cada una con su propia definición de Occupation que especifique un valor de occupationLocation diferente.
  • No agregues datos estructurados de estimativos de salarios a páginas de fichas (páginas que muestran una lista de profesiones).
  • Cuando tu página cambie, actualiza el mapa del sitio diariamente.

Lineamientos de contenido

  • Agrupa nombres de profesiones parecidos cuando todos los empleos tengan rangos de salario y descripciones similares. Los títulos de las profesiones deben ser específicos, pero no demasiado como para confundir al usuario. Estos son algunos ejemplos:
    • No seas demasiado general:

      No se recomienda: "Psicólogos clínicos, escolares y de asesoramiento"

      Se recomienda: "Asesor escolar", "Psicólogo clínico", "Terapeuta clínico", "Doctor en psicología"

    • No seas demasiado específico:

      No se recomienda: "Enfermero registrado para el cuidado en el hogar", "Enfermero registrado" y "Enfermero registrado - Cuidado en el hogar - Enfermero para viajes"

      Se recomienda: "Enfermero registrado"

Definiciones de tipos de datos estructurados

En esta sección, se describen los tipos de datos estructurados relacionados con las estimaciones de salarios.

Debes incluir las propiedades obligatorias a fin de que tu contenido sea apto para aparecer como experiencia laboral en Google y resultados enriquecidos. También puedes incluir las propiedades recomendadas para agregar más información sobre tu contenido, lo que podría brindar una mejor experiencia del usuario.

Occupation

El tipo Occupation define información sobre un empleo, como el salario estimado, las habilidades necesarias y las responsabilidades. La definición completa de Occupation está disponible en schema.org/Occupation.

Las propiedades compatibles con Google son las siguientes:

Propiedades obligatorias
estimatedSalary

Array de MonetaryAmountDistribution

Es el salario estimado para esta profesión en la occupationLocation determinada. Especifica un rango salarial o estimaciones de salarios en función de la clasificación del percentil.

En el siguiente ejemplo, se muestra un rango salarial estimado:

"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 incluir el sueldo base, las bonificaciones y otras formas de compensación monetaria, define varios sueldos con el array de estimatedSalary. Debes especificar el salario base. Los otros tipos de compensación son opcionales.

A continuación, se presenta un ejemplo con un adicional:

"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

Corresponde al período que lleva obtener el sueldo estimado en el formato de fecha ISO 8601. Por ejemplo, si el sueldo estimado se obtiene en el transcurso de un año, usa P1Y para duration.

estimatedSalary.name

Text

Es el tipo de valor. Debes especificar el salario base. Los otros tipos de compensación son opcionales. Por ejemplo, "Base", "Bonos", "Comisión".

name

Text

Es el título de la profesión. Esta propiedad permite texto no estructurado. Por ejemplo, "Ingeniero de software".

Prácticas recomendadas:

  • La propiedad solo debe corresponder al nombre de la profesión.
  • No incluyas códigos, direcciones, fechas, sueldos ni nombres de empresas relacionados con el puesto en la propiedad name.

    No se recomienda: "Oferta de empleo para puesto en TI: hablante de FRANCÉS en Bucarest"

    Se recomienda: "Especialista en marketing que hable francés"

  • Brinda títulos concisos y legibles.
  • No uses demasiados caracteres especiales, como ! y *. El uso excesivo de estos puede provocar que se considere que el lenguaje de marcado estructurado contiene spam. Se aceptan números y caracteres, como / y -.

    No se recomienda: "*** ¡DEPÓSITO BUSCA EMPLEADO!" ¡EN UNA RUTA DE AUTOBÚS! ***

    Se recomienda: Empleado de depósito para envíos y recepción

occupationLocation

Array de City, State o Country

Es el lugar donde se aplica la descripción del puesto. Si se especifica para una sola ubicación, define la ubicación a nivel de ciudad, estado o país en la propiedad Name.

Ejemplo detallado (recomendado)

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

Ejemplos menos detallados

Aquí hay dos ejemplos con menos detalles que siguen siendo aceptables:

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

Prácticas recomendadas:

  • La ubicación no debe especificar más que la ciudad.
  • La propiedad State acepta nombres de región si tu país no especifica un estado.
  • El valor de occupationLocation es la ubicación en la que se lleva a cabo la profesión, no la ubicación en la que se creó la ficha de estimación de salario.
  • Si un solo tipo de Occupation tiene varias ubicaciones, especifícalas en el array occupationLocation, como se muestra en el siguiente ejemplo.
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • Los datos como los rangos salariales, los requisitos de formación y las calificaciones para la profesión suelen variar en función de la ubicación. Para representarlo, define varias páginas, cada una con su propia definición de Occupation y un objeto occupationLocation diferente.
Propiedades recomendadas
description

Text

Es la descripción de la profesión.

La description debe representar al empleo de manera completa; es decir, debe describir las responsabilidades del puesto, las calificaciones, las habilidades, el horario laboral, los requisitos de formación y la experiencia necesaria.

Lineamientos adicionales:

  • Incluye la description en todas las páginas secundarias a las que el usuario podría llegar, no solo en la página del nivel principal.
  • La description debe identificar de manera única la profesión y proporcionar una descripción específica de lo que implica.

    No se recomienda: "Pasantía: Una pasantía es una capacitación laboral para carreras administrativas y profesionales".

    Se recomienda: "Pasante de análisis de datos: Pasantía en la que se trabajará con un analista de datos. Un analista de datos extrae estadísticas a partir de datos para ayudar a tomar decisiones estratégicas en función de ellos".

  • El valor de description no puede ser igual al de name.
  • No incluyas la organización de contratación en el valor description. En cambio, usa hiringOrganization.
estimatedSalary.currency

Text

Es el código de moneda en formato de la norma ISO 4217 de 3 letras para el valor. Por ejemplo, "USD" o "CAD".

estimatedSalary.median

Number

Es el valor medio. Por ejemplo, la mitad de los salarios para esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile10

Number

Es el 10° valor percentil. Por ejemplo, el 10% de los salarios de esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile25

Number

Es el 25° valor percentil. Por ejemplo, el 25% de los salarios de esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile75

Number

Es el 75° valor percentil. Por ejemplo, el 75% de los salarios de esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile90

Number

Es el 90° valor percentil. Por ejemplo, el 90% de los salarios de esta profesión son iguales o inferiores a este valor.

mainEntityOfPage

WebPage

Es lo principal que se describe en la página.

mainEntityOfPage.lastReviewed

Date

Es la fecha en la que se produjo la información del salario estimado en formato ISO 8601. Por ejemplo:

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

OccupationAggregationByEmployer

OccupationAggregationByEmployer proporciona datos relacionados con el trabajo que se agrupan por empleador. Por ejemplo, puedes especificar la industria y la organización de contratación para un grupo de profesiones que el empleador agrega.

Las propiedades compatibles con Google son las siguientes:

Propiedades obligatorias
estimatedSalary

Array de MonetaryAmountDistribution

Es el salario estimado para esta profesión en la occupationLocation determinada. Especifica un rango salarial o estimaciones de salarios en función de la clasificación del percentil.

En el siguiente ejemplo, se muestra un rango salarial estimado:

"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 incluir el sueldo base, las bonificaciones y otras formas de compensación monetaria, define varios sueldos con el array de estimatedSalary. Debes especificar el salario base. Los otros tipos de compensación son opcionales.

Ejemplo con un adicional

"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

Corresponde al período que lleva obtener el sueldo estimado en el formato de fecha ISO 8601. Por ejemplo, si el sueldo estimado se obtiene en el transcurso de un año, usa P1Y para duration.

estimatedSalary.name

Text

Es el tipo de valor. Debes especificar el salario base. Los otros tipos de compensación son opcionales. Por ejemplo, "Base", "Bonos", "Comisión".

hiringOrganization

Organization

Es la organización que ofrece un puesto para esta profesión. Establece @context como "https://schema.org/". El objeto hiringOrganization debe ser el nombre de la empresa (por ejemplo, "Starbucks, Inc"), pero no la ubicación específica en la que se hace la contratación (como "Starbucks de Main Street"). Por ejemplo:

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

name

Text

Es el título de la profesión. Esta propiedad permite texto no estructurado. Por ejemplo, "Ingeniero de software".

Prácticas recomendadas:

  • La propiedad solo debe corresponder al nombre de la profesión.
  • No incluyas códigos, direcciones, fechas, sueldos ni nombres de empresas relacionados con el puesto en la propiedad name.

    No se recomienda: "Oferta de empleo para puesto en TI: hablante de FRANCÉS en Bucarest"

    Se recomienda: "Especialista en marketing que hable francés"

  • Brinda títulos concisos y legibles.
  • No uses demasiados caracteres especiales, como ! y *. El uso excesivo de estos puede provocar que se considere que el lenguaje de marcado estructurado contiene spam. Se aceptan números y caracteres, como "/" y "-".

    No se recomienda: "*** ¡DEPÓSITO BUSCA EMPLEADO!" ¡EN UNA RUTA DE AUTOBÚS! ***

    Se recomienda: Empleado de depósito para envíos y recepción

occupationLocation

Array de City, State o Country

Es el lugar donde se aplica la descripción del puesto. Si se especifica para una sola ubicación, define la ubicación a nivel de ciudad, estado o país en la propiedad Name.

Ejemplo detallado (recomendado)

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

Ejemplos menos detallados

Aquí hay dos ejemplos con menos detalles que siguen siendo aceptables:

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

Prácticas recomendadas:

  • La ubicación no debe especificar más que la ciudad.
  • La propiedad State acepta nombres de región si tu país no especifica un estado.
  • El valor de occupationLocation es la ubicación en la que se lleva a cabo la profesión, no la ubicación en la que se creó la ficha de estimación de salario.
  • Si un solo tipo de Occupation tiene varias ubicaciones, especifícalas en el array occupationLocation, como se muestra en el siguiente ejemplo.
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • Los datos como los rangos salariales, los requisitos de formación y las calificaciones para la profesión suelen variar en función de la ubicación. Para representarlo, define varias páginas, cada una con su propia definición de Occupation y un objeto occupationLocation diferente.
Propiedades recomendadas
description

Text

Es la descripción de la profesión.

La description debe representar al empleo de manera completa; es decir, debe describir las responsabilidades del puesto, las calificaciones, las habilidades, el horario laboral, los requisitos de formación y la experiencia necesaria.

Lineamientos adicionales:

  • Incluye la description en todas las páginas secundarias a las que el usuario podría llegar, no solo en la página del nivel principal.
  • La description debe identificar de manera única la profesión y proporcionar una descripción específica de lo que implica.

    No se recomienda: "Pasantía: Una pasantía es una capacitación laboral para carreras administrativas y profesionales".

    Se recomienda: "Pasante de análisis de datos: Pasantía en la que se trabajará con un analista de datos. Un analista de datos extrae estadísticas a partir de datos para ayudar a tomar decisiones estratégicas en función de ellos".

  • El valor de description no puede ser igual al de name.
  • No incluyas la organización de contratación en el valor description. En cambio, usa hiringOrganization.
estimatedSalary.currency

Text

Es el código de moneda en formato de la norma ISO 4217 de 3 letras para el valor. Por ejemplo, "USD" o "CAD".

estimatedSalary.median

Number

Es el valor medio. Por ejemplo, la mitad de los salarios para esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile10

Number

Es el 10° valor percentil. Por ejemplo, el 10% de los salarios de esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile25

Number

Es el 25° valor percentil. Por ejemplo, el 25% de los salarios de esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile75

Number

Es el 75° valor percentil. Por ejemplo, el 75% de los salarios de esta profesión son iguales o inferiores a este valor.

estimatedSalary.percentile90

Number

Es el 90° valor percentil. Por ejemplo, el 90% de los salarios de esta profesión son iguales o inferiores a este valor.

industry

Text

Es la industria que está asociada con el puesto de trabajo.

jobBenefits

Text

Es la descripción de los beneficios asociados con el trabajo.

mainEntityOfPage

WebPage

Es lo principal que se describe en la página.

mainEntityOfPage.lastReviewed

Date

Es la fecha en la que se produjo la información del salario estimado en formato ISO 8601. Por ejemplo:

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

Number

Es el número de datos que contribuyen a los datos salariales agregados. Por ejemplo:

"sampleSize": 42
yearsExperienceMax

Number

Es la cantidad máxima de años de experiencia que son aceptables para esta profesión. Por ejemplo, un puesto de principiante podría especificar una cantidad máxima de 5 años de experiencia, como se muestra en el siguiente ejemplo:

"yearsExperienceMax": 5
yearsExperienceMin

Number

Es la cantidad mínima de años de experiencia requerida para esta profesión. Por ejemplo, un puesto sénior podría requerir al menos 10 años de experiencia, como se muestra en el siguiente ejemplo:

"yearsExperienceMin": 10

Solución de problemas

Si tienes problemas para implementar o depurar datos estructurados, te brindamos algunos recursos que podrían resultarte útiles.