Dữ liệu có cấu trúc cho mức lương ước tính: Hướng dẫn chi tiết và cách triển khai

Dữ liệu có cấu trúc đóng vai trò quan trọng trong việc tối ưu hóa nội dung trang web để hiển thị nổi bật trên các công cụ tìm kiếm. Đặc biệt, với thông tin về mức lương ước tính, việc sử dụng dữ liệu có cấu trúc không chỉ giúp cung cấp thông tin chính xác mà còn cải thiện khả năng hiển thị của nội dung trên Google Tìm kiếm. Trong bài viết này, chúng ta sẽ đi sâu vào cách triển khai dữ liệu có cấu trúc cho mức lương ước tính, tập trung vào hai loại dữ liệu chính: Occupation và OccupationAggregationByEmployer.

Dữ liệu có cấu trúc Occupation cho phép các nhà quản lý nội dung và chuyên gia SEO dễ dàng xác định và hiển thị khoảng lương, mức lương trung bình theo khu vực cho các loại việc làm khác nhau trên kết quả tìm kiếm của Google. Thông tin này cũng bao gồm các yếu tố quan trọng như phúc lợi, yêu cầu bằng cấp và trình độ học vấn, giúp tăng cường độ chính xác và sự minh bạch trong nội dung việc làm. Ngoài ra, dữ liệu có cấu trúc OccupationAggregationByEmployer cho phép tổng hợp thông tin việc làm dựa trên các tiêu chí như mức độ kinh nghiệm hoặc tổ chức tuyển dụng, từ đó tối ưu hóa nội dung hiển thị theo nhóm ngành nghề hoặc nhà tuyển dụng cụ thể.

Việc sử dụng dữ liệu có cấu trúc này giúp các nhà cung cấp nội dung dễ dàng hiển thị mức lương ước tính dưới dạng kết quả nhiều định dạng trên Google Tìm kiếm, thu hút sự chú ý của người dùng.

Tuy nhiên, giao diện thực tế của kết quả tìm kiếm có thể thay đổi tùy theo từng trường hợp. Để đảm bảo tính chính xác và hiệu quả, các chuyên gia SEO có thể xem trước các tính năng này thông qua công cụ Kiểm tra kết quả nhiều định dạng, giúp tối ưu hóa nội dung trước khi phát hành.

Cách thêm dữ liệu có cấu trúc

Dữ liệu có cấu trúc là một chuẩn định dạng quan trọng trong SEO, giúp cung cấp thông tin chính xác về một trang web và phân loại nội dung một cách có hệ thống. Nếu bạn mới tiếp cận với dữ liệu có cấu trúc, việc hiểu rõ cách thức hoạt động của nó là bước đầu tiên cần thiết để tối ưu hóa nội dung hiệu quả trên các công cụ tìm kiếm.

Dưới đây là hướng dẫn tổng quan về quy trình xây dựng, kiểm tra và triển khai dữ liệu có cấu trúc. Để có hướng dẫn chi tiết hơn, bạn có thể tham khảo các khóa học lập trình về dữ liệu có cấu trúc.

  1. Thêm các thuộc tính bắt buộc: Tùy thuộc vào loại định dạng bạn sử dụng (như JSON-LD, Microdata), hãy tìm hiểu và chèn chính xác dữ liệu có cấu trúc vào các phần thích hợp trên trang. Nếu bạn sử dụng hệ thống quản lý nội dung (CMS), có thể sử dụng các plugin tích hợp sẵn để đơn giản hóa quá trình này. Đối với JavaScript, việc tạo và chèn dữ liệu có cấu trúc có thể được thực hiện thông qua mã tùy chỉnh.
  2. Tuân thủ các nguyên tắc: Đảm bảo rằng dữ liệu có cấu trúc của bạn tuân theo các nguyên tắc do Google và các công cụ tìm kiếm khác đề ra, bao gồm cả các yêu cầu kỹ thuật và nội dung.
  3. Xác thực mã dữ liệu có cấu trúc: Sử dụng công cụ Kiểm tra kết quả nhiều định dạng để xác thực mã của bạn và khắc phục bất kỳ lỗi nghiêm trọng nào. Đồng thời, nên cân nhắc sửa các vấn đề nhỏ có thể ảnh hưởng đến chất lượng của dữ liệu có cấu trúc, dù những vấn đề này không bắt buộc phải khắc phục để dữ liệu của bạn đủ điều kiện xuất hiện trong kết quả nhiều định dạng.
  4. Triển khai và kiểm tra trang web: Sau khi mã hóa và xác thực dữ liệu, hãy triển khai nó trên một số trang cụ thể. Sử dụng Công cụ kiểm tra URL để đảm bảo Google có thể truy cập và thu thập dữ liệu từ trang của bạn mà không gặp phải các rào cản như tệp robots.txt, thẻ noindex, hoặc yêu cầu đăng nhập. Nếu mọi thứ hoạt động đúng, bạn có thể yêu cầu Google thu thập lại dữ liệu của trang để cập nhật chỉ mục.

Lưu ý: Quá trình thu thập và lập chỉ mục lại dữ liệu có thể mất vài ngày sau khi bạn xuất bản nội dung mới. Hãy kiên nhẫn chờ đợi để Google tìm thấy và cập nhật dữ liệu trên trang của bạn.

  1. Cập nhật và gửi sơ đồ trang web: Để đảm bảo Google biết về bất kỳ thay đổi nào sau này trên trang của bạn, hãy gửi sơ đồ trang web (sitemap). Bạn có thể tự động hóa quy trình này bằng cách sử dụng Search Console Sitemap API, giúp duy trì sự nhất quán và cập nhật trong việc thu thập dữ liệu và lập chỉ mục trang web của bạn.

Ví dụ

Ví dụ về Occupation

Ví dụ dưới đây minh họa một cấu trúc JSON-LD cho dữ liệu có cấu trúc loại Occupation. Cấu trúc này đơn giản, chứa thông tin về mức lương ước tính cho vị trí “Software Developer, Applications”:

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

Ví dụ dưới đây thể hiện một trường hợp phức tạp hơn, sử dụng dữ liệu có cấu trúc loại OccupationAggregationByEmployer. Dữ liệu này bao gồm thông tin chi tiết về mức lương ước tính và các yếu tố khác như phúc lợi, kinh nghiệm, và vị trí công việc:

<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 cần tuân thủ các quy định về chất lượng và kỹ thuật đối với dữ liệu có cấu trúc. Cụ thể, các nguyên tắc dưới đây áp dụng riêng cho dữ liệu có cấu trúc Occupation:

Nếu vi phạm các chính sách này, công việc của bạn có thể sẽ không đủ điều kiện để xuất hiện trong kết quả tìm kiếm. Để hiểu rõ hơn, bạn nên tham khảo các quy định về mã đánh dấu có cấu trúc vi phạm.

Nguyên tắc kỹ thuật

Dữ liệu có cấu trúc Occupation là một dạng dữ liệu độc lập và không cần liên kết với các loại dữ liệu có cấu trúc khác mà bạn cung cấp cho Google. Bạn chỉ nên thêm một Occupation hoặc OccupationAggregationByEmployer duy nhất trên mỗi trang web và tránh thêm nhiều định nghĩa thuộc loại này trên cùng một trang.

Hãy đảm bảo rằng dữ liệu có cấu trúc của bạn khớp với nội dung mà bạn trình bày trên trang. Một số ví dụ cụ thể:

  • Nếu bạn chỉ hiển thị mức lương trung bình trên trang cho người dùng, thì dữ liệu có cấu trúc của bạn cũng chỉ nên bao gồm các giá trị đó.
  • Nếu 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, hãy cung cấp con số chi tiết tương tự trong dữ liệu có cấu trúc.

Chỉ định mỗi thuộc tính một lần trong mỗi định nghĩa, trừ khi có quy định khác. Đối với các công việc có đặc điểm khác nhau tùy theo địa điểm (ví dụ: mức lương ở Hà Nội khác với Bình Dương), hãy tạo các trang riêng biệt để mỗi trang có định nghĩa Occupation với occupationLocation khác nhau.

Tránh thêm dữ liệu có cấu trúc về mức lương ước tính vào các trang danh sách (những 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 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 các công việc có khoảng lương và thông tin mô tả giống nhau. Chức danh nghề nghiệp cần cụ thể, nhưng không nên quá chi tiết đến mức gây khó hiểu. Một số ví dụ cụ thể:

  • Không nên 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”
  • Không nên 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 khỏe tại nhà – Điều dưỡng viên lưu động”
    • Nên: “Điều dưỡng viên có chứng chỉ”

Định nghĩa các loại dữ liệu có cấu trúc

Phần này mô tả chi tiết các loại dữ liệu có cấu trúc liên quan đến mức lương ước tính. Để nội dung của bạn đủ điều kiện xuất hiện trong kết quả tìm kiếm việc làm của Google và định dạng phong phú, bạn cần sử dụng các thuộc tính bắt buộc. Ngoài ra, bạn có thể thêm các thuộc tính được khuyến nghị để cung cấp thông tin chi tiết hơn, từ đó cải thiện trải nghiệm người dùng.

Occupation

Loại dữ liệu Occupation xác định thông tin về một công việc, bao gồm mức lương ước tính, các kỹ năng cần thiết và trách nhiệm công việc. Bạn có thể tham khảo định nghĩa đầy đủ của Occupation trên schema.org/Occupation.

Dưới đây là các thuộc tính được Google hỗ trợ:

Thuộc tính bắt buộc

  • estimatedSalary:
    Mảng MonetaryAmountDistribution

Mức lương ước tính cho công việc này tại occupationLocation đã được chỉ định. Hãy xác định khoảng lương hoặc mức lương ước tính dựa trên thứ hạng bách phân vị. 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",
"maxValue": "150000",
"median": "124900"
}]

Để tính toán mức lương cơ bản, tiền thưởng và các hình thức thù lao khác, hãy xác định nhiều mức lương trong mảng estimatedSalary. Mức lương cơ sở là bắt buộc, các hình thức thù lao khác là tùy chọn. 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:
    Duration

Khoảng thời gian cần thiết để nhận được mức lương ước tính, theo định dạng ngày ISO 8601. Ví dụ, nếu thời gian nhận lương ước tính là một năm, sử dụng giá trị P1Y cho thuộc tính duration.

Từ ngày 24 tháng 3 năm 2020, tài liệu yêu cầu sử dụng thuộc tính duration thay cho unitText. Mặc dù Google vẫn hỗ trợ unitText, bạn nên chuyển sang sử dụng duration khi có thể.

  • estimatedSalary.name:
    Text

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

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 tốt nhất:

  • Chỉ sử dụng chức danh nghề nghiệp trong thuộc tính này.
  • Tránh đưa mã công việc, địa chỉ, ngày tháng, tiền lương hoặc tên công ty vào thuộc tính name.
  • Không nên: “Ứng tuyển ngay cho công việc CNTT – người biết tiếng PHÁP ở Bucharest”
  • Nên: “Chuyên gia thị trường biết tiếng Pháp”

Tiêu đề công việc nên ngắn gọn và dễ đọc. Tránh lạm dụng các ký tự đặc biệt như ! và *. Việc lạm dụng ký tự đặc biệt có thể khiến mã đánh dấu bị coi là vi phạm cấu trúc. Các ký tự như / và – được chấp nhận.

  • Không nên: “KHO HÀNG ĐANG TUYỂN DỤNG!! LÁI XE BUÝT!!
  • Nên: “Nhân viên kho giao và nhận hàng”
  • occupationLocation:
    Mảng City, State hoặc Country

Địa điểm mà thông tin 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 thuộc tính Name nếu chỉ định cho một địa điểm.

Ví dụ chi tiết (nên dùng):

"occupationLocation": {
"@type": "City",
"name": "Mountain View, CA, US"
}

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 tốt nhất:

  • Địa điểm không được cụ thể hơn cấp thành phố.
  • Sử dụng tên khu vực cho thuộc tính State nếu không có danh sách tiểu bang.
  • Giá trị của occupationLocation phải là địa điểm thực tế của công việc, không phải địa điểm tạo trang thông tin.
  • Nếu một kiểu Occupation có nhiều địa điểm, hãy chỉ định các địa điểm trong mảng occupationLocation, như ví dụ:
"occupationLocation": [
{
"@type": "City",
"name": "Portland, Oregon, US"
}, {
"@type": "City",
"name": "Seattle, Washington, US"
}
]

Các dữ liệu như khoảng lương, yêu cầu học vấn và bằng cấp thường thay đổi theo địa điểm. Để phản ánh điều này, hãy xác định nhiều trang với định nghĩa Occupation riêng và occupationLocation khác nhau.

Thuộc tính nên có

  • description:
    Text

Mô tả chi tiết về công việc. Thuộc tính description cần bao gồm đầy đủ thông tin về trách nhiệm, yêu cầu bằng cấp, kỹ năng, giờ làm việc, yêu cầu trình độ học vấn và kinh nghiệm.

Nguyên tắc khác:

  • Đảm bảo description xuất hiện trên tất cả các trang chi tiết mà người dùng có thể truy cập.
  • description phải xác định một công việc cụ thể và nêu rõ yêu cầu công việc.
  • Không nên: “Thực tập sinh – Thực tập sinh là hình thức đào tạo nghề cho nhân viên văn phòng và các ngành chuyên môn.”
  • Nên: “Thực tập sinh phân tích dữ liệu – Thực tập sinh làm việc với nhà phân tích dữ liệu để trích xuất thông tin chi tiết từ dữ liệu, hỗ trợ đưa ra quyết định dựa trên dữ liệu.”

description không được giống với name và không nên đưa thông tin về tổ chức tuyển dụng vào phần này. Sử dụng thuộc tính hiringOrganization cho thông tin tổ chức tuyển dụng.

  • estimatedSalary.currency:
    Text

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

Giá trị trung vị. 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:
    Number

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

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

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

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

Nội dung chính được mô tả trên trang.

  • mainEntityOfPage.lastReviewed:
    Date

Ngày cung cấp thông tin về mức lương ước tính, theo đị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 các vị trí việc làm, được nhóm lại theo nhà tuyển dụng. Ví dụ, bạn có thể xác định ngành nghề và tổ chức tuyển dụng cho một nhóm công việc khi các công việc này được tổng hợp theo nhà tuyển dụng.

OccupationAggregationByEmployer là một phần mở rộng mới của schema.org do Google đề xuất. Có thể loại dữ liệu này chưa được tích hợp trên schema.org.

Dưới đây là các thuộc tính được Google hỗ trợ:

Thuộc tính bắt buộc

  • estimatedSalary:
    Mảng MonetaryAmountDistribution

Mức lương ước tính cho vị trí này tại occupationLocation đã chỉ định. Bạn cần xác định khoảng lương hoặc mức lương ước tính dựa trên thứ hạng bách phân vị. Ví dụ:

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

Để tính toán mức lương cơ bản, tiền thưởng và các hình thức thù lao khác, bạn có thể xác định nhiều mức lương trong mảng estimatedSalary. Trong đó, mức lương cơ bản là bắt buộc, các hình thức thù lao khác là tùy chọn. 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:
    Duration

Khoảng thời gian cần thiết để nhận được mức lương ước tính, theo định dạng ngày ISO 8601. Ví dụ, nếu khoảng thời gian làm việc để nhận lương ước tính là một năm, hãy sử dụng giá trị P1Y cho thuộc tính duration.

Từ ngày 24 tháng 3 năm 2020, tài liệu đã được cập nhật yêu cầu sử dụng duration thay vì unitText. Mặc dù Google vẫn hỗ trợ unitText, nhưng bạn nên chuyển sang sử dụng duration khi có thể.

  • estimatedSalary.name:
    Text

Loại giá trị. Bạn cần chỉ định mức lương cơ bản, các hình thức thù lao khác là tùy chọn. Ví dụ: “Cơ sở”, “Tiền thưởng”, “Tiền hoa hồng”.

  • hiringOrganization:
    Organization

Tổ chức tuyển dụng cho vị trí này. Thuộc tính @context cần đặt là “https://schema.org/“. hiringOrganization nên là tên công ty (ví dụ: “Starbucks, Inc”), không phải địa chỉ cụ thể của nơi tuyển dụng. Ví dụ:

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

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 tốt nhất:

  • Chỉ nhập chức danh nghề nghiệp vào thuộc tính này.
  • Tránh đưa mã công việc, địa chỉ, ngày tháng, tiền lương hoặc tên công ty vào thuộc tính name.
  • Không nên: “Ứng tuyển ngay cho công việc CNTT – người biết tiếng PHÁP ở Bucharest”
  • Nên: “Chuyên gia thị trường biết tiếng Pháp”

Tiêu đề công việc cần ngắn gọn và dễ đọc. Tránh lạm dụng ký tự đặc biệt như ! và *. Việc lạm dụng ký tự đặc biệt có thể khiến mã đánh dấu bị coi là vi phạm cấu trúc. Các ký tự như “/” và “-” được chấp nhận.

  • Không nên: “KHO HÀNG ĐANG TUYỂN DỤNG!! LÁI XE BUÝT!!
  • Nên: “Nhân viên kho giao và nhận hàng”
  • occupationLocation:
    Mảng City, State hoặc Country

Địa điểm mà thông tin công việc này áp dụng. Bạn cần 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 Name nếu chỉ định cho một địa điểm.

Ví dụ chi tiết (nên dùng):

"occupationLocation": {
"@type": "City",
"name": "Mountain View, CA, US"
}

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 tốt nhất:

  • Địa điểm không nên cụ thể hơn cấp thành phố.
  • Có thể sử dụng tên khu vực cho thuộc tính State nếu không có danh sách tiểu bang.
  • Giá trị của occupationLocation phải là địa điểm thực tế của công việc, không phải là địa điểm tạo trang thông tin.
  • Nếu một kiểu Occupation có nhiều địa điểm, hãy chỉ định các địa điểm trong mảng occupationLocation, như ví dụ:
"occupationLocation": [
{
"@type": "City",
"name": "Portland, Oregon, US"
}, {
"@type": "City",
"name": "Seattle, Washington, US"
}
]

Dữ liệu như khoảng lương, yêu cầu học vấn và bằng cấp thường thay đổi theo địa điểm. Để phản ánh điều này, bạn cần xác định nhiều trang với định nghĩa Occupation riêng và occupationLocation khác nhau.

Thuộc tính nên có

  • description:
    Text

Mô tả chi tiết về công việc. Thuộc tính description cần bao gồm đầy đủ thông tin về trách nhiệm, yêu cầu bằng cấp, kỹ năng, giờ làm việc, yêu cầu trình độ học vấn và kinh nghiệm.

Nguyên tắc khác:

  • Đảm bảo description xuất hiện trên tất cả các trang chi tiết mà người dùng có thể truy cập.
  • description phải xác định một công việc cụ thể và nêu rõ yêu cầu công việc.
  • Không nên: “Thực tập sinh – Thực tập sinh là hình thức đào tạo nghề cho nhân viên văn phòng và các ngành chuyên môn.”
  • Nên: “Thực tập sinh phân tích dữ liệu – Thực tập sinh làm việc với nhà phân tích dữ liệu để trích xuất thông tin chi tiết từ dữ liệu, hỗ trợ đưa ra quyết định dựa trên dữ liệu.”

description không nên giống với name và không nên đưa thông tin về tổ chức tuyển dụng vào phần này. Sử dụng thuộc tính hiringOrganization cho thông tin tổ chức tuyển dụng.

  • estimatedSalary.currency:
    Text

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

Giá trị trung vị. 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:
    Number

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

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

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

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

Ngành liên quan đến vị trí tuyển dụng.

  • jobBenefits:
    Text

Mô tả các phúc lợi đi kèm với công việc này.

  • mainEntityOfPage:
    WebPage

Nội dung chính được mô tả trên trang.

  • mainEntityOfPage.lastReviewed:
    Date

Ngày cung cấp thông tin về mức lương ước tính, theo định dạng ISO 8601. Ví dụ:

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

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

Số năm kinh nghiệm tối đa được chấp nhận cho công việc 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ụ:

"yearsExperienceMax": 5
  • yearsExperienceMin:
    Number

Số năm kinh nghiệm tối thiểu cần thiết cho công việc 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ụ:

"yearsExperienceMin": 10

Khắc phục sự cố 

Khi gặp sự cố trong quá trình triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, bạn có thể tham khảo các tài nguyên hỗ trợ sau đây.

  • Nếu bạn đang sử dụng hệ thống quản lý nội dung (CMS) hoặc có người quản lý trang web của bạn, hãy yêu cầu họ hỗ trợ. Đừng quên chuyển tiếp tất cả các thông báo từ Search Console để họ có thể nắm rõ vấn đề.
  • 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. Để biết 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 tham khảo 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. Bạn nên kiểm tra danh sách các lỗi liên quan đến dữ liệu có cấu trúc.
  • Nếu trang của bạn bị áp dụng biện pháp thủ công, dữ liệu có cấu trúc trên trang sẽ bị bỏ qua (dù trang vẫn có thể xuất hiện trong kết quả tìm kiếm của Google). Để khắc phục các vấn đề liên quan đến 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ủ yêu cầu hay không. Nguyên nhân gây lỗi có thể xuất phát từ việc 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 đề không phải lúc nào cũng do lỗi cú pháp, vì vậy Công cụ kiểm tra kết quả nhiều định dạng có thể không phát hiện được những vấn đề này.
  • Khắc phục sự cố thiếu kết quả nhiều định dạng hoặc giảm số lượng kết quả nhiều định dạng
  • Hãy kiên nhẫn chờ đợi để Google thu thập dữ liệu và lập chỉ mục lại trang của bạn. Xin lưu ý rằng quá trình này có thể mất vài ngày sau khi bạn xuất bản trang mới. Đố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, bạn có thể tham khảo phần 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.
  • Nếu bạn vẫn gặp khó khăn, hãy đăng câu hỏi trong diễn đàn của Trung tâm Google Tìm kiếm để nhận được sự hỗ trợ từ cộng đồng.

Việc sử dụng dữ liệu có cấu trúc cho mức lương ước tính không chỉ cải thiện khả năng hiển thị của trang web trên kết quả tìm kiếm mà còn giúp cung cấp thông tin chính xác và minh bạch cho người dùng. Bằng cách tuân thủ các nguyên tắc và hướng dẫn chi tiết đã nêu trong bài viết, bạn có thể tối ưu hóa hiệu quả nội dung của mình, đảm bảo rằng thông tin về mức lương ước tính được hiển thị một cách chính xác và thu hút sự quan tâm của ứng viên.

Facebook
X
LinkedIn
Tumblr
Threads
logo_v4seowebsite

V4SEO là đội ngũ SEO & Web xuất phát từ Nha Trang, triển khai dự án cho doanh nghiệp trên toàn quốc. Chúng tôi cung cấp Dịch vụ SEO Nha Trang theo chuẩn Google, kết hợp kỹ thuật, nội dung và entity để tăng trưởng bền vững. Song song, Dịch vụ thiết kế website Nha Trang tối ưu UX, tốc độ và Core Web Vitals nhằm tối đa chuyển đổi; báo cáo minh bạch, hỗ trợ dài hạn.

Nội dung được sự cố vấn của chuyên gia SEO - Võ Quang Vinh
author-founder-v4seowebsite

Võ Quang Vinh – Chuyên gia SEO với hơn 10 năm kinh nghiệm triển khai hàng trăm dự án SEO tổng thể, từ thương mại điện tử đến dịch vụ địa phương. Từng đảm nhiệm vai trò SEO và là Keymember tại Gobranding và dân dắt đội SEO BachhoaXanh.com, anh là người đứng sau nhiều chiến dịch tăng trưởng traffic vượt bậc. Hiện tại, Vinh là người sáng lập và điều hành V4SEO, cung cấp giải pháp SEO & thiết kế website chuẩn UX/UI giúp doanh nghiệp bứt phá thứ hạng Google và tối ưu chuyển đổi. 

Bài viết liên quan
ĐĂNG KÝ V4SEO NGAY HÔM NAY KHUYẾN MÃI 15% TẤT CẢ DỊCH VỤ ÁP DỤNG TỚI HẾT THÁNG 12/2025

Nhận tư vấn từ V4SEO Đăng ký ngay hôm nay Bứt phá trong mai sau