Dữ liệu có cấu trúc cho Mức lương ước tính (Occupation
)
Dữ liệu có cấu trúc Occupation
cho phép các nhà cung cấp dữ liệu mức lương ước tính có thể xác định khoảng lương và mức lương trung bình theo khu vực cho các loại việc làm, thông tin liên quan đến công việc như phúc lợi hay các yêu cầu về bằng cấp và học vấn thường thấy. Dữ liệu có cấu trúc OccupationAggregationByEmployer
cho phép các nhà cung cấp dữ liệu mức lương ước tính tổng hợp việc làm theo những yếu tố như mức kinh nghiệm hoặc tổ chức tuyển dụng.
Mức lương ước tính có thể xuất hiện trong thông tin việc làm trên Google Tìm kiếm và dưới dạng kết quả nhiều định dạng về mức lương ước tính cho một việc làm nhất định.
![Thông tin mức lương ước tính trong tin việc làm trên Google Tìm kiếm](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/occupation.png?authuser=5&hl=vi)
Cách thêm dữ liệu có cấu trúc
Dữ liệu có cấu trúc là một định dạng chuẩn để cung cấp thông tin về một trang và phân loại nội dung trên trang. Nếu mới làm quen với dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách thức hoạt động của dữ liệu có cấu trúc.
Sau đây là thông tin tổng quan về cách xây dựng, kiểm tra và phát hành dữ liệu có cấu trúc. Để xem hướng dẫn từng bước về cách thêm dữ liệu có cấu trúc vào một trang web, hãy tham khảo lớp học lập trình về dữ liệu có cấu trúc.
- Thêm các thuộc tính bắt buộc. Tùy theo định dạng bạn đang sử dụng, hãy tìm hiểu nơi chèn dữ liệu có cấu trúc trên trang.
- Tuân theo các nguyên tắc.
- Xác thực mã của bạn bằng công cụ Kiểm tra kết quả nhiều định dạng rồi sửa mọi lỗi nghiêm trọng. Bạn cũng nên cân nhắc việc khắc phục mọi vấn đề không nghiêm trọng có thể bị gắn cờ trong công cụ này, vì những vấn đề này có thể giúp cải thiện chất lượng của dữ liệu có cấu trúc của bạn (tuy nhiên, bạn không nhất thiết thực hiện việc này để nội dung đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng).
- Triển khai một vài trang có chứa dữ liệu có cấu trúc và sử dụng Công cụ kiểm tra URL để kiểm tra xem Google nhìn thấy trang đó như thế nào. Hãy đảm bảo rằng Google có thể truy cập trang của bạn và bạn không chặn trang bằng tệp robots.txt, thẻ
noindex
hoặc yêu cầu đăng nhập. Nếu có vẻ như trang không gặp vấn đề nào, bạn có thể yêu cầu Google thu thập lại dữ liệu các URL của mình. - Để thông báo cho Google về các thay đổi sau này, bạn nên gửi một sơ đồ trang web. Bạn có thể tự động hoá quy trình này bằng Search Console Sitemap API.
Ví dụ
Ví dụ về Occupation
Ví dụ về JSON-LD dưới đây thể hiện một mục Occupation
đơn giản chứa dữ liệu về mức lương ước tính:
<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>
Ví dụ về Occupation Aggregation by Employer
Ví dụ dưới đây về JSON-LD thể hiện một trường hợp phức tạp hơn về mục OccupationAggregationByEmployer
chứa dữ liệu về mức lương ước tính:
<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>
Nguyên tắc
Bạn phải tuân theo nguyên tắc về chất lượng và nguyên tắc về kỹ thuật đối với dữ liệu có cấu trúc nói chung. Ngoài ra, những nguyên tắc sau cũng áp dụng cho dữ liệu có cấu trúc Occupation
:
Nguyên tắc kỹ thuật
- Dữ liệu có cấu trúc
Occupation
là dữ liệu độc lập. Dữ liệu này không cần phải được liên kết với bất kỳ dữ liệu có cấu trúc nào khác mà bạn cung cấp cho Google. - Bạn chỉ cần thêm một
Occupation
hoặcOccupationAggregationByEmployer
duy nhất vào một trang web. Đừng thêm nhiều định nghĩa thuộc loại này trên mỗi trang. - Đảm bảo dữ liệu có cấu trúc của bạn thống nhất với nội dung bạn trình bày trên trang. Dưới đây là một số ví dụ:
- Bạn chỉ hiển thị mức lương trung bình trên trang của mình cho người dùng và dữ liệu có cấu trúc của bạn chỉ bao gồm các giá trị đó.
- Bạn làm tròn mức lương hằng năm đến 5 phần nghìn gần nhất trên trang của bạn và cung cấp con số chi tiết tương tự trong dữ liệu có cấu trúc.
- Chỉ được chỉ định thuộc tính một lần trong mỗi định nghĩa, trừ phi có quy định khác.
- Đối với những việc làm có đặc điểm khác nhau tuỳ theo địa điểm (ví dụ: khoảng lương ở Hà Nội có thể khác với Bình Dương), hãy tạo các trang riêng sao cho mỗi trang có định nghĩa
Occupation
riêng chỉ định mộtoccupationLocation
khác nhau. - Không thêm dữ liệu có cấu trúc mức lương ước tính vào các trang danh sách (các trang hiển thị danh sách việc làm).
- Khi các trang của bạn thay đổi, hãy cập nhật sơ đồ trang web của bạn hằng ngày.
Nguyên tắc về nội dung
- Nhóm các chức danh nghề nghiệp tương tự lại với nhau khi mọi công việc đều có khoảng lương và thông tin mô tả tương tự nhau.
Chức danh nghề nghiệp cần phải cụ thể, nhưng không nên cụ thể đến mức khó hiểu. Dưới đây là một số ví dụ:
- Đừng tạo nhóm quá rộng:
Không nên: "Bác sĩ lâm sàng, nhà tham vấn và nhà tâm lý học đường"
Nên: "Nhà tham vấn học đường", "Bác sĩ tâm lý lâm sàng", "Bác sĩ trị liệu lâm sàng", "Tiến sĩ tâm lý học"
- Đừng tạo nhóm quá cụ thể:
Không nên: "Điều dưỡng viên chăm sóc tại nhà có chứng chỉ", "Điều dưỡng viên có chứng chỉ (RN)" và "RN – Điều dưỡng viên có chứng chỉ – Chăm sóc sức khoẻ tại nhà – Điều dưỡng viên lưu động"
Nên: "Điều dưỡng viên có chứng chỉ"
- Đừng tạo nhóm quá rộng:
Định nghĩa các loại dữ liệu có cấu trúc
Phần này mô tả những loại dữ liệu có cấu trúc liên quan đến mức lương ước tính.
Bạn phải sử dụng các thuộc tính bắt buộc để nội dung của mình đủ điều kiện xuất hiện trong trải nghiệm việc làm trên Google và kết quả nhiều định dạng. Bạn cũng có thể thêm các thuộc tính mà chúng tôi khuyên dùng để bổ sung thông tin về nội dung nhằm mang lại trải nghiệm tốt hơn cho người dùng.
Occupation
Loại Occupation
xác định thông tin về một công việc, chẳng hạn như mức lương ước tính, kỹ năng cần thiết và trách nhiệm. Bạn có thể xem định nghĩa đầy đủ về Occupation
tại schema.org/Occupation.
Sau đây là các thuộc tính được Google hỗ trợ:
Thuộc tính bắt buộc | |
---|---|
estimatedSalary |
Mảng Mức lương ước tính cho công việc này tại Ví dụ dưới đây thể hiện khoảng lương ước tính: "estimatedSalary": [{ "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "minValue": "100000", // Inherited from QuantitativeValue "maxValue": "150000", // Inherited from QuantitativeValue "median": "124900" // Inherited from QuantitativeValueDistribution }] Để tính toán mức lương cơ bản, tiền thưởng và các hình thức thù lao bằng tiền khác, hãy xác định nhiều mức lương trong mảng Sau đây là một ví dụ về tiền thưởng: "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 |
Khoảng thời gian cần thiết để nhận được mức lương ước tính, ở định dạng ngày ISO 8601. Ví dụ: nếu khoảng thời gian làm việc để nhận được mức lương ước tính này là một năm, thì hãy sử dụng thuộc tính |
estimatedSalary.name |
Loại giá trị. Bạn phải chỉ định mức lương cơ sở. Các hình thức thù lao khác là không bắt buộc. Ví dụ: "Cơ sở", "Tiền thưởng", "Tiền hoa hồng". |
name |
Chức danh nghề nghiệp. Thuộc tính này cho phép sử dụng văn bản không có cấu trúc. Ví dụ: "Kỹ sư phần mềm". Các phương pháp hay nhất:
|
occupationLocation |
Địa điểm mà thông tin mô tả công việc này áp dụng. Xác định địa điểm ở cấp thành phố, tiểu bang hoặc quốc gia trong một thuộc tính Ví dụ chi tiết (nên dùng) "occupationLocation": { "@type": "City", // Maximum level of granularity (recommended) "name": "Mountain View, CA, US" // City, State, and Country inputted on same property } Ví dụ ít chi tiết hơn Đây là hai ví dụ ít chi tiết hơn nhưng vẫn được chấp nhận:
"occupationLocation": { "@type": "State", "name": "CA, US" } "occupationLocation": { "@type": "Country", "name": "US" } Các phương pháp hay nhất:
|
Thuộc tính nên có | |
---|---|
description |
Mô tả về việc làm.
Nguyên tắc khác:
|
estimatedSalary.currency |
Mã tiền tệ gồm 3 chữ cái theo chuẩn ISO 4217 cho giá trị. Ví dụ: "USD" hoặc "CAD". |
estimatedSalary.median |
Giá trị trung vị (hoặc "ở giữa"). Ví dụ: một nửa số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile10 |
Giá trị của bách phân vị thứ 10. Ví dụ: 10% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile25 |
Giá trị của bách phân vị thứ 25. Ví dụ: 25% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile75 |
Giá trị của bách phân vị thứ 75. Ví dụ: 75% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile90 |
Giá trị của bách phân vị thứ 90. Ví dụ: 90% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
mainEntityOfPage |
Nội dung chính được mô tả trên trang. |
mainEntityOfPage.lastReviewed |
Ngày đưa ra thông tin về mức lương ước tính, ở định dạng ISO 8601. Ví dụ: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
OccupationAggregationByEmployer
Thuộc tính OccupationAggregationByEmployer
cung cấp dữ liệu liên quan đến việc làm, được nhóm theo nhà tuyển dụng. Ví dụ: bạn có thể chỉ định ngành nghề và tổ chức tuyển dụng cho một nhóm công việc khi những công việc đó được tổng hợp theo nhà tuyển dụng.
Sau đây là các thuộc tính được Google hỗ trợ:
Thuộc tính bắt buộc | |
---|---|
estimatedSalary |
Mảng Mức lương ước tính cho công việc này tại Ví dụ dưới đây thể hiện khoảng lương ước tính: "estimatedSalary": [{ "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "minValue": "100000", // Inherited from QuantitativeValue "maxValue": "150000", // Inherited from QuantitativeValue "median": "124900" // Inherited from QuantitativeValueDistribution }] Để tính toán mức lương cơ bản, tiền thưởng và các hình thức thù lao bằng tiền khác, hãy xác định nhiều mức lương trong mảng Ví dụ về tiền thưởng "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 |
Khoảng thời gian cần thiết để nhận được mức lương ước tính, ở định dạng ngày ISO 8601. Ví dụ: nếu khoảng thời gian làm việc để nhận được mức lương ước tính này là một năm, thì hãy sử dụng thuộc tính |
estimatedSalary.name |
Loại giá trị. Bạn phải chỉ định mức lương cơ sở. Các hình thức thù lao khác là không bắt buộc. Ví dụ: "Cơ sở", "Tiền thưởng", "Tiền hoa hồng". |
hiringOrganization |
Tổ chức đăng tuyển cho một vị trí trong ngành nghề này. Hãy đặt @context thành "https://schema.org/".
"hiringOrganization": { "@context": "https://schema.org/", "@type": "Organization", "name": "Google LLC" } |
name |
Chức danh nghề nghiệp. Thuộc tính này cho phép sử dụng văn bản không có cấu trúc. Ví dụ: "Kỹ sư phần mềm". Các phương pháp hay nhất:
|
occupationLocation |
Địa điểm mà thông tin mô tả công việc này áp dụng. Xác định địa điểm ở cấp thành phố, tiểu bang hoặc quốc gia trong một thuộc tính Ví dụ chi tiết (nên dùng) "occupationLocation": { "@type": "City", // Maximum level of granularity (recommended) "name": "Mountain View, CA, US" // City, State, and Country inputted on same property } Ví dụ ít chi tiết hơn Đây là hai ví dụ ít chi tiết hơn nhưng vẫn được chấp nhận:
"occupationLocation": { "@type": "State", "name": "CA, US" } "occupationLocation": { "@type": "Country", "name": "US" } Các phương pháp hay nhất:
|
Thuộc tính nên có | |
---|---|
description |
Mô tả về việc làm.
Nguyên tắc khác:
|
estimatedSalary.currency |
Mã tiền tệ gồm 3 chữ cái theo chuẩn ISO 4217 cho giá trị. Ví dụ: "USD" hoặc "CAD". |
estimatedSalary.median |
Giá trị trung vị (hoặc "ở giữa"). Ví dụ: một nửa số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile10 |
Giá trị của bách phân vị thứ 10. Ví dụ: 10% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile25 |
Giá trị của bách phân vị thứ 25. Ví dụ: 25% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile75 |
Giá trị của bách phân vị thứ 75. Ví dụ: 75% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
estimatedSalary.percentile90 |
Giá trị của bách phân vị thứ 90. Ví dụ: 90% số việc làm thuộc chức danh này có mức lương bằng hoặc thấp hơn giá trị này. |
industry |
Ngành được liên kết với vị trí tuyển dụng. |
jobBenefits |
Mô tả các phúc lợi đi kèm với việc làm này. |
mainEntityOfPage |
Nội dung chính được mô tả trên trang. |
mainEntityOfPage.lastReviewed |
Ngày đưa ra thông tin về mức lương ước tính, ở định dạng ISO 8601. Ví dụ: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
sampleSize |
Số lượng điểm dữ liệu trong dữ liệu tổng hợp về tiền lương. Ví dụ: "sampleSize": 42 |
yearsExperienceMax |
Số năm kinh nghiệm tối đa được chấp nhận cho việc làm này. Ví dụ: bạn có thể yêu cầu tối đa 5 năm kinh nghiệm cho vị trí cấp thấp, như trong ví dụ dưới đây: "yearsExperienceMax": 5 |
yearsExperienceMin |
Số năm kinh nghiệm tối thiểu cần thiết cho việc làm này. Ví dụ: bạn có thể yêu cầu ít nhất 10 năm kinh nghiệm cho vị trí cấp cao, như trong ví dụ dưới đây: "yearsExperienceMin": 10 |
Khắc phục sự cố
Nếu gặp sự cố khi triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, thì bạn có thể tham khảo một số tài nguyên trợ giúp sau đây.
- Nếu bạn đang sử dụng một hệ thống quản lý nội dung (CMS) hoặc có ai đó đang quản lý trang web của bạn, hãy đề nghị họ trợ giúp. Đừng quên chuyển tiếp mọi thông báo trong Search Console để nêu rõ vấn đề cho họ.
- Google không đảm bảo rằng các tính năng sử dụng dữ liệu có cấu trúc sẽ xuất hiện trong kết quả tìm kiếm. Để xem danh sách các lý do phổ biến khiến Google không thể hiển thị nội dung của bạn trong kết quả nhiều định dạng, hãy xem Nguyên tắc chung về dữ liệu có cấu trúc.
- Có thể có lỗi trong dữ liệu có cấu trúc của bạn. Xem danh sách các lỗi liên quan đến dữ liệu có cấu trúc.
- Nếu bị áp dụng biện pháp thủ công, thì dữ liệu có cấu trúc trên trang sẽ bị bỏ qua (mặc dù trang vẫn có thể xuất hiện trong các kết quả trên Google Tìm kiếm). Để khắc phục các vấn đề về dữ liệu có cấu trúc, hãy sử dụng báo cáo Biện pháp thủ công.
- Xem lại các nguyên tắc để xác định xem nội dung của bạn có tuân thủ nguyên tắc hay không. Nguyên nhân gây lỗi có thể là do bạn sử dụng nội dung không hợp lệ hoặc thẻ đánh dấu không hợp lệ. Tuy nhiên, vấn đề có thể không phải là lỗi cú pháp và do đó, Công cụ kiểm tra kết quả nhiều định dạng sẽ không thể xác định được những vấn đề như vậy.
- Khắc phục sự cố thiếu kết quả nhiều định dạng/giảm tổng số kết quả nhiều định dạng
- Hãy dành một chút thời gian để Google thu thập dữ liệu và lập chỉ mục lại. Xin lưu ý rằng có thể mất nhiều ngày sau khi bạn xuất bản một trang thì Google mới tìm được và thu thập dữ liệu trên trang đó. Đối với các câu hỏi chung về hoạt động thu thập dữ liệu và lập chỉ mục, hãy tham khảo nội dung Câu hỏi thường gặp về việc thu thập dữ liệu và lập chỉ mục trên Google Tìm kiếm.
- Đăng câu hỏi trong diễn đàn của Trung tâm Google Tìm kiếm.