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](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/occupation.png?authuser=3&hl=es-419)
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.
- 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.
- Sigue los lineamientos.
- 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).
- 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. - 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
oOccupationAggregationByEmployer
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 deoccupationLocation
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"
- 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 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 Es el salario estimado para esta profesión en la 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 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 |
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 |
estimatedSalary.name |
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 |
Es el título de la profesión. Esta propiedad permite texto no estructurado. Por ejemplo, "Ingeniero de software". Prácticas recomendadas:
|
occupationLocation |
Array de 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 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:
|
Propiedades recomendadas | |
---|---|
description |
Es la descripción de la profesión. La Lineamientos adicionales:
|
estimatedSalary.currency |
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 |
Es el valor medio. Por ejemplo, la mitad de los salarios para esta profesión son iguales o inferiores a este valor. |
estimatedSalary.percentile10 |
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 |
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 |
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 |
Es el 90° valor percentil. Por ejemplo, el 90% de los salarios de esta profesión son iguales o inferiores a este valor. |
mainEntityOfPage |
Es lo principal que se describe en la página. |
mainEntityOfPage.lastReviewed |
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 Es el salario estimado para esta profesión en la 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 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 |
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 |
estimatedSalary.name |
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 |
Es la organización que ofrece un puesto para esta profesión. Establece @context como "https://schema.org/".
El objeto "hiringOrganization": { "@context": "https://schema.org/", "@type": "Organization", "name": "Google LLC" } |
name |
Es el título de la profesión. Esta propiedad permite texto no estructurado. Por ejemplo, "Ingeniero de software". Prácticas recomendadas:
|
occupationLocation |
Array de 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 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:
|
Propiedades recomendadas | |
---|---|
description |
Es la descripción de la profesión. La Lineamientos adicionales:
|
estimatedSalary.currency |
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 |
Es el valor medio. Por ejemplo, la mitad de los salarios para esta profesión son iguales o inferiores a este valor. |
estimatedSalary.percentile10 |
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 |
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 |
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 |
Es el 90° valor percentil. Por ejemplo, el 90% de los salarios de esta profesión son iguales o inferiores a este valor. |
industry |
Es la industria que está asociada con el puesto de trabajo. |
jobBenefits |
Es la descripción de los beneficios asociados con el trabajo. |
mainEntityOfPage |
Es lo principal que se describe en la página. |
mainEntityOfPage.lastReviewed |
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 |
Es el número de datos que contribuyen a los datos salariales agregados. Por ejemplo: "sampleSize": 42 |
yearsExperienceMax |
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 |
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.
- Si usas un sistema de administración de contenido (CMS), o si alguien más se encarga de tu sitio, pídele que te ayude. Asegúrate de reenviarle cualquier mensaje de Search Console que detalle el problema.
- Google no garantiza que se muestren en los resultados de la búsqueda las funciones que consumen datos estructurados. Para obtener una lista de los motivos comunes por los que Google podría no mostrar tu contenido en un resultado enriquecido, consulta los Lineamientos generales de datos estructurados.
- Es posible que haya un error en los datos estructurados. Consulta la lista de errores de datos estructurados.
- Si recibiste una acción manual de datos estructurados en tu página, estos datos se ignorarán (aunque la página puede seguir apareciendo en los resultados de la Búsqueda de Google). Para solucionar los problemas con datos estructurados, usa el Informe de acciones manuales.
- Vuelve a consultar los lineamientos para determinar si tu contenido no cumple con ellos. El problema puede deberse a contenido generador de spam o a un uso fraudulento del lenguaje de marcado. Sin embargo, es posible que no sea un problema de sintaxis, por lo que la prueba de resultados enriquecidos no podrá identificar estos problemas.
- Soluciona problemas de resultados enriquecidos faltantes o disminución del total de resultados enriquecidos.
- Espera un tiempo suficiente para que se vuelvan a realizar el rastreo y la indexación. No olvides que pueden transcurrir varios días después de publicar una página para que Google la encuentre y la rastree. Si tienes preguntas generales sobre el rastreo y la indexación, consulta las Preguntas frecuentes sobre el rastreo y la indexación de la Búsqueda de Google.
- Publica una pregunta en el foro de la Central de la Búsqueda de Google.