Hướng dẫn về JobPosting Schema
Cách implement JobPosting dữ liệu có cấu trúc để xuất hiện trong Google cho Jobs — đó five bắt buộc properties, đó được khuyến nghị các trường đó thực ra drive clicks, remote-job markup, đó nội dung policies đó nhận postings disapproved, và cách xóa expired jobs correctly.
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này
- Công cụ trực tuyến liên quanRich-Result Eligibility Checker
JobPosting schema là đó schema.org/JSON-LD markup bạn put on một single job-listing trang để become eligible cho Google cho Jobs. Five properties là bắt buộc — tiêu đề, mô tả, datePosted, hiringOrganization, và jobLocation (với một fully-remote exception) — và đó được khuyến nghị ones (validThrough, employmentType, baseSalary) là nơi đó nhấp-qua và filtering giá trị lives. Nội dung-schema parity là non-negotiable: mọi thứ trong đó JSON-LD phải được visible on đó trang. Đó hầu hết phổ biến disapproval nguyên nhân là putting đó markup on một listing trang thay vì một job theo trang. Expired-job hygiene là an ongoing obligation, không một một-time setup — leave dead jobs trực tiếp và bạn risk một manual hành động. Và Google Lập chỉ mục API là scoped để JobPosting và BroadcastEvent chỉ; misusing điều này as một chung 'chỉ mục nhanh hơn' button có thể cost bạn access. Bing hỗ trợ đó giống nhau vocabulary nhưng documents điều này far hơn lightly — lean Google.
TL;DR — JobPosting schema là code bạn thêm để một job-listing trang đó labels đó role — “this is the job title,” (bản dịch) «này là đó job tiêu đề,» “this is the employer,” (bản dịch) «này là đó employer,» “this is the salary,” (bản dịch) «này là đó salary,» “this is where it’s based” (bản dịch) «này là nơi đây là based» — so Google có thể put điều này trong Google cho Jobs, đó job-tìm kiếm box bạn see tại đó top of kết quả. Bạn cần five details tại minimum: đó job tiêu đề, một mô tả, đó date bạn posted điều này, đó employer name, và đó location. Put điều này on một trang với một job theo trang — không bao giờ một trang đó lists lots of jobs tại khi.
Điều gì JobPosting schema là
Khi bạn post một job on của bạn careers trang, một person có thể đọc đó tiêu đề, đó company, đó pay, và nơi đây là based. MỘT công cụ tìm kiếm sees đơn giản text và có để guess. JobPosting schema spells điều này out trong code, dùng đó shared vocabulary từ schema.org, so Google có thể understand đó listing và cho thấy điều này trong Google cho Jobs — đó little job-tìm kiếm widget với company logos đó xuất hiện tại đó top of kết quả cho searches như “marketing jobs near me.” (bản dịch) «việc làm marketing gần tôi.»
Evidence for this claim Schema.org JobPosting describes a job vacancy and properties such as title, datePosted, hiringOrganization, and jobLocation. Scope: Schema.org vocabulary; Google applies additional job-search requirements. Confidence: high · Verified: Schema.org: JobPostingnó được viết trong nhỏ block của code được gọi là JSON-LD đó sits trong trang không có thay đổi Cách trang looks.
Điều gì Google cần tại minimum
để là eligible cho Google cho Jobs, five điều là bắt buộc:
- tiêu đề — đó job tiêu đề, như “Barista” hoặc “Software Engineer” (bản dịch) «Software Engineer» (không đó tiêu đề of đó web trang).
- mô tả — đó đầy đủ job mô tả.
- datePosted — đó date bạn posted đó job.
- hiringOrganization — đó company real name.
- jobLocation — nơi đó person sẽ thực ra hoạt động.
có một exception để location rule: nếu job là 100% remote, bạn flag nó as remote thay vì giving office address (nhiều hơn on đó trong Nâng cao).
Evidence for this claim Google requires JobPosting markup on a single job detail page with required job and organization information. Scope: Google Search JobPosting requirements; listing pages and incomplete postings are not eligible. Confidence: high · Verified: Google: JobPosting structured datadetails đó nhận bạn đã nhấp
five bắt buộc các trường nhận bạn trong. một vài tùy chọn ones nhận bạn noticed, vì Google cho Jobs lets mọi người filter by them:
- salary — cho thấy pay làm của bạn listing stand out (và salary-disclosure laws là spreading, so kiểm tra liệu của bạn jurisdiction requires nó).
- employment loại — đầy đủ-time, part-time, contract, và so on.
- ** expiry date** — so Google knows Khi job closes.
điều phần lớn mọi người nhận sai
Một job theo trang. Bạn có thể’t put JobPosting markup trên một trang đó lists all của bạn open vai trò tại sau khi — Google chỉ cho phép nó trên một trang cho single job. Đây là number-một reason listings nhận rejected.
và Khi job là filled, take nó xuống hoặc mark nó closed. Leaving expired jobs trực tiếp là so với Google rules — Google nói nó có thể take manual hành động và pull posting từ Google cho Jobs experience, mà là scoped để của bạn job listings, không blanket hình phạt on rest của bạn trang web tìm kiếm thứ hạng. Setting fake tương lai expiry date để giữ filled job “alive” không hoạt động — trang có để reflect reality.
Muốn đầy đủ version — chính xác bắt buộc và được khuyến nghị properties, Cách mark lên remote và hybrid vai trò, nội dung policies đó nhận postings disapproved, Cách để xóa expired jobs right way, và Cách Bing differs? Chuyển để Nâng cao tab.
Evidence for this claim Google documents jobLocationType TELECOMMUTE and applicantLocationRequirements for fully remote jobs. Scope: Google Search JobPosting remote-job requirements; hybrid roles should not be marked as fully remote. Confidence: high · Verified: Google: JobPosting structured dataTL;DR — JobPosting schema (
schema.org/JobPosting, trong JSON-LD) làm một single-job trang eligible cho Google cho Jobs. Google requires five properties —title,description,datePosted,hiringOrganization,jobLocation— vớiapplicantLocationRequirements/jobLocationType: TELECOMMUTEsubstituting cho location on fully remote vai trò. Đó được khuyến nghị set (validThrough,employmentType,baseSalary,identifier,directApply) là nơi đó CTR và filtering giá trị lives. Hai hard rules: một job theo trang, và nội dung-schema parity (mỗi JSON-LD giá trị phải được visible on đó trang). Expired-job hygiene là an ongoing compliance task với three sanctioned removal các phương thức; leaving expired jobs trực tiếp risks một manual hành động. Google Lập chỉ mục API là scoped để JobPosting và BroadcastEvent chỉ và là hiện tại approval-gated — không treat điều này as một chung “index faster” (bản dịch) «chỉ mục nhanh hơn» button. Bing hỗ trợ đó giống nhau vocabulary nhưng documents điều này far hơn thinly; lean Google.
My chung stance on schema hasn’t changed cho job listings: I’m fan của markup as dài as nó earns bạn tìm kiếm feature. JobPosting clears đó bar cleanly — nó gate để Google cho Jobs, genuine SERP surface — so nó worth đang làm, và worth đang làm precisely. precision là toàn bộ game ở đây, vì job listings là một của nhiều hơn heavily policed structured-dữ liệu types Google chạy.
five bắt buộc properties
Google job-posting structured-dữ liệu tài liệu lists five bắt buộc properties. Miss bất kỳ một và trang không phải eligible:
title— “The title of the job (not the title of the posting). For example, ‘Software Engineer’ or ‘Barista’.” (bản dịch) «Đó tiêu đề of đó job (không đó tiêu đề of đó posting). Ví dụ, ‘Software Engineer’ hoặc ‘Barista’.» (nhảy đến trích dẫn) Này trips mọi người lên constantly — đó giá trị là đó role, không trang của bạn<h1>hoặc SEO tiêu đề.description— đó đầy đủ HTML job mô tả. Điều này không được chỉ repeat đó tiêu đề; Google wants đó real, hoàn tất mô tả.datePosted— đó original date đó employer posted đó job, trong ISO 8601 (e.g.,2017-01-24).hiringOrganization— “The organization offering the job position. This must be the name of the company (for example, ‘Starbucks, Inc’).” (bản dịch) «Đó organization offering đó job position. Này phải được đó name of đó company (ví dụ, ‘Starbucks, Inc’).» (nhảy đến trích dẫn) Cho một job board này phải được đó real employer, không đó board.jobLocation— đó physical worksite nơi đó employee sẽ báo cáo, không đó place đó job đã là posted. Không bắt buộc nếu bạn supplyapplicantLocationRequirementscho một remote role.
minimal, hợp lệ ví dụ:
{
"@context": "https://schema.org/",
"@type": "JobPosting",
"title": "Software Engineer",
"description": "<p>Full job description in HTML…</p>",
"datePosted": "2026-06-27",
"hiringOrganization": {
"@type": "Organization",
"name": "Example Co",
"sameAs": "https://www.example.com"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Raleigh",
"addressRegion": "NC",
"addressCountry": "US"
}
}
}được khuyến nghị properties đó thực ra move needle
Eligibility xuất hiện từ bắt buộc five, nhưng CTR và filtering giá trị xuất hiện gần như hoàn toàn từ được khuyến nghị đặt — những điều này là các trường Google cho Jobs lets searchers filter on:
validThrough— date posting expires, trong ISO 8601. có nuance worth stating plainly: omit nó hoàn toàn nếu job không bao giờ expires, nhưng nếu job làm có end date, bao gồm nó và giữ nó chính xác. Leaving stalevalidThroughtrong place là compliance vấn đề, không harmless default.employmentType—FULL_TIME,PART_TIME,CONTRACTOR,TEMPORARY,INTERN,VOLUNTEER,PER_DIEM, hoặcOTHER( array là được phép).baseSalary(MonetaryAmount) — thực tế base salary provided by employer, không estimate; chỉ employer có thể supply nó. sử dụngunitTextcủaHOUR/DAY/WEEK/MONTH/YEAR, vàminValue/maxValuecho range. với pay-transparency laws spreading, Đây là increasingly không tùy chọn trên thực tế.identifier(PropertyValue) — employer unique job/req ID; matters cho de-duplication, especially on aggregators.directApply— indicates liệu posting URL lets ai đó apply trực tiếp on đó trang web thay vì chuyển hướng elsewhere.
Beta properties
Google requested đặt của additional properties lại trong 2021 đó là vẫn flagged
beta: educationRequirements.credentialCategory,
experienceRequirements.monthsOfExperience, và experienceInPlaceOfEducation.
những điều này grew out của Google Career Certificate push during pandemic-era job
market. Google own cách diễn đạt tại launch là đó vì nó là vẫn developing Cách
nó dùng information, bạn có thể không see bất kỳ appearance hoặc effect trong Google Search
right away.
My take: thêm them nếu họ’re cheap để populate từ của bạn ATS, nhưng không hold lên launch cho them — họ’re tương lai-proofing, không eligibility.
Remote và hybrid jobs: TELECOMMUTE đã xong right
Remote markup có three distinct patterns, và getting nó sai là kinh điển nội dung-mismatch flag.
Fully remote. Set jobLocationType để TELECOMMUTE, cho jobs trong mà đó
employee có thể hoặc phải hoạt động remotely 100% of đó time. Google requires mỗi
TELECOMMUTE posting để specify ít nhất một eligible country — qua
applicantLocationRequirements (Google được ưu tiên phương thức) hoặc, failing đó, một
default taken từ jobLocation. có không hợp lệ scenario nơi một remote job
carries zero location information: “unrestricted” (bản dịch) «unrestricted» trong thực tế có nghĩa là listing mỗi
country bạn’ll accept applicants từ, không omitting đó trường. Đó on-trang
mô tả phải rõ ràng chẳng hạn đó role là fully remote cũng — nội dung-schema parity
áp dụng ở đây as nhiều as anywhere.
{
"@type": "JobPosting",
"jobLocationType": "TELECOMMUTE",
"applicantLocationRequirements": {
"@type": "Country",
"name": "USA"
}
}Đó ví dụ là một US-chỉ remote role. Cho “remote within the EU” (bản dịch) «remote trong đó EU» hoặc bất kỳ
multi-country role, repeat applicantLocationRequirements cho mỗi eligible
country — đó thuộc tính name là đó giống nhau liệu bạn là naming một country hoặc ten.
Hybrid. MỘT hybrid role là không fully remote. Cho điều này một real office jobLocation,
và chỉ thêm đó TELECOMMUTE flag nếu đó role genuinely qualifies as remote —
Google own hybrid ví dụ pairs một physical jobLocation với jobLocationType
(plus applicantLocationRequirements khi đó remote option là itself
geography-restricted). Đó mistake để tránh: marking an occasional-hoạt động-từ-home
role as TELECOMMUTE. đó là một nội dung mismatch đang chờ để happen — TELECOMMUTE
là cho 100%-remote hoạt động, và đó trang có để lại đó lên. Khi trong doubt, đó
Các cây quyết định tab có một “should this use TELECOMMUTE?” (bản dịch) «nên này dùng TELECOMMUTE?» walkthrough.
Google cho Jobs eligibility và regional availability
Một surprise cho international nhóm: Google cho Jobs không phải global. nó trực tiếp trong 50+ countries trên North America, Latin America, Europe, Middle East và North Africa, Sub-Saharan Africa, và Asia — nhưng không mọi nơi. nếu của bạn listings là technically perfect và vẫn không cho thấy, kiểm tra đó experience là khả dụng trong của bạn đích country trước khi bạn spend day gỡ lỗi của bạn JSON-LD.
nội dung policies đó nhận postings disapproved
Google job-posting nội dung policies là stricter hơn phần lớn structured-dữ liệu rules, và họ’re worth knowing by của họ thực names vì Search Console sẽ cite them. từ tài liệu củ Google:
- Single-job các trang chỉ. “The JobPosting markup must only be used on pages that contain a single job posting.” (bản dịch) «Đó JobPosting markup phải chỉ là dùng on các trang đó contain một single job posting.» (nhảy đến trích dẫn) Này là đó single hầu hết phổ biến thực tế disapproval — không markup on listing/tìm kiếm-kết quả các trang.
- Irrelevant nội dung — đó posting nội dung phải được relevant để đó job.
- Incomplete nội dung — Google không cho phép job postings với incomplete job các mô tả.
- Misrepresentation — không fake jobs, từ khóa stuffing, sai location dữ liệu, impersonation, hoặc posting ai đó khác listing không có authorization.
- Profanity — không obscene, profane, hoặc offensive language.
- Disguised quảng cáo / promotional nội dung — không affiliate-program listings hoặc other promotional nội dung dressed lên as một job.
- Expired postings — Google không cho phép expired job postings. “Ideally you should remove expired job postings from your website.” (bản dịch) «Ideally bạn nên xóa expired job postings từ của bạn website.» (nhảy đến trích dẫn)
- Jobs không có một way để apply — mỗi posting cần một way để apply (career-fair invites và login-gated postings là exempted).
- Resume collection — chỉ cho open, actively-hiring positions.
- Job các yêu cầu — đó markup là cho thực tế openings, không solicitations từ mọi người seeking hoạt động.
- Payment bắt buộc — không bao giờ require an applicant để pay.
- Editorial nội dung — proper grammar và capitalization; không all-caps spam.
qua-line: nội dung-schema parity là non-negotiable. mỗi giá trị trong JSON-LD — salary, remote status, employment loại — phải là visibly present trong human-readable trang, hoặc Google có thể treat mismatch as misrepresentation.
Xử lý expiration và removal correctly
Đây là part nhóm dưới-xây dựng. Expired-job hygiene là ongoing obligation, không một-time setup task — bạn cần xử lý ( cron job, ATS integration, hoặc lập chỉ mục API call) để pull role moment nó closes. Google sanctions three removal các phương thức:
- đặt
validThroughđể date trong past và leave trang lên briefly. - Xóa trang hoàn toàn và trả về
404hoặc410. - Strip JobPosting markup từ trang.
risk nếu bạn không: leaving expired postings trực tiếp violates nội dung policies,
và Google nói phản hồi có thể bao gồm manual hành động đó xóa job
posting(s) từ job tìm kiếm experience on Google — đó scoped để của bạn job
listings’ eligibility cho Jobs feature, không tự động hình phạt so với rest
của bạn trang web organic thứ hạng. Evidence for this claim Google requires expired job postings to be removed or marked with a past validThrough value and no longer exposed as active jobs. Scope: Google Search JobPosting expiration policy; stale postings can trigger manual actions. Confidence: high · Verified: Google: JobPosting structured data Setting tương lai
validThrough on job đó thực ra filled làm không giữ nó “safe” — trang
phải reflect reality.
cho nhanh hơn removal và cập nhật on job các URL cụ thể, Google khuyến nghị của nó lập chỉ mục API over đang chờ cho thông thường re-crawl hoặc sitemap ping — see tiếp theo section cho phạm vi và access caveats.
Duplicate và syndicated postings
rất phổ biến thực-world case: giống nhau req posted để của bạn careers trang và three job boards. Đây là fine. John Mueller có đã nói đó có giống nhau job posted on khác websites là rất phổ biến và dự kiến, và đó hosting giống nhau listing tại khác times hoặc on khác subdomains nên là fine cũng — Google de-duplicates giống hệt listings thay vì penalizing them, và he indicated giống nhau áp dụng để Google cho Jobs.
Mueller remarks trên là paraphrased từ February 2022 Google Hangout as recapped by iloveseo.com; I’m summarizing thay vì quoting vì I sourced nó qua đó phụ recap. Điều gì vẫn áp dụng regardless:hiringOrganization
phải là thực employer, và không misrepresentation.lập chỉ mục API là scoped — và hiện tại gated
Google Lập chỉ mục API không phải một chung “get indexed faster” (bản dịch) «nhận được lập chỉ mục nhanh hơn» tool. Theo Google
Lập chỉ mục API quickstart, điều này có thể chỉ là được dùng để crawl các trang với either JobPosting
hoặc BroadcastEvent embedded trong một VideoObject — job postings là một of chỉ hai
legitimate dùng cases. Submitting một URL là một notification, không phải là bảo đảm: điều này
không bảo đảm đó Google sẽ crawl, chỉ mục, bao gồm, xếp hạng, hoặc display đó trang
on bất kỳ particular timeline.
Hai điều có changed landscape ở đây:
- Access là hiện tại approval-gated. default theo-day quota là modest, và getting có ý nghĩa volume hiện tại requires filling out Google approval form thay vì là auto-enabled. Cite Google own Requesting Approval và Quota trang as chính nguồn cho điều này.
- Google là visibly protecting lane từ spam. Google reps có repeatedly warned so với misusing lập chỉ mục API để push arbitrary, unsupported trang types — khuyến nghị là để stick để được ghi lại, supported sử dụng cases. vì JobPosting là một của chỉ hai của những điều đó, điều này matters trực tiếp: abuse API cho non-job nội dung và bạn risk losing access để channel của bạn job listings thực ra phụ thuộc on.
Khắc phục sự cố trong Search Console
Khi listing không hiển thị, hoạt động nó trong order — Playbooks tab lays điều này out as linear runbook, nhưng ngắn version:
- Validate markup với Rich Kết quả Kiểm thử và xác nhận all five bắt buộc properties parse không có lỗi.
- xác nhận một job theo trang — phần lớn phổ biến disapproval là JobPosting markup on listing/chỉ mục trang.
- kiểm tra nội dung-schema parity — mỗi JSON-LD giá trị (salary, remote status, employment loại) phải là visible on trang.
- kiểm tra
validThroughvà expiry — expired posting vẫn carrying trực tiếp markup nhận disapproved. - xác nhận regional availability — Google cho Jobs không phải khả dụng mọi nơi.
- kiểm tra Search Console’s rich-kết quả báo cáo cho cụ thể disapproval reason và khắc phục so với đó named policy.
Bing và JobPosting
Bing hỗ trợ dữ liệu có cấu trúc broadly — JSON-LD, Microdata, RDFa — và cung cấp
Schema Markup Validator, và nó lists JobPosting among supported types cho
careers-trang và job-board markup. nhưng Bing làm không publish JobPosting-cụ thể
eligibility spec anywhere near as detailed as Google, và của nó job-tìm kiếm surface có
far thấp hơn được ghi lại rigor. honest summary: Bing dùng giống nhau schema.org
vocabulary và giống nhau single-job-theo-trang principle, với nhiều nhẹ hơn validation
và nhiều thinner tài liệu. không assume Bing/Google parity ở đây — mark lên cho
Google stricter spec và Bing là covered theo mặc định.
nơi điều này sits
JobPosting là một loại trong rộng hơn dữ liệu có cấu trúc hub điều này bài viết lives dưới, alongside commerce-focused Sản phẩm schema và ProductGroup schema markup và wider Commerce schema family. nếu bạn’re implementing trên trang web, treat them giống nhau way: sử dụng loại đó maps để confirmed tìm kiếm feature, giữ JSON-LD trong parity với visible nội dung trang, và validate trước khi bạn ship.
AI summary
condensed take on Nâng cao version:
- Điều gì nó là: JobPosting schema (
schema.org/JobPosting, JSON-LD) on single-job trang làm nó eligible cho Google cho Jobs, job-tìm kiếm rich kết quả. - Bắt buộc (5):
title( role, không trang tiêu đề),description(đầy đủ HTML, không repeat của tiêu đề),datePosted(ISO 8601),hiringOrganization( thực employer),jobLocation( worksite). Fully remote vai trò substitutejobLocationType: TELECOMMUTE— nhưng Google requires naming ít nhất một eligible country quaapplicantLocationRequirements(được ưu tiên) hoặcjobLocationdefault cho mỗiTELECOMMUTEposting, restricted hoặc không. - Được khuyến nghị (CTR/filter giá trị):
validThrough(omit nếu không bao giờ expires; giữ chính xác nếu nó làm),employmentType,baseSalary(employer-supplied, không estimated),identifier(dedup),directApply. - Beta:
educationRequirements,experienceRequirements,experienceInPlaceOfEducation— 2021 Career-Certificate-era additions; nice để có, không eligibility. - Remote patterns:
TELECOMMUTEluôn cần ít nhất một eligible country (một cho restricted role, list cho rộng hơn một) quaapplicantLocationRequirementshoặcjobLocationdefault; hybrid dùng thựcjobLocationvà skipsTELECOMMUTEtrừ khi role là genuinely 100% remote — không over-claim nó cho occasional WFH. - Hai hard rules: một job theo trang; nội dung-schema parity (mỗi JSON-LD giá trị visible on trang).
- nội dung policies (named): single-job-trang, irrelevant nội dung, incomplete nội dung, misrepresentation, profanity, disguised quảng cáo, expired postings, jobs không có way để apply, resume collection, job các yêu cầu, payment bắt buộc, editorial nội dung.
- Expiration — 3 sanctioned các phương thức: past
validThrough; xóa trang (404/410); strip markup. Leaving expired jobs trực tiếp risks manual hành động removing postings từ Google cho Jobs (scoped để của bạn listings, không toàn bộ trang web); fake tương laivalidThroughkhông help. - Region: Google cho Jobs là trong 50+ countries, không global.
- Syndication: giống nhau job on multiple các trang/boards là fine (Google de-dups, theo
Mueller);
hiringOrganizationđộ chính xác và không-misrepresentation vẫn apply. - lập chỉ mục API: scoped để JobPosting + BroadcastEvent-trong-VideoObject chỉ, hiện tại approval-gated; submission là notification, không bảo đảm của crawling, lập chỉ mục, hoặc xếp hạng; misuse risks losing access. Cite Google quota-pricing trang.
- Bing: giống nhau vocabulary, single-job principle; nhiều thinner tài liệu và nhẹ hơn validation — lean Google.
Tài liệu chính thức
Chính-nguồn tài liệu từ các công cụ tìm kiếm.
- Job posting (JobPosting) dữ liệu có cấu trúc cho Job Tìm kiếm — bắt buộc và được khuyến nghị properties, remote-job xử lý, và đầy đủ nội dung-policy list.
- Requesting Approval và Quota — lập chỉ mục API — approval-form và quota model cho lập chỉ mục API access.
- lập chỉ mục API Quickstart — trạng thái API là chỉ cho
JobPostinghoặcBroadcastEventembedded trongVideoObject. - Rich Kết quả Kiểm thử — validate JobPosting trang eligibility và bắt buộc-thuộc tính các lỗi.
- Schema Markup Validator — validate schema.org syntax của bất kỳ loại.
- schema.org — JobPosting — vocabulary reference: mỗi thuộc tính loại có thể carry.
Bing / Microsoft
- Bing Quản trị viên web Tools — Marking Lên của bạn trang web với Dữ liệu có cấu trúc — Bing chung structured-dữ liệu hỗ trợ (JSON-LD, Microdata, RDFa).
- Bing Quản trị viên web Tools — Schema Markup Validator và URL inspection.
Quotes từ nguồn
On—record statements từ tài liệu củ Google. mỗi link là deep link đó jumps để quoted passage on nguồn trang.
Google tài liệu — bắt buộc properties
- “The title of the job (not the title of the posting). For example, ‘Software Engineer’ or ‘Barista’.” (bản dịch) «Đó tiêu đề of đó job (không đó tiêu đề of đó posting). Ví dụ, ‘Software Engineer’ hoặc ‘Barista’.» — on
title. Nhảy đến trích dẫn - “The organization offering the job position. This must be the name of the company (for example, ‘Starbucks, Inc’).” (bản dịch) «Đó organization offering đó job position. Này phải được đó name of đó company (ví dụ, ‘Starbucks, Inc’).» — on
hiringOrganization. Nhảy đến trích dẫn
Google tài liệu — nội dung policies
- “The JobPosting markup must only be used on pages that contain a single job posting.” (bản dịch) «Đó JobPosting markup phải chỉ là dùng on các trang đó contain một single job posting.» Nhảy đến trích dẫn
- “Ideally you should remove expired job postings from your website.” (bản dịch) «Ideally bạn nên xóa expired job postings từ của bạn website.» Nhảy đến trích dẫn
Paraphrased — sourced secondhand, không quoted verbatim
- On syndication (John Mueller, Feb 2022 Hangout, qua iloveseo.com): có giống nhau job posted on khác websites là rất phổ biến và fine, và hosting nó tại khác times hoặc on khác subdomains nên là fine cũng; Google de-duplicates giống hệt listings, và giống nhau áp dụng để Google cho Jobs. (Paraphrase — xác nhận so với gốc trước khi quoting.)
- On beta properties (Google, qua công cụ tìm kiếm Journal, March 2021): vì Google là vẫn developing Cách nó dùng education/experience information, bạn có thể không see bất kỳ appearance hoặc effect trong Google Search right away. (Paraphrase — xác nhận so với trực tiếp tài liệu trước khi quoting.)
- On lập chỉ mục API misuse (Google reps, ~2025, qua phụ aggregation): khuyến nghị là để stick để được ghi lại, supported sử dụng cases thay vì pushing arbitrary trang types qua lập chỉ mục API. (Paraphrase — re-fetch chính nguồn cho chính xác wording, date, và nền tảng trước khi quoting trực tiếp.)
Interactive decision aids
Hai branching các câu hỏi đó come lên constantly với job markup. Nhấp qua them.
Should this job use jobLocationType: TELECOMMUTE?
A job just closed — how do I remove it correctly?
Runbook: my job posting đã nhận disapproved — Điều gì để kiểm tra, trong order
Hoạt động những điều này top để bottom. phần lớn disapprovals resolve tại step 2 hoặc 3.
-
Reproduce nó trong Rich Kết quả Kiểm thử. Paste trực tiếp URL (hoặc được kết xuất HTML) vào Rich Kết quả Kiểm thử. nếu bắt buộc properties là bị thiếu hoặc malformed, khắc phục những điều đó đầu tiên — bắt buộc-thuộc tính lỗi alone làm trang ineligible.
-
xác nhận nó một job theo trang. Đây là phần lớn phổ biến disapproval. JobPosting markup on listing trang, category trang, hoặc tìm kiếm-kết quả trang không phải được phép. markup phải trực tiếp trên một trang containing single job.
-
kiểm tra nội dung-schema parity. đọc trang as human. mỗi giá trị trong JSON-LD — salary, employment loại, remote status, location — phải là visibly present trong nội dung trang. salary hoặc “remote” flag trong markup đó không phải on trang đọc as misrepresentation.
-
kiểm tra
validThroughvà expiry. nếu role là filled hoặc closed, expired posting vẫn carrying trực tiếp markup nhận disapproved. Apply một của three removal các phương thức (pastvalidThrough, 404/410, hoặc strip markup). không đặt fake tương lai date. -
xác nhận có way để apply. mỗi posting cần apply phương thức (career-fair invites và login-gated postings là được ghi lại exceptions). Không apply path là named policy violation.
-
Scan khác named policies. Rule out irrelevant/incomplete nội dung, misrepresentation (fake jobs, sai location, từ khóa stuffing), profanity, disguised quảng cáo/affiliate nội dung, resume-collection on non-open vai trò, job các yêu cầu, payment-bắt buộc, và all-caps/editorial các vấn đề.
-
xác nhận regional availability. Google cho Jobs là trong 50+ countries nhưng không phải global. Perfect markup trong unsupported country vẫn sẽ không surface.
-
đọc chính xác reason trong Search Console và khắc phục so với nó. Open rich-kết quả báo cáo, tìm cụ thể disapproval reason string, và remediate so với đó named policy thay vì guessing.
Myths và mistakes
recurring ways job markup goes sai — và Điều gì thực ra đúng.
-
Myth: “You must include every property or Google won’t show the job.” (bản dịch) «Bạn phải bao gồm mỗi thuộc tính hoặc Google sẽ không cho thấy đó job.» Sai. Chỉ five properties là strictly bắt buộc. Được khuyến nghị và beta properties improve richness và filtering, nhưng they không gate eligibility.
-
Myth: “Posting the same job on multiple sites/subdomains gets you a duplicate-content penalty.” (bản dịch) «Posting đó giống nhau job on multiple các trang/subdomains nhận bạn một duplicate-nội dung hình phạt.» Không. Thông thường syndication trên job boards là dự kiến — Google de-duplicates giống hệt listings thay vì penalizing them.
hiringOrganizationđộ chính xác và không-misrepresentation vẫn apply. -
Myth: “Setting
validThroughin the future keeps a filled listing ‘safe.’” (bản dịch) «SettingvalidThroughtrong đó tương lai giữ một filled listing ‘safe.’» Sai. Google disallows expired-trong-practice postings regardless of điều gìvalidThroughsays. Đó trang phải reflect reality. -
Myth: “JobPosting schema guarantees a ranking or traffic boost.” (bản dịch) «JobPosting schema bảo đảm một xếp hạng hoặc traffic boost.» Overstated. Điều này làm bạn eligible cho đó Google cho Jobs UI — đây là không một xếp hạng factor cho organic web kết quả. Bất kỳ CTR gains come từ đó richer, filterable UI, không từ an algorithmic xếp hạng preference.
-
Myth: “You can put JobPosting markup on your careers/listing page to cover all open roles at once.” (bản dịch) «Bạn có thể put JobPosting markup on của bạn careers/listing trang để cover all open vai trò tại khi.» Explicitly banned. Một job posting theo trang, đầy đủ dừng.
-
Myth: “The Indexing API is a general ‘get indexed faster’ tool for any page.” (bản dịch) «Đó Lập chỉ mục API là một chung ‘nhận được lập chỉ mục nhanh hơn’ tool cho bất kỳ trang.» Sai, và reps có warned so với điều này. đây là scoped để JobPosting và BroadcastEvent-trong-VideoObject chỉ, và misuse risks losing access.
-
Myth: “Remote jobs don’t need any location field at all.” (bản dịch) «Remote jobs không cần bất kỳ location trường tại all.» Sai.
jobLocationType: TELECOMMUTEreplaces đó cần cho một cụ thể officejobLocation, nhưng Google vẫn requires ít nhất một eligible country — quaapplicantLocationRequirements(được ưu tiên) hoặc một default taken từjobLocation— on mỗiTELECOMMUTEposting. có không hợp lệ case nơi một remote job carries zero location information. -
Mistake: marking occasional-WFH hoặc hybrid vai trò as
TELECOMMUTE.TELECOMMUTElà cho 100%-remote hoạt động. Over-claiming nó so với trang đó mô tả hybrid role là nội dung mismatch đó risks disapproval.
SOP: expired-job hygiene
Đó bài viết là rõ ràng đó này không một một-time setup: expired-job hygiene là “an ongoing obligation,” (bản dịch) «an ongoing obligation,» và Google chạy three sanctioned removal các phương thức bạn cần một repeatable xử lý cho — ideally triggered by một cron job, an ATS integration, hoặc an Lập chỉ mục API call đó moment một role closes, không một manual sweep bạn remember để làm occasionally.
-
Trigger: role closes hoặc fills trong của bạn ATS. Hành động: trong giống nhau business day, apply một của three sanctioned các phương thức — đặt
validThroughđể past date (và leave trang lên chỉ briefly), xóa trang và trả về404/410, hoặc strip JobPosting markup trong khi giữ trang trực tiếp. Đã xong Khi: trang không lâu hơn carries trực tiếp, hiện tại JobPosting markup cho filled role. -
Không bao giờ set một tương lai
validThroughon một closed role để “keep it safe.” (bản dịch) «giữ điều này safe.» Hành động: nếu một role là filled, đó cách sửa là một of đó three removal các phương thức trên — không một fake tương lai date. Đã xong khi:validThrough(nếu present) reflects reality, không một placeholder. -
Chạy một scheduled reconciliation sweep (weekly là reasonable cho moderate posting volume) cross-kiểm tra mỗi trực tiếp JobPosting trang so với của bạn ATS hiện tại status. Này catches postings đó slipped qua step 1 — một trang đó nên đã được pulled nhưng đã không. Đã xong khi: đó count of “closed in ATS but still live with markup” (bản dịch) «closed trong ATS nhưng vẫn trực tiếp với markup» các trang là zero.
-
cho cao-volume job boards, sử dụng lập chỉ mục API cho removal event itself (nó một của chỉ hai được ghi lại sử dụng cases, alongside
BroadcastEvent), rather hơn đang chờ on thông thường re-crawl. Đã xong Khi: removal hoặcvalidThroughcập nhật là reflected trong Google processing không có multi-day crawl delay. -
Log mà removal phương thức là được sử dụng và Khi, theo posting. Đây là cheap insurance: nếu manual hành động review bao giờ happens, bạn muốn record cho thấy expired-job hygiene là functioning xử lý, không afterthought.
Prompts: nội dung-schema parity audit
bài viết qua-line là đó nội dung-schema parity là non-negotiable — mỗi giá trị trong JobPosting JSON-LD (salary, remote status, employment loại) có để là visibly present on trang, hoặc Google có thể treat mismatch as misrepresentation. những điều này prompts turn đó kiểm tra vào điều gì đó Bạn có thể paste vào chat model rather hơn eyeball manually.
Prompt 1 — flag parity mismatches giữa trang và markup
Paste trong: job trang visible, human-readable text (copy được kết xuất trang nội dung) và của nó JobPosting JSON-LD block, labeled riêng.
Here is the visible text of a job posting page, followed by its JobPosting
JSON-LD structured data.
VISIBLE PAGE TEXT:
<paste the rendered, human-readable job description and any salary/location/
remote-work text here>
JSON-LD:
<paste the JobPosting JSON-LD block here>
Compare them field by field for baseSalary, employmentType, jobLocation /
jobLocationType, and validThrough. For each field, tell me:
1. Whether the value in the JSON-LD is stated anywhere in the visible text.
2. If it's missing or contradicted on the page, quote the JSON-LD value and
explain what's missing.
Do not flag a mismatch unless you can point to what's absent or contradictory —
don't guess at intent.Expect lại: ngắn trường-by-trường bảng (hoặc list) naming mỗi được khuyến nghị trường và liệu trang backs nó lên, plus chính xác JSON-LD giá trị đó có không visible đối tác tương ứng nếu một tồn tại.
Prompt 2 — kiểm tra cho TELECOMMUTE / remote-hoạt động mismatch
Paste trong: job visible mô tả (cụ thể bất kỳ language về
remote/hybrid/on-trang web hoạt động) và jobLocationType / applicantLocationRequirements
các giá trị từ JSON-LD.
Here is a job posting's description text describing the work arrangement, and
the jobLocationType / applicantLocationRequirements values from its JobPosting
JSON-LD.
DESCRIPTION TEXT (work-arrangement language only):
<paste the sentence(s) describing remote/hybrid/on-site expectations>
JSON-LD VALUES:
jobLocationType: <value, or "not set">
applicantLocationRequirements: <value, or "not set">
TELECOMMUTE is only correct for roles the employee may or must work 100% remotely.
Based on the description text, does the jobLocationType value match how the role
is actually described? Call out specifically if the text describes a hybrid or
occasional-work-from-home role while the markup claims TELECOMMUTE, or vice versa.Expect lại: đơn giản có/không on liệu markup và mô tả agree, và nếu không, mà một ( trang copy hoặc JSON-LD) cần để thay đổi để restore parity.
Tools cho JobPosting validation
Rich-Kết quả Eligibility Checker — Đây là
tool để reach cho đầu tiên. Paste job trang JSON-LD, của nó đầy đủ HTML, hoặc trực tiếp
URL, và nó kiểm tra JobPosting loại cụ thể as một của nó tracked rich-kết quả
features: theo-thuộc tính breakdown của ✓ eligible, ✗ chính xác bị thiếu bắt buộc trường
(title, description, datePosted, hiringOrganization, jobLocation), và ⚠
cho bị thiếu được khuyến nghị các trường (validThrough, employmentType, baseSalary).
Chạy nó trước khi bạn ship new posting template, và again bất kỳ time disapproval
hiển thị lên trong Search Console — nó tells bạn trong seconds liệu vấn đề là
bị thiếu bắt buộc thuộc tính hoặc điều gì đó tool có thể’t see (như nội dung-schema
parity, mà cần human đọc của trang).
Schema Markup Validator — sử dụng điều này cho syntax
layer underneath eligibility: severity-tiered validation của JSON-LD itself
(malformed JSON, sai @type nesting, @id graph các vấn đề), plus corrected,
copy-pasteable JSON-LD block. Reach cho nó Khi Rich-Kết quả Eligibility Checker
flags thuộc tính as bị thiếu nhưng bạn’re không sure liệu giá trị là thực ra
absent hoặc chỉ malformed đủ đó parser có thể’t see nó.
Giữa đó hai: chạy đó Rich-Kết quả Eligibility Checker cho đó job-posting-cụ thể eligibility câu hỏi (“will this qualify for Google for Jobs” (bản dịch) «sẽ này qualify cho Google cho Jobs»), và đó Schema Markup Validator khi bạn cần để debug đó thô JSON-LD syntax underneath điều này.
Standing KPIs cho JobPosting health
những điều này là ongoing numbers worth theo dõi quarter over quarter — không một-time launch kiểm tra, nhưng liệu của bạn JobPosting implementation vẫn giữ healthy as postings come và go.
Google cho Jobs impressions và clicks
- Điều gì điều này tells bạn: liệu của bạn postings là thực ra surfacing trong đó Google cho Jobs rich-kết quả surface và getting đã nhấp, as opposed để chỉ đang technically eligible.
- Cách pull điều này: Search Console’s job-posting rich-kết quả báo cáo (dưới Enhancements), mà breaks out impressions và clicks cụ thể cho các trang carrying hợp lệ JobPosting markup.
- Benchmark / realistic range: có không universal number ở đây — điều này phụ thuộc heavily on của bạn posting volume, vertical, và cách competitive “Google for Jobs” (bản dịch) «Google cho Jobs» là cho của bạn vai trò. Establish của bạn own baseline over của bạn đầu tiên một vài reporting cycles thay vì comparing để an ngành hình.
- Cadence: weekly during active hiring cycles; monthly là đủ khi posting volume là thấp.
Rolling disapproval rate
- Điều gì nó tells bạn: liệu của bạn ongoing hygiene xử lý — nội dung-schema parity, một-job-theo-trang, expired-job removal — là thực ra holding lên over time, thay vì single point-trong-time compliance kiểm tra.
- Cách pull nó: hợp lệ/không hợp lệ/disapproved breakdown trong Search Console’s job-posting rich-kết quả báo cáo, tracked as percentage của bạn total trực tiếp postings mỗi period.
- Benchmark / realistic range: không ngành-published baseline tồn tại cho điều này; honest đích là trending toward zero disapproved postings theo thời gian. Track của bạn own trend thay vì borrowed number.
- Cadence: monthly, hoặc aligned để whatever cadence bạn chạy expired-job reconciliation sweep described trong SOPs tab.
Time-để-removal lag
- Điều gì điều này tells bạn: liệu của bạn removal pipeline (cron job, ATS integration, hoặc Lập chỉ mục API call) là thực ra giữ pace với thực tế job closures — này là đó root-nguyên nhân chỉ số behind cả hai of đó KPIs trên, since disapprovals và missed impressions cả hai trace lại để stale postings staying trực tiếp cũng dài.
- Cách pull điều này: so sánh của bạn ATS “closed” timestamp cho một role so với đó timestamp một of đó three sanctioned removal các phương thức đã là thực ra applied để đó trang — an internal ops log, không một Search Console báo cáo.
- Benchmark / realistic range: đó bài viết own steer là “the moment it closes,” (bản dịch) «đó moment điều này closes,» nhưng có không universal SLA để cite — set của bạn own đích dựa trên cách fast của bạn ATS integration hoặc cron cadence có thể realistically chạy, và đo lường so với đó.
- Cadence: reviewed theo closure event nơi có thể, hoặc on một rolling weekly basis nếu closures là batched.
Tự kiểm tra: JobPosting Schema
Five nhanh các câu hỏi on JobPosting dữ liệu có cấu trúc, Google cho Jobs eligibility, và policies đó nhận listings disapproved. Pick câu trả lời cho mỗi, sau đó kiểm tra.
các tài nguyên worth của bạn time
I không có dedicated bài viết on JobPosting schema hoặc Google cho Jobs — Đây là new ground cho me thay vì topic I’ve được viết lên trước khi, so I’m không going để manufacture citation. Điều gì carries over là my chung schema stance: implement markup Khi nó earns bạn thực tìm kiếm feature, giữ nó trong parity với Điều gì visible on trang, và validate trước khi bạn ship. JobPosting clears đó bar, mà là Vì sao nó worth đang làm precisely.
My related schema writing (chung, không job-cụ thể)
- Schema Markup cho AI — đó entity-infrastructure angle on schema (một khác nhau câu hỏi từ rich-kết quả eligibility).
- Đó Beginner Hướng dẫn để SEO kỹ thuật — nơi schema fits trong đó bigger picture.
- Enterprise SEO — my thực dụng take: “I’m a fan of schema markup as long as it gets you a search feature.” (bản dịch) «I’m một fan of schema markup miễn là điều này nhận bạn một tìm kiếm feature.»
từ khoảng ngành
- John Mueller Discusses Điều gì để làm với Multiple Job Posting Schema Markup (iloveseo.com) — recap của February 2022 Hangout on duplicate/syndicated postings và Google-side de-duplication.
- Google Launches Job Postings Schema cho Job Tìm kiếm Inclusion (công cụ tìm kiếm Roundtable) — Barry Schwartz June 2017 launch coverage.
- New Job Posting Dữ liệu có cấu trúc Requirements (công cụ tìm kiếm Journal) — Roger Montti on March 2021 beta education/experience properties và của họ Career-Certificate origin.
- Google Jobs Shake-Lên 2025: Navigating New lập chỉ mục API Restrictions (dstribute.io) — ngành timeline on lập chỉ mục API access thay đổi (treat dates as ngành-sourced, không Google-confirmed).
- Major cập nhật để lập chỉ mục API — impact on Job Boards và aggregators (alexanderchukovski.com) — job-board-focused analysis của giống nhau shift.
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 18 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.