Türkçe çeviri: JobPosting Schema
nasıl -e implement JobPosting structured data -e görün in Google bençin Jobs — five required properties, recommended fields şu aslında drive tıklamalar, remote-job markup, bençerik politikalar şu al postings disapproved, ve nasıl -e kaldır expired jobs yapğru biçimde.
Diller
Bu sayfada 1 kanıt sinyali
- İlgili canlı araçRich-Result Eligibility Checker
JobPosting schema dır schema.org/JSON-LD markup siz put on bir tek job-listing sayfa -e ol eligible bençin Google bençin Jobs. Five properties dır required — title, description, datePosted, hiringOrganization, ve jobLocation (ile bir fully-remote exception) — ve recommended ones (validThrough, employmentType, baseSalary) dır nerede click-aracılığıyla ve filtering değer lives. bençerik-schema parity dır non-negotiable: everything in JSON-LD -meli olmak visible on sayfa. en çok yaygın disapproval neden ol dır putting markup on bir listing sayfa yerine bir job per sayfa. Expired-job hygiene dır bir ongoing obligation, değil bir bir-time setup — leave dead jobs live ve siz risk bir manual action. ve Google's dizine ekleme API dır scoped -e JobPosting ve BroadcastEvent yalnızca; misusing o olarak bir general 'dizin faster' button -ebilir maliyet siz access. Bing supports aynı vocabulary ama belgeler o far daha lightly — lean Google.
TL;DR — JobPosting schema dır code siz ekle -e bir job-listing sayfa şu labels role — “this is the job title,” “this is the employer,” “this is the salary,” “this is where it’s based” — bu nedenle Google -ebilir put o in Google bençin Jobs, job-arama box siz see at top of sonuçlar. siz ihtiyaç duy five details at minimum: job title, bir description, date siz posted o, employer’s name, ve location. Put o on bir sayfa ile bir job per sayfa — never bir sayfa şu listeler lots of jobs at once.
ne JobPosting schema dır
-dığınızda post bir job on sizin careers sayfa, bir kişben -ebilir okuyun title, şirket, pay, ve nerede o’s based. bir arama motoru sees plain text ve sahiptir -e guess. JobPosting schema spells o out in code, kullanarak shared vocabulary -den schema.org, bu nedenle Google -ebilir understand listing ve göster o in Google bençin Jobs — little job-arama widget ile şirket logos şu görünür at top of sonuçlar bençin searches like “marketing jobs near me.”
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: JobPostingo’s yazılmış in bir küçük block of code called JSON-LD şu sits in sayfa olmadan changing nasıl sayfa görünür.
ne Google gerektirir at minimum
-e olmak eligible bençin Google bençin Jobs, five things dır required:
- title — job’s title, like “Barista” veya “Software Engineer” (değil title of web sayfası).
- description — full job description.
- datePosted — date siz posted job.
- hiringOrganization — şirket’s gerçek name.
- jobLocation — nerede kişben -ecek aslında çalışır.
orada’s bir exception -e location kural: eğer job dır 100% remote, siz flag o olarak remote yerine giving bir office adres (daha on şu in Advanced).
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 şu al siz clicked
five required fields al siz in. bir few optional ones al siz noticed, çünkü Google bençin Jobs lets kişiler filter tarafından them:
- salary — gösterme pay yapar sizin listing stand out (ve salary-disclosure laws dır spreading, bu nedenle kontrol et whether sizin jurisdiction requires o).
- employment type — full-time, part-time, contract, ve bu nedenle on.
- bir expiry date — bu nedenle Google knows ne zaman job closes.
thing en çok kişiler al yanlış
bir job per sayfa. -ebilirsiniz’t put JobPosting markup on bir sayfa şu listeler tümü sizin open roller at once — Google yalnızca izin verir o on bir sayfa bençin bir tek job. bu number-bir neden listings al rejected.
ve ne zaman bir job dır filled, take o down veya mark o closed. Leaving expired jobs live dır karşı Google’s kurallar — Google şunu söylüyor o -ebilir take manual action ve pull posting -den Google bençin Jobs experience, bu da scoped -e sizin job listings, değil bir blanket penalty on rest of sizin site’s arama sıralamalar. ayarlama bir fake future expiry date -e koru bir filled job “alive” yapmaz çalışır — sayfa sahiptir -e reflect reality.
iste tam sürüm — exact required ve recommended properties, nasıl -e mark up remote ve hybrid roller, bençerik politikalar şu al postings disapproved, nasıl -e kaldır expired jobs yapğru way, ve nasıl Bing differs? Switch -e Advanced 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, in JSON-LD) yapar bir tek-job sayfa eligible bençin Google bençin Jobs. Google requires five properties —title,description,datePosted,hiringOrganization,jobLocation— ileapplicantLocationRequirements/jobLocationType: TELECOMMUTEsubstituting bençin location on fully remote roller. recommended ayarla (validThrough,employmentType,baseSalary,identifier,directApply) dır nerede CTR ve filtering değer lives. Two hard kurallar: bir job per sayfa, ve bençerik-schema parity (her JSON-LD değer -meli olmak visible on sayfa). Expired-job hygiene dır bir ongoing compliance task ile three sanctioned kaldırma methods; leaving expired jobs live risks bir manual action. Google’s dizine ekleme API dır scoped -e JobPosting ve BroadcastEvent yalnızca ve dır now approval-gated — yapmayın ele al o olarak bir general “index faster” button. Bing supports aynı vocabulary ama belgeler o far daha thinly; lean Google.
benim general stance on schema hasn’t changed bençin job listings: ben’m bir fan of markup olarak uzun olarak o earns siz bir arama feature. JobPosting clears şu bar cleanly — o’s gate -e Google bençin Jobs, bir genuine SERP surface — bu nedenle o’s worth doing, ve worth doing precisely. precision dır whole game burada, çünkü job listings dır bir of daha heavily policed structured-data types Google runs.
five required properties
Google’s job-posting structured-data dokümantasyon listeler five required properties. Miss herhangi bir bir ve sayfa değildir eligible:
title— ” title of job (değil title of posting). örneğin, ‘Software Engineer’ veya ‘Barista’.” (jump -e quote) bu trips kişiler up constantly — değer dır role, değil sizin sayfa’s<h1>veya SEO title.description— full HTML job description. o -meli değil sadece repeat title; Google ister gerçek, complete description.datePosted— özgün date employer posted job, in ISO 8601 (e.g.,2017-01-24).hiringOrganization— ” organizasyon offering job position. bu -meli olmak name of şirket (örneğin, ‘Starbucks, Inc’).” (jump -e quote) bençin bir job board bu -meli olmak gerçek employer, değil board.jobLocation— physical worksite nerede employee -ecek rapor, değil place job idi posted. değil required -erseniz supplyapplicantLocationRequirementsbençin bir remote role.
bir minimal, valid örnek:
{
"@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"
}
}
}recommended properties şu aslında move needle
Eligibility comes -den required five, ama CTR ve filtering değer comes almost entirely -den recommended ayarla — bunlar dır fields Google bençin Jobs lets searchers filter on:
validThrough— date posting expires, in ISO 8601. orada’s bir nuance worth stating plainly: omit o entirely eğer job never expires, ama eğer job yapar sahip bir end date, bençer o ve koru o accurate. Leaving bir stalevalidThroughin place dır bir compliance sorun, değil bir harmless default.employmentType—FULL_TIME,PART_TIME,CONTRACTOR,TEMPORARY,INTERN,VOLUNTEER,PER_DIEM, veyaOTHER(bir array dır allowed).baseSalary(birMonetaryAmount) — gerçek base salary provided tarafından employer, değil bir estimate; yalnızca employer -ebilir supply o. kullanunitTextofHOUR/DAY/WEEK/MONTH/YEAR, veminValue/maxValuebençin bir range. ile pay-transparency laws spreading, bu increasingly değil optional uygulamada.identifier(birPropertyValue) — employer’s unique job/req ID; önem taşır bençin de-duplication, especially on aggregators.directApply— indicates whether posting’s URL lets someone uygula yapğrudan on şu site yerine yönlendiren elsewhere.
Beta properties
Google requested bir ayarla of additional properties back in 2021 şu dır hâlâ flagged
beta: educationRequirements.credentialCategory,
experienceRequirements.monthsOfExperience, ve experienceInPlaceOfEducation.
bunlar grew out of Google’s Career Certificate push during pandemic-era job
market. Google’ın kendi framing at launch idi şu çünkü o idi hâlâ developing nasıl
o kullanır information, siz -ebilir değil see herhangi bir appearance veya effect in Google arama
yapğru away.
benim take: ekle them eğer onlar’re cheap -e populate -den sizin ATS, ama yapmayın hold up bir launch bençin them — onlar’re future-proofing, değil eligibility.
Remote ve hybrid jobs: TELECOMMUTE done yapğru
Remote markup sahiptir three distinct patterns, ve getting o yanlış dır bir classic bençerik-mismatch flag.
Fully remote. ayarla jobLocationType -e TELECOMMUTE, bençin jobs in hangi
employee -ebilir veya -meli çalışır remotely 100% of time. Google requires her
TELECOMMUTE posting -e specify at least bir eligible country — via
applicantLocationRequirements (Google’s tercih edilen yöntem) veya, failing şu, bir
default taken -den jobLocation. orada’s no valid scenario nerede bir remote job
carries zero location information: “unrestricted” uygulamada anlamına gelir listing her
country siz’ll accept applicants -den, değil omitting field. on-sayfa
description -meli birçıkçbir söyle role dır fully remote de — bençerik-schema parity
uygulanır burada olarak much olarak anywhere.
{
"@type": "JobPosting",
"jobLocationType": "TELECOMMUTE",
"applicantLocationRequirements": {
"@type": "Country",
"name": "USA"
}
}şu örnek dır bir US-yalnızca remote role. bençin “remote within the EU” veya herhangi bir
multi-country role, repeat applicantLocationRequirements her biri bençin eligible
country — property name dır aynı whether siz’re naming bir country veya ten.
Hybrid. bir hybrid role dır değil fully remote. ver o bir gerçek office jobLocation,
ve yalnızca ekle TELECOMMUTE flag eğer role genuinely qualifies olarak remote —
Google’ın kendi hybrid örnek pairs bir physical jobLocation ile jobLocationType
(plus applicantLocationRequirements ne zaman remote option dır itself
geography-restricted). mistake -e kaçın: marking bir occasional-çalışır—den-home
role olarak TELECOMMUTE. şu’s bir bençerik mismatch waiting -e gerçekleş — TELECOMMUTE
dır bençin 100%-remote çalışır, ve sayfa sahiptir -e back şu up. ne zaman in doubt,
Decision Trees tab sahiptir bir “should this use TELECOMMUTE?” walkthrough.
Google bençin Jobs eligibility ve regional availability
bir surprise bençin international ekipler: Google bençin Jobs değildir global. o’s live in 50+ countries genelinde North America, Latin America, Europe, Middle East ve North Africa, Sub-Saharan Africa, ve Asia — ama değil everywhere. eğer sizin listings dır technically perfect ve hâlâ değil gösterme, kontrol et şu experience dır mevcut in sizin target country önce siz spend bir day debugging sizin JSON-LD.
bençerik politikalar şu al postings disapproved
Google’s job-posting bençerik politikalar dır stricter -den en çok structured-data kurallar, ve onlar’re worth knowing tarafından onların gerçek names çünkü arama Console -ecek cite them. -den Google’s dokümantasyon:
- tek-job sayfalar yalnızca. ” JobPosting markup -meli yalnızca olmak kullanılan on sayfalar şu contain bir tek job posting.” (jump -e quote) bu tek en çok yaygın gerçek-world disapproval — no markup on listing/arama-sonuçlar sayfalar.
- Irrelevant bençerik — posting’s bençerik -meli olmak relevant -e job.
- Incomplete bençerik — Google yapmaz izin ver job postings ile incomplete job descriptions.
- Misrepresentation — no fake jobs, keyword stuffing, false location data, impersonation, veya posting someone else’s listing olmadan authorization.
- Profanity — no obscene, profane, veya offensive language.
- Disguised ads / promotional bençerik — no affiliate-program listings veya diğer promotional bençerik dressed up olarak bir job.
- Expired postings — Google yapmaz izin ver expired job postings. “Ideally siz -meli kaldır expired job postings -den sizin web sitesi.” (jump -e quote)
- Jobs olmadan bir way -e uygula — her posting gerektirir bir way -e uygula (career-fair invites ve login-gated postings dır exempted).
- Resume collection — yalnızca bençin open, actively-hiring positions.
- Job istekler — markup dır bençin gerçek openings, değil solicitations -den kişiler seeking çalışır.
- Payment required — never require bir applicant -e pay.
- editoryal bençerik — proper grammar ve capitalization; no tümü-caps spam.
aracılığıyla-line: bençerik-schema parity dır non-negotiable. her değer in JSON-LD — salary, remote status, employment type — -meli olmak visibly present in human-readable sayfa, veya Google -ebilir ele al mismatch olarak misrepresentation.
Handling expiration ve kaldırma yapğru biçimde
bu part ekipler altında-oluştur. Expired-job hygiene dır bir ongoing obligation, değil bir bir-time setup task — siz ihtiyaç duy bir süreç (bir cron job, bir ATS integration, veya bir dizine ekleme API çbirğrı) -e pull bir role moment o closes. Google sanctions three kaldırma methods:
- ayarla
validThrough-e bir date in past ve leave sayfa up briefly. - kaldır sayfa entirely ve döndür bir
404veya410. - Strip JobPosting markup -den sayfa.
risk -erseniz yapmayın: leaving expired postings live violates bençerik politikalar,
ve Google şunu söylüyor response -ebilir bençer manual action şu removes job
posting(s) -den job arama experience on Google — şu’s scoped -e sizin job
listings’ eligibility bençin Jobs feature, değil bir automatic penalty karşı rest
of sizin site’s organic sıralamalar. 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 ayarlama bir future
validThrough on bir job şu’s aslında filled yapar değil koru o “safe” — sayfa
-meli reflect reality.
bençin faster kaldırma ve updates on job URLs specifically, Google recommends onun dizine ekleme API üzerinde waiting bençin bir olağbir re-tarama veya bir sitemap ping — see sonraki section bençin scope ve access caveats.
yinelenen ve syndicated postings
bir çok yaygın gerçek-world durum: aynı req posted -e sizin careers sayfa ve three job boards. bu fine. John Mueller sahiptir said şu having aynı job posted on farklı web siteleri dır çok yaygın ve beklenen, ve şu hosting aynı listing at farklı times veya on farklı subdomains -meli olmak fine de — Google de-duplicates identical listings yerine penalizing them, ve he’s indicated aynı uygulanır -e Google bençin Jobs.
Mueller’s remarks above dır paraphrased -den bir February 2022 Google Hangout olarak recapped tarafından iloveseo.com; ben’m summarizing yerine quoting çünkü ben sourced o aracılığıyla şu ikincil recap. ne hâlâ uygulanır regardless:hiringOrganization
-meli olmak gerçek employer, ve no misrepresentation.dizine ekleme API dır scoped — ve now gated
Google’s dizine ekleme API değildir bir general “get indexed faster” araç. Per Google’s
dizine ekleme API quickstart, o -ebilir yalnızca olmak kullanılan -e tarama sayfalar ile either JobPosting
veya BroadcastEvent embedded in bir VideoObject — job postings dır bir of yalnızca two
legitimate kullan durumlar. Submitting bir URL dır bir notification, değil bir guarantee: o
yapmaz guarantee şu Google -ecek tarama, dizin, bençer, rank, veya display sayfa
on herhangi bir particular timeline.
Two things sahip changed landscape burada:
- Access dır now approval-gated. default per-day quota dır modest, ve getting meaningful volume now requires filling out bir Google approval form yerine olma auto-enabled. Cite Google’ın kendi Requesting Approval ve Quota sayfa olarak birincil kaynak bençin bu.
- Google dır visibly protecting lane -den spam. Google reps sahip repeatedly warned karşı misusing dizine ekleme API -e push arbitrary, unsupported sayfa types — recommendation dır -e stick -e documented, supported kullan durumlar. çünkü JobPosting dır bir of yalnızca two of şunlar, bu önem taşır yapğrudan: kötüye kullanım API bençin non-job bençerik ve siz risk losing access -e bir channel sizin job listings aslında depend on.
Troubleshooting in arama Console
ne zaman bir listing yapmaz göster, çalışır o sırayla — Playbooks tab lays bu out olarak bir linear runbook, ama kısa sürüm:
- Validate markup ile Rich sonuçlar test et ve yapğrula tümü five required properties parse olmadan error.
- yapğrula bir job per sayfa — en çok yaygın disapproval dır JobPosting markup on bir listing/dizin sayfa.
- kontrol et bençerik-schema parity — her JSON-LD değer (salary, remote status, employment type) -meli olmak visible on sayfa.
- kontrol et
validThroughve expiry — bir expired posting hâlâ carrying live markup alır disapproved. - yapğrula regional availability — Google bençin Jobs değildir mevcut everywhere.
- kontrol et arama Console’s rich-sonuç rapor bençin specific disapproval neden ve düzelt karşı şu named politika.
Bing ve JobPosting
Bing supports structured data broadly — JSON-LD, Microdata, RDFa — ve provides bir
Schema Markup Validator, ve o listeler JobPosting among supported types bençin
careers-sayfa ve job-board markup. ama Bing yapar değil publish bir JobPosting-specific
eligibility spec anywhere near olarak detailed olarak Google’s, ve onun job-arama surface sahiptir
far lower documented rigor. honest özet: Bing kullanır aynı schema.org
vocabulary ve aynı tek-job-per-sayfa principle, ile much lighter validation
ve much thinner dokümantasyon. yapmayın assume Bing/Google parity burada — mark up bençin
Google’s stricter spec ve Bing dır covered tarafından default.
nerede bu sits
JobPosting dır bir type in broader structured data hub bu article lives altında, alongside commerce-focused Product schema ve ProductGroup schema markup ve wider Commerce schema family. -erseniz’re implementing genelinde bir site, ele al them aynı way: kullan type şu maps -e bir yapğrulanmış arama feature, koru JSON-LD in parity ile visible sayfa bençerik, ve validate önce siz ship.
AI özet
bir condensed take on Advanced sürüm:
- ne o dır: JobPosting schema (
schema.org/JobPosting, JSON-LD) on bir tek-job sayfa yapar o eligible bençin Google bençin Jobs, job-arama rich sonuç. - Required (5):
title( role, değil sayfa title),description(full HTML, değil bir repeat of title),datePosted(ISO 8601),hiringOrganization( gerçek employer),jobLocation( worksite). Fully remote roller substitutejobLocationType: TELECOMMUTE— ama Google requires naming at least bir eligible country viaapplicantLocationRequirements(tercih edilen) veya birjobLocationdefault bençin herTELECOMMUTEposting, restricted veya değil. - Recommended (CTR/filter değer):
validThrough(omit eğer never expires; koru accurate eğer o yapar),employmentType,baseSalary(employer-supplied, değil estimated),identifier(dedup),directApply. - Beta:
educationRequirements,experienceRequirements,experienceInPlaceOfEducation— 2021 Career-Certificate-era additions; nice -e sahip, değil eligibility. - Remote patterns:
TELECOMMUTEher zaman gerektirir at least bir eligible country (bir bençin bir restricted role, bir liste bençin bir broader bir) viaapplicantLocationRequirementsveya birjobLocationdefault; hybrid kullanır bir gerçekjobLocationve skipsTELECOMMUTEunless role dır genuinely 100% remote — yapmayın üzerinde-claim o bençin occasional WFH. - Two hard kurallar: bir job per sayfa; bençerik-schema parity (her JSON-LD değer visible on sayfa).
- bençerik politikalar (named): tek-job-sayfa, irrelevant bençerik, incomplete bençerik, misrepresentation, profanity, disguised ads, expired postings, jobs olmadan bir way -e uygula, resume collection, job istekler, payment required, editoryal bençerik.
- Expiration — 3 sanctioned methods: past
validThrough; kaldır sayfa (404/410); strip markup. Leaving expired jobs live risks manual action removing postings -den Google bençin Jobs (scoped -e sizin listings, değil whole site); bir fake futurevalidThroughyapmaz yardım et. - Region: Google bençin Jobs dır in 50+ countries, değil global.
- Syndication: aynı job on birden çok siteler/boards dır fine (Google de-dups, per
Mueller);
hiringOrganizationaccuracy ve no-misrepresentation hâlâ uygula. - dizine ekleme API: scoped -e JobPosting + BroadcastEvent-in-VideoObject yalnızca, now approval-gated; bir submission dır bir notification, değil bir guarantee of tarama, dizine ekleme, veya sıralama; misuse risks losing access. Cite Google’s quota-pricing sayfa.
- Bing: aynı vocabulary, tek-job principle; much thinner docs ve lighter validation — lean Google.
resmî dokümantasyon
birincil-kaynak dokümantasyon -den arama motorları.
- Job posting (JobPosting) structured data bençin Job arama — required ve recommended properties, remote-job handling, ve full bençerik-politika liste.
- Requesting Approval ve Quota — dizine ekleme API — approval-form ve quota model bençin dizine ekleme API access.
- dizine ekleme API Quickstart — states API dır yalnızca bençin
JobPostingveyaBroadcastEventembedded in birVideoObject. - Rich sonuçlar test et — validate bir JobPosting sayfa’s eligibility ve required-property errors.
- Schema Markup Validator — validate schema.org syntax of herhangi bir type.
- schema.org — JobPosting — vocabulary reference: her property type -ebilir carry.
Bing / Microsoft
- Bing Webmaster araçlar — Marking Up sizin site ile Structured Data — Bing’s general structured-data support (JSON-LD, Microdata, RDFa).
- Bing Webmaster araçlar — Schema Markup Validator ve URL Inspection.
Quotes -den kaynak
On—record statements -den Google’s dokümantasyon. her bağlantı dır bir deep bağlantı şu jumps -e quoted passage on kaynak sayfa.
Google dokümanları — zorunlu özellikler
- “The title of the job (not the title of the posting). For example, ‘Software Engineer’ or ‘Barista’.” — on
title. Jump -e quote - “The organization offering the job position. This must be the name of the company (for example, ‘Starbucks, Inc’).” — on
hiringOrganization. Jump -e quote
Google docs — bençerik politikalar
- “The JobPosting markup must only be used on pages that contain a single job posting.” Jump -e quote
- “Ideally you should remove expired job postings from your website.” Jump -e quote
Paraphrased — sourced secondhand, değil quoted verbatim
- On syndication (John Mueller, Feb 2022 Hangout, via iloveseo.com): having aynı job posted on farklı web siteleri dır çok yaygın ve fine, ve hosting o at farklı times veya on farklı subdomains -meli olmak fine de; Google de-duplicates identical listings, ve aynı uygulanır -e Google bençin Jobs. (Paraphrase — yapğrula karşı özgün önce quoting.)
- On beta properties (Google, via arama motoru Journal, March 2021): çünkü Google idi hâlâ developing nasıl o kullanır education/experience information, siz -ebilir değil see herhangi bir appearance veya effect in Google arama yapğru away. (Paraphrase — yapğrula karşı live docs önce quoting.)
- On dizine ekleme API misuse (Google reps, ~2025, via ikincil aggregation): recommendation dır -e stick -e documented, supported kullan durumlar yerine pushing arbitrary sayfa types aracılığıyla dizine ekleme API. (Paraphrase — re-fetch birincil kaynak bençin exact wording, date, ve platform önce quoting yapğrudan.)
Etkileşimli karar yardımcıları
Two branching questions şu come up constantly ile job markup. Click aracılığıyla them.
Should this job use jobLocationType: TELECOMMUTE?
A job just closed — how do I remove it correctly?
Runbook: benim job posting aldı disapproved — ne -e kontrol et, sırayla
çalışır bunlar top -e bottom. en çok disapprovals resolve at adım 2 veya 3.
-
Reproduce o in Rich sonuçlar test et. Paste live URL (veya rendered HTML) -e Rich sonuçlar test et. eğer required properties dır missing veya malformed, düzelt şunlar ilk — bir required-property error alone yapar sayfa ineligible.
-
yapğrula o’s bir job per sayfa. bu en çok yaygın disapproval. JobPosting markup on bir listing sayfa, category sayfa, veya arama-sonuçlar sayfa değildir allowed. markup -meli live on bir sayfa containing bir tek job.
-
kontrol et bençerik-schema parity. okuyun sayfa olarak bir human. her değer in JSON-LD — salary, employment type, remote status, location — -meli olmak visibly present in sayfa bençerik. bir salary veya “remote” flag in markup şu değildir on sayfa reads olarak misrepresentation.
-
kontrol et
validThroughve expiry. eğer role dır filled veya closed, bir expired posting hâlâ carrying live markup alır disapproved. uygula bir of three kaldırma methods (pastvalidThrough, 404/410, veya strip markup). yapmayın ayarla bir fake future date. -
yapğrula orada’s bir way -e uygula. her posting gerektirir bir uygula yöntem (career-fair invites ve login-gated postings dır documented exceptions). No uygula path dır bir named politika violation.
-
Scan diğer named politikalar. kural out irrelevant/incomplete bençerik, misrepresentation (fake jobs, false location, keyword stuffing), profanity, disguised ads/affiliate bençerik, resume-collection on non-open roller, job istekler, payment-required, ve tümü-caps/editoryal sorunlar.
-
yapğrula regional availability. Google bençin Jobs dır in 50+ countries ama değildir global. Perfect markup in bir unsupported country hâlâ won’t surface.
-
okuyun exact neden in arama Console ve düzelt karşı o. Open rich-sonuç rapor, bul specific disapproval neden string, ve remediate karşı şu named politika yerine guessing.
Myths ve mistakes
recurring ways job markup goes yanlış — ve ne’s aslında true.
-
Myth: “You must include every property or Google won’t show the job.” False. yalnızca five properties dır strictly required. Recommended ve beta properties improve richness ve filtering, ama onlar yapmayın gate eligibility.
-
Myth: “Posting the same job on multiple sites/subdomains gets you a duplicate-content penalty.” No. olağbir syndication genelinde job boards dır beklenen — Google de-duplicates identical listings yerine penalizing them.
hiringOrganizationaccuracy ve no-misrepresentation hâlâ uygula. -
Myth: “Setting
validThroughin the future keeps a filled listing ‘safe.’” False. Google disallows expired-in-practice postings regardless of nevalidThroughsöyler. sayfa -meli reflect reality. -
Myth: “JobPosting schema guarantees a ranking or traffic boost.” Overstated. o yapar siz eligible bençin Google bençin Jobs UI — o’s değil bir sıralama factor bençin organic web sonuçlar. herhangi bir CTR gains come -den richer, filterable UI, değil -den bir algorithmic sıralama preference.
-
Myth: “-ebilirsiniz put JobPosting markup on sizin careers/listing sayfa -e kapsa tümü open roller at once.” Explicitly banned. bir job posting per sayfa, full durdur.
-
Myth: “The Indexing API is a general ‘get indexed faster’ tool for any page.” False, ve reps sahip warned karşı o. o’s scoped -e JobPosting ve BroadcastEvent-in-VideoObject yalnızca, ve misuse risks losing access.
-
Myth: “Remote jobs don’t need any location field at all.” False.
jobLocationType: TELECOMMUTEreplaces ihtiyaç duy bençin bir specific officejobLocation, ama Google hâlâ requires at least bir eligible country — viaapplicantLocationRequirements(tercih edilen) veya bir default taken -denjobLocation— on herTELECOMMUTEposting. orada’s no valid durum nerede bir remote job carries zero location information. -
Mistake: marking occasional-WFH veya hybrid roller olarak
TELECOMMUTE.TELECOMMUTEdır bençin 100%-remote çalışır. üzerinde-claiming o karşı bir sayfa şu describes bir hybrid role dır bir bençerik mismatch şu risks disapproval.
SOP: süresi dolmuş iş ilanlarını temizleme
article dır explicit şu bu değildir bir bir-time setup: expired-job hygiene dır “an ongoing obligation,” ve Google runs three sanctioned kaldırma methods siz ihtiyaç duy bir repeatable süreç bençin — ideally triggered tarafından bir cron job, bir ATS integration, veya bir dizine ekleme API çbirğrı moment bir role closes, değil bir manual sweep siz remember -e yap occasionally.
-
Trigger: bir role closes veya fills in sizin ATS. Action: bençinde aynı benşletme day, uygula bir of three sanctioned methods — ayarla
validThrough-e bir past date (ve leave sayfa up yalnızca briefly), kaldır sayfa ve döndür bir404/410, veya strip JobPosting markup -iken tutma sayfa live. Done ne zaman: sayfa no longer carries live, güncel JobPosting markup bençin bir filled role. -
Never ayarla bir future
validThroughon bir closed role -e “keep it safe.” Action: eğer bir role dır filled, düzelt dır bir of three kaldırma methods above — değil bir fake future date. Done ne zaman:validThrough(eğer present) reflects reality, değil bir placeholder. -
çalıştır bir scheduled reconciliation sweep (weekly dır reasonable bençin moderate posting volume) cross-checking her live JobPosting sayfa karşı sizin ATS’s güncel status. bu catches postings şu slipped aracılığıyla adım 1 — bir sayfa şu -meli sahip olmuş pulled ama wasn’t. Done ne zaman: count of “closed in ATS ama hâlâ live ile markup” sayfalar dır zero.
-
bençin high-volume job boards, kullan dizine ekleme API bençin kaldırma event itself (o’s bir of yalnızca two documented kullan durumlar, alongside
BroadcastEvent), rather -den waiting on bir olağbir re-tarama. Done ne zaman: kaldırma veyavalidThroughupdate dır reflected in Google’s processing olmadan bir multi-day tarama delay. -
Log hangi kaldırma yöntem idi kullanılan ve ne zaman, per posting. bu cheap insurance: eğer bir manual action review ever olur, siz iste bir record gösterme expired-job hygiene idi bir functioning süreç, değil bir afterthought.
Prompts: bençerik-schema parity denetim
article’s aracılığıyla-line dır şu bençerik-schema parity dır non-negotiable — her değer in JobPosting JSON-LD (salary, remote status, employment type) sahiptir -e olmak visibly present on sayfa, veya Google -ebilir ele al mismatch olarak misrepresentation. bunlar prompts turn şu kontrol et -e something -ebilirsiniz paste -e bir chat model rather -den eyeball manually.
Prompt 1 — flag parity mismatches arasında sayfa ve markup
Paste in: job sayfa’s visible, human-readable text (kopya rendered sayfa bençerik) ve onun JobPosting JSON-LD block, labeled separately.
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 back: bir kısa field-tarafından-field table (veya liste) naming her recommended field ve whether sayfa backs o up, plus exact JSON-LD değer şu sahiptir no visible counterpart eğer bir vardır.
Prompt 2 — kontrol et bençin bir TELECOMMUTE / remote-çalışır mismatch
Paste in: job’s visible description (specifically herhangi bir language hakkında
remote/hybrid/on-site çalışır) ve jobLocationType / applicantLocationRequirements
values -den 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 back: bir plain yes/no on whether markup ve description agree, ve eğer değil, hangi bir ( sayfa kopya veya JSON-LD) gerektirir -e change -e restore parity.
araçlar bençin JobPosting validation
Rich-sonuç Eligibility Checker — bu
araç -e ulaş bençin ilk. Paste bir job sayfa’s JSON-LD, onun full HTML, veya bir live
URL, ve o kontroller JobPosting type specifically olarak bir of onun tracked rich-sonuç
features: bir per-property breakdown of ✓ eligible, ✗ exact missing required field
(title, description, datePosted, hiringOrganization, jobLocation), ve ⚠
bençin missing recommended fields (validThrough, employmentType, baseSalary).
çalıştır o önce siz ship bir yeni posting template, ve yeniden herhangi bir time bir disapproval
shows up in arama Console — o söyler siz in seconds whether sorun dır bir
missing required property veya something araç -ebilir’t see (like bençerik-schema
parity, hangi gerektirir bir human okuyun of sayfa).
Schema Markup Validator — kullan bu bençin syntax
layer underneath eligibility: severity-tiered validation of JSON-LD itself
(malformed JSON, yanlış @type nesting, @id graph sorunlar), plus bir corrected,
kopya-pasteable JSON-LD block. ulaş bençin o ne zaman Rich-sonuç Eligibility Checker
flags bir property olarak missing ama siz’re değil sure whether değer dır aslında
absent veya sadece malformed enough şu parser -ebilir’t see o.
arasında two: çalıştır Rich-sonuç Eligibility Checker bençin job-posting-specific eligibility soru (“will this qualify for Google for Jobs”), ve Schema Markup Validator ne zaman -meniz gerekir debug raw JSON-LD syntax underneath o.
Standing KPIs bençin JobPosting health
bunlar dır ongoing numbers worth izleme quarter üzerinde quarter — değil bir bir-time launch kontrol et, ama whether sizin JobPosting implementation stays healthy olarak postings come ve go.
Google bençin Jobs gösterimler ve tıklamalar
- ne o söyler siz: whether sizin postings dır aslında surfacing in Google bençin Jobs rich-sonuç surface ve getting clicked, olarak opposed -e sadece olma technically eligible.
- nasıl -e pull o: arama Console’s job-posting rich-sonuç rapor (altında Enhancements), hangi breaks out gösterimler ve tıklamalar specifically bençin sayfalar carrying valid JobPosting markup.
- Benchmark / realistic range: orada’s no universal number burada — o depends heavily on sizin posting volume, vertical, ve nasıl competitive “Google for Jobs” dır bençin sizin roller. Establish sizin kendi baseline üzerinde sizin ilk few reporting cycles yerine comparing -e bir industry figure.
- Cadence: weekly during active hiring cycles; monthly dır enough ne zaman posting volume dır low.
Hareketli reddetme oranı
- ne o söyler siz: whether sizin ongoing hygiene süreç — bençerik-schema parity, bir-job-per-sayfa, expired-job kaldırma — dır aslında holding up üzerinde time, yerine bir tek benşaret et-in-time compliance kontrol et.
- nasıl -e pull o: valid/invalid/disapproved breakdown in arama Console’s job-posting rich-sonuç rapor, tracked olarak bir percentage of sizin total live postings her period.
- Benchmark / realistic range: no industry-published baseline vardır bençin bu; honest target dır trending toward zero disapproved postings üzerinde time. izle sizin kendi trend yerine bir borrowed number.
- Cadence: monthly, veya aligned -e whatever cadence siz çalıştır expired-job reconciliation sweep described in SOPs tab.
Time—e-kaldırma lag
- ne o söyler siz: whether sizin kaldırma pipeline (cron job, ATS integration, veya dizine ekleme API çbirğrı) dır aslında tutma pace ile gerçek-world job closures — bu root-neden ol metric behind her ikisi of KPIs above, since disapprovals ve missed gösterimler her ikisi trace back -e stale postings staying live de uzun.
- nasıl -e pull o: compare sizin ATS’s “closed” timestamp bençin bir role karşı timestamp bir of three sanctioned kaldırma methods idi aslında applied -e şu sayfa — bir internal ops log, değil bir arama Console rapor.
- Benchmark / realistic range: article’s kendi steer dır ” moment o closes,” ama orada’s no universal SLA -e cite — ayarla sizin kendi target based on nasıl fast sizin ATS integration veya cron cadence -ebilir realistically çalıştır, ve measure karşı şu.
- Cadence: reviewed per closure event nerede olası, veya on bir rolling weekly basis eğer closures dır batched.
test et yourself: JobPosting Schema
Five quick questions on JobPosting structured data, Google bençin Jobs eligibility, ve politikalar şu al listings disapproved. seç bir yanıt her biri bençin, o hâlde kontrol et.
kaynaklar worth sizin time
ben yapmayın sahip bir dedicated article on JobPosting schema veya Google bençin Jobs — bu yeni ground bençin me yerine bir topic ben’ve yazılmış up önce, bu nedenle ben’m değil going -e manufacture bir citation. ne carries üzerinde dır benim general schema stance: implement markup ne zaman o earns siz bir gerçek arama feature, koru o in parity ile ne’s visible on sayfa, ve validate önce siz ship. JobPosting clears şu bar, bu da neden o’s worth doing precisely.
benim related schema yazma (general, değil job-specific)
- Schema Markup bençin AI — entity-infrastructure angle on schema (bir farklı soru -den rich-sonuç eligibility).
- Beginner’s rehber -e teknik SEO — nerede schema fits in bigger picture.
- kurumsal SEO — benim pragmatic take: “I’m a fan of schema markup as long as it gets you a search feature.”
-den yaklaşık industry
- John Mueller Discusses ne yapılacağı ile birden çok Job Posting Schema Markup (iloveseo.com) — recap of February 2022 Hangout on yinelenen/syndicated postings ve Google-side de-duplication.
- Google Launches Job Postings Schema bençin Job arama Inclusion (arama motoru Roundtable) — Barry Schwartz’s June 2017 launch coverage.
- yeni Job Posting Structured Data Requirements (arama motoru Journal) — Roger Montti on March 2021 beta education/experience properties ve onların Career-Certificate origin.
- Google Jobs Shake-Up 2025: Navigating yeni dizine ekleme API Restrictions (dstribute.io) — industry timeline on dizine ekleme API access change (ele al dates olarak industry-sourced, değil Google-yapğrulanmış).
- Major updates -e dizine ekleme API — impact on Job Boards ve aggregators (alexanderchukovski.com) — job-board-focused analysis of aynı shift.
Değişiklik günlüğü
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
18 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.