Datos estructurados de salario estimado (Occupation
)
Los datos estructurados Occupation
permiten que los proveedores de estimaciones salariales definan rangos y promedios salariales según la región para diferentes tipos de trabajo y detalles sobre el puesto como prestaciones habituales, calificaciones y requisitos educativos. Los datos estructurados OccupationAggregationByEmployer
permiten que los proveedores de estimaciones salariales agreguen puestos de trabajo por factores tales como los niveles de experiencia o el proceso de contratación.
Pueden aparecer salarios estimados en la experiencia de empleos de la Búsqueda de Google y como resultado enriquecido de la estimación salarial de un tipo de trabajo en particular.
![Información salarial estimada en la experiencia de empleos de la Búsqueda de Google](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/occupation.png?authuser=9&hl=es)
Cómo añadir datos estructurados
Los datos estructurados son un formato estandarizado con el que se puede proporcionar información sobre una página y clasificar su contenido. Consulta cómo funcionan los datos estructurados si aún no te has familiarizado con ellos.
A continuación se explica a grandes rasgos cómo crear, probar y publicar datos estructurados. Si necesitas una guía detallada para añadir datos estructurados a una página web, consulta el codelab de datos estructurados.
- Añade las propiedades obligatorias. Consulta más información sobre dónde insertar datos estructurados en una página en función del formato que estés utilizando.
- Sigue las directrices.
- Valida tu código con la prueba de resultados enriquecidos y corrige los errores críticos. Te recomendamos que también corrijas 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).
- Crea varias páginas que incluyan tus datos estructurados y comprueba cómo las ve Google con la herramienta de inspección de URLs. Asegúrate de que Google pueda acceder a tu página y de que no esté bloqueada por un archivo robots.txt, por la etiqueta
noindex
ni por requisitos de inicio de sesión. Si la página se ve bien, puedes solicitar que Google vuelva a rastrear tus URLs. - Para que Google siempre tenga la versión actualizada de tus páginas, te recomendamos que envíes un sitemap. Puedes automatizar este envío con la API Sitemap de Search Console.
Ejemplos
Ejemplo de Occupation
En el siguiente ejemplo de JSON-LD se muestra un elemento Occupation
simple con datos de salario estimado:
<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 OccupationAggregationByEmployer
En el siguiente ejemplo de JSON-LD se muestra un ejemplo más complejo de OccupationAggregationByEmployer
con datos de salario estimado:
<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>
Directrices
Debes seguir las directrices de calidad y las directrices técnicas generales de datos estructurados. Además, las siguientes directrices se aplican a datos estructurados Occupation
:
Directrices técnicas
- Los datos estructurados de
Occupation
son datos independientes. No hace falta que estén asociados con ningún otro dato estructurado que proporciones a Google. - Añade solo uno de los tipos
Occupation
oOccupationAggregationByEmployer
a una página web. No incluyas más de una de esas definiciones de tipo por página. - Asegúrate de que tus datos estructurados coinciden con lo que aparece en la página. A continuación, tienes algunos ejemplos:
- En tu página solo muestras a los usuarios el salario mediano, y tus datos estructurados solo incluyen esos valores.
- En tu página redondeas el salario anual al múltiplo de 5000 más cercano y ofreces el mismo grado de detalle en los datos estructurados.
- Especifica las propiedades solo una vez por definición, salvo que se indique lo contrario.
- Para puestos de trabajo que tengan diferentes características según la ubicación (por ejemplo, el rango de salarios en el noreste de EE. UU. puede ser distinto al del Medio Oeste), crea una página web independiente, cada una con su propia definición de
Occupation
, que especifique un elementooccupationLocation
diferente. - No añadas datos estructurados de estimación de salario a las páginas en las que se muestra una relación de puestos de trabajo.
- Cuando cambies las páginas, actualiza tus sitemaps diariamente.
Directrices de contenido
- Agrupa empleos similares cuando todos los trabajos tengan rangos salariales y descripciones similares.
Los nombres de los puestos de trabajo deben ser específicos, pero no hasta el punto de que resulten confusos. A continuación, se muestran algunos ejemplos:
- No seas demasiado general:
No recomendado: "Psicólogos clínicos, escolares y psicoterapeutas"
Recomendado: "Psicólogo escolar", "Psicólogo clínico", "Terapeuta clínico" y "Doctor en Psicología"
- No seas demasiado específico:
No recomendado: "Enfermero titulado a domicilio", "Enfermero titulado (ET)" ni "ET: Enfermero titulado, atención a domicilio"
Recomendado: "Enfermero titulado"
- No seas demasiado general:
Definiciones de tipos de datos estructurados
En esta sección se describen los tipos de datos estructurados relacionados con las estimaciones salariales.
Para que tu contenido pueda mostrarse en la experiencia de empleos de Google y como resultado enriquecido, debes incluir las propiedades obligatorias. Si quieres, puedes especificar también las propiedades recomendadas para proporcionar más información sobre tu contenido y, así, ofrecer una mejor experiencia a tus usuarios.
Occupation
El tipo Occupation
sirve para definir información sobre un trabajo, como el salario estimado, las habilidades necesarias y las responsabilidades. Puedes consultar la definición completa de Occupation
en schema.org/Occupation.
Las propiedades que admite Google son las siguientes:
Propiedades obligatorias | |
---|---|
estimatedSalary |
Matriz de Indica el salario estimado de un puesto de trabajo en el elemento En el siguiente ejemplo se muestra un rango de salario 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 tener en cuenta el salario base, las bonificaciones y otras formas de compensación monetaria, define varios salarios en la matriz Este es un ejemplo de bonificación: "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 |
Periodo, expresado en el formato de fecha ISO 8601, que se tarda en conseguir el sueldo estimado. Por ejemplo, si ese sueldo se gana a lo largo de un año, indica el valor |
estimatedSalary.name |
Indica el tipo de valor. Es obligatorio indicar el salario base. Si quieres, puedes incluir otros tipos de compensación. Por ejemplo, "Base", "Bonificación" y "Comisión". |
name |
Es el nombre de un empleo. En esta propiedad se puede escribir texto no estructurado. Por ejemplo, "Ingeniero de software". Prácticas recomendadas:
|
occupationLocation |
Matriz de Indica el lugar donde se encuentra este puesto de trabajo. Define esta ubicación a nivel de ciudad, estado o país en la propiedad Ejemplo más detallado (opción recomendada) "occupationLocation": { "@type": "City", // Maximum level of granularity (recommended) "name": "Mountain View, CA, US" // City, State, and Country inputted on same property } Ejemplos menos detallados A continuación se incluyen dos ejemplos menos detallados, pero que siguen siendo aceptables:
"occupationLocation": { "@type": "State", "name": "CA, US" } "occupationLocation": { "@type": "Country", "name": "US" } Prácticas recomendadas:
|
Propiedades recomendadas | |
---|---|
description |
La descripción del puesto de trabajo. En Directrices adicionales:
|
estimatedSalary.currency |
Indica el código de moneda ISO 4217 de 3 letras del valor. Por ejemplo, "USD" o "CAD". |
estimatedSalary.median |
Indica el valor del percentil 50 (o "mediana"). Es decir, la mitad de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile10 |
Indica el valor del percentil 10. Es decir, el 10 % de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile25 |
El valor del percentil 25. Es decir, el 25 % de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile75 |
El valor del percentil 75. Es decir, el 75 % de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile90 |
El valor del percentil 90. Es decir, el 90 % de los salarios de esta profesión son iguales o inferiores a este valor. |
mainEntityOfPage |
Es el elemento principal que se describe en la página. |
mainEntityOfPage.lastReviewed |
Indica la fecha en que se produjo la información sobre el salario estimado, expresada en el formato ISO 8601. Por ejemplo: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
OccupationAggregationByEmployer
El tipo OccupationAggregationByEmployer
proporciona datos relacionados con el trabajo agrupados por empresa. Por ejemplo, puedes indicar el sector y la organización al cargo de un grupo de profesiones si la empresa los agrega.
Las propiedades que admite Google son las siguientes:
Propiedades obligatorias | |
---|---|
estimatedSalary |
Matriz de Indica el salario estimado de un puesto de trabajo en el elemento En el siguiente ejemplo se muestra un rango de salario 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 tener en cuenta el salario base, las bonificaciones y otras formas de compensación monetaria, define varios salarios en la matriz Ejemplo con una bonificación "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 |
Periodo, expresado en el formato de fecha ISO 8601, que se tarda en conseguir el sueldo estimado. Por ejemplo, si ese sueldo se gana a lo largo de un año, indica el valor |
estimatedSalary.name |
Indica el tipo de valor. Es obligatorio indicar el salario base. Si quieres, puedes incluir otros tipos de compensación. Por ejemplo, "Base", "Bonificación" y "Comisión". |
hiringOrganization |
La organización que ofrece un puesto de trabajo. Da el valor "https://schema.org/" al atributo @context.
"hiringOrganization": { "@context": "https://schema.org/", "@type": "Organization", "name": "Google LLC" } |
name |
Es el nombre de un empleo. En esta propiedad se puede escribir texto no estructurado. Por ejemplo, "Ingeniero de software". Prácticas recomendadas:
|
occupationLocation |
Matriz de Indica el lugar donde se encuentra este puesto de trabajo. Define esta ubicación a nivel de ciudad, estado o país en la propiedad Ejemplo más detallado (opción recomendada) "occupationLocation": { "@type": "City", // Maximum level of granularity (recommended) "name": "Mountain View, CA, US" // City, State, and Country inputted on same property } Ejemplos menos detallados A continuación se incluyen dos ejemplos menos detallados, pero que siguen siendo aceptables:
"occupationLocation": { "@type": "State", "name": "CA, US" } "occupationLocation": { "@type": "Country", "name": "US" } Prácticas recomendadas:
|
Propiedades recomendadas | |
---|---|
description |
La descripción del puesto de trabajo. En Directrices adicionales:
|
estimatedSalary.currency |
Indica el código de moneda ISO 4217 de 3 letras del valor. Por ejemplo, "USD" o "CAD". |
estimatedSalary.median |
Indica el valor del percentil 50 (o "mediana"). Es decir, la mitad de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile10 |
Indica el valor del percentil 10. Es decir, el 10 % de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile25 |
El valor del percentil 25. Es decir, el 25 % de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile75 |
El valor del percentil 75. Es decir, el 75 % de los salarios de este puesto de trabajo son iguales o inferiores a este valor. |
estimatedSalary.percentile90 |
El valor del percentil 90. Es decir, el 90 % de los salarios de esta profesión son iguales o inferiores a este valor. |
industry |
Indica el sector asociado al puesto de trabajo. |
jobBenefits |
Es la descripción de las ventajas asociadas al puesto de trabajo. |
mainEntityOfPage |
Es el elemento principal que se describe en la página. |
mainEntityOfPage.lastReviewed |
Indica la fecha en que se produjo la información sobre el salario estimado, expresada en el formato ISO 8601. Por ejemplo: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
sampleSize |
Indica el número de datos que contribuyen a los datos salariales agregados. Por ejemplo: "sampleSize": 42 |
yearsExperienceMax |
Los años máximos de experiencia que son aceptables para este puesto de trabajo. Por ejemplo, un puesto junior podría especificar un máximo de 5 años de experiencia, como se muestra en el siguiente ejemplo: "yearsExperienceMax": 5 |
yearsExperienceMin |
La cantidad mínima de años de experiencia requerida para este puesto de trabajo. Por ejemplo, un puesto de alto nivel puede requerir al menos 10 años de experiencia, como se muestra en el siguiente ejemplo: "yearsExperienceMin": 10 |
Solucionar problemas
Si tienes problemas para implementar o depurar datos estructurados, a continuación se incluyen algunos recursos que pueden serte útiles.
- Si usas un sistema de gestión de contenido (CMS) o alguien se encarga de gestionar tu sitio, pídele ayuda. No olvides reenviarle cualquier mensaje de Search Console que incluya información sobre el problema en cuestión.
- Google no garantiza que las funciones que utilizan datos estructurados aparezcan en los resultados de búsqueda. Para ver una lista con motivos habituales por los que Google no muestra tu contenido en resultados enriquecidos, consulta las directrices generales de datos estructurados.
- Es posible que haya un error en tus datos estructurados. Consulta la lista de errores de datos estructurados.
- Si se ha aplicado una acción manual de datos estructurados a tu página, se ignorarán sus datos estructurados, aunque la página puede seguir apareciendo en los resultados de la Búsqueda de Google. Para corregir problemas de datos estructurados, usa el informe "Acciones manuales".
- Revisa las directrices para comprobar si tu contenido no las cumple. El problema podría deberse a que la página incluye contenido engañoso o etiquetas con contenido fraudulento. No obstante, es posible que el problema no se deba a la sintaxis, por lo que la prueba de resultados enriquecidos no podrá ayudarte a identificarlo.
- Soluciona problemas si faltan resultados enriquecidos o si se ha reducido su número total.
- Dale tiempo a Google para que vuelva a rastrear e indexar tu página. Recuerda que Google puede tardar varios días en encontrar y rastrear una página después de publicarse. Consulta las preguntas frecuentes sobre el rastreo y la indexación de la Búsqueda de Google.
- Publica una pregunta en el foro del Centro de la Búsqueda de Google.