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.

İlk yayın tarihi: 27 Haz 2026 · Son güncelleme: 8 Ağu 2026 · Advanced
Diller
Bu sayfada 1 kanıt sinyali

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 (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 — ile applicantLocationRequirements/jobLocationType: TELECOMMUTE substituting 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.

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 data

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 supply applicantLocationRequirements bençin bir remote role.

bir minimal, valid örnek:

{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "Software Engineer",
  "description": "&lt;p>Full job description in HTML…&lt;/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"
    }
  }
}

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 stale validThrough in place dır bir compliance sorun, değil bir harmless default.
  • employmentTypeFULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, veya OTHER (bir array dır allowed).
  • baseSalary (bir MonetaryAmount) — gerçek base salary provided tarafından employer, değil bir estimate; yalnızca employer -ebilir supply o. kullan unitText of HOUR/DAY/WEEK/MONTH/YEAR, ve minValue/maxValue bençin bir range. ile pay-transparency laws spreading, bu increasingly değil optional uygulamada.
  • identifier (bir PropertyValue) — 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.

beta-property framing above dır paraphrased -den Google’s launch statement olarak relayed in arama motoru Journal’s March 2021 coverage; o değildir quoted verbatim burada çünkü ben sourced o secondhand. yapğrula exact wording karşı live docs önce treating o olarak bir direct quote.

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.

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 data
{
  "@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.

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 data

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:

  1. ayarla validThrough -e bir date in past ve leave sayfa up briefly.
  2. kaldır sayfa entirely ve döndür bir 404 veya 410.
  3. 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:

  1. 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.
  2. 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.
Industry reporting (dstribute.io, alexanderchukovski.com) frames shift -den near-open dizine ekleme API access -e bir authorized-partner/approval model olarak rolling out kabaca genelinde 2024–2025. ben’m treating şunlar phased dates olarak industry-sourced color, değil Google-yapğrulanmış line tarafından line — birincil, citable fact dır Google’ın kendi quota-pricing/approval sayfa. rep warnings hakkında API misuse idi surfaced aracılığıyla ikincil aggregation, bu nedenle ben’ve paraphrased yerine quoted them; verify exact wording ve platform karşı birincil kaynak önce quoting yapğrudan.

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 validThrough ve 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.
Caveat, per benim kaynak research: orada sahip olmuş raporlar of bir 2026 arama Console job-listing reporting sorun affecting nasıl job rich sonuçlar surface in rapor. ben haven’t olmuş able -e yapğrula şu karşı bir birincil Google kaynak, bu nedenle ele al o olarak bir unverified possibility — eğer sizin rapor görünür yanlış ama markup validates cleanly in Rich sonuçlar test et, bir reporting glitch dır worth ruling in, ama yapğrula önce concluding o’s bir Google-side bug.

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.

ben couldn’t yapğrula bir live, canonical Bing Webmaster araçlar yardım et URL specifically titled bençin JobPosting during benim research geç. yerine guess bir URL, ben’m stating gap plainly: Bing’s job-listing dokümantasyon dır genuinely thin. Re-verify güncel Bing yardım et sayfa önce adding bir direct bağlantı.

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.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.