Google for Jobs: How to Get Your Jobs Into Job Search
Google for Jobs is the job search inside Google Search. Anyone looking for a job sees a separate view with matching job postings and the way to apply. For your jobs to appear there, you mark up every job on your careers page with structured data using the JobPosting schema. This guide shows you the required fields, the rules and the test, step by step.
At a glance
- What
- The job search in Google Search, which reads and displays jobs from websites
- Available in Germany
- Google lists Germany, Austria and Switzerland among the supported regions
- Requirement
- Every job sits on its own page and is marked up with JobPosting data
- Required fields according to Google
- Title, description, date posted, employer and job location
- Check
- Rich Results Test before going live, then the report in Search Console
- Important
- You mark filled jobs as expired or take them off the page
What Google for Jobs Is and How Your Job Gets In
Google for Jobs is not a portal of its own where you create an account and upload postings. Google reads the jobs from websites. For that, Google needs two things: a page that describes the job completely and structured data in the code that repeats the same details in machine-readable form.
This data follows the schema.org vocabulary and the type JobPosting. It tells Google what the job is called, who is hiring, where the work takes place and since when the posting has been online. If required details are missing or the data contradicts the visible text, the job does not appear in job search.
For you, that means: The work happens on your own careers page. Anyone who works cleanly there makes their jobs readable for job search and at the same time strengthens the careers page as a destination for applications.
JobPosting Required Fields and Recommended Fields at a Glance
Google distinguishes between fields without which a job does not appear and fields that make the listing more complete. The following tables summarize the Google documentation.
Required Fields for Google for Jobs
| Field | What goes in | What you watch for |
|---|---|---|
title | the job title | Only the title, no promotional line |
description | the full job description in HTML | Tasks, requirements, working hours, education and experience; not identical to the title |
datePosted | the date the employer published the job | ISO 8601 format, for example 2026-11-05 |
hiringOrganization | the hiring company | Company name, not a place; for anonymous postings "confidential" |
jobLocation | the job location with address | The country (addressCountry) is required, further address details as complete as possible |
Swipe sideways to see the whole table.
Exception for fully remote jobs
If a job is 100% remote, jobLocation is dropped if you provide applicantLocationRequirements. Then you set jobLocationType to TELECOMMUTE and name at least one country where applicants may live. For occasional work from home, you do not use TELECOMMUTE.
Recommended Fields
| Field | Meaning | Format or values |
|---|---|---|
validThrough | Expiry date of the posting | ISO 8601; required if the job has an expiry date |
employmentType | Type of employment | FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, OTHER; several values possible |
baseSalary | the actual base salary from the employer | Amount or range with minValue and maxValue, unit HOUR, DAY, WEEK, MONTH or YEAR |
identifier | your internal job ID | Name and value as PropertyValue |
directApply | whether applying directly through the page is possible | true or false |
applicantLocationRequirements | Countries or regions applicants may work from | for remote jobs; also stated in the description |
jobLocationType | Remote flag | only TELECOMMUTE for 100% remote |
Swipe sideways to see the whole table.
Google also lists educationRequirements, experienceRequirements and experienceInPlaceOfEducation as beta fields. According to Google, they may not yet show any effect in search. The details still belong in the visible text, because applicants read them.
An Example of the Markup
This is what a lean markup in JSON-LD format looks like. Company, address and salary are placeholders.
{
"@context": "https://schema.org/",
"@type": "JobPosting",
"title": "Industrial mechanic",
"description": "<p>You maintain and repair our production lines …</p>",
"datePosted": "2026-11-05",
"validThrough": "2026-12-31",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "Beispiel GmbH",
"sameAs": "https://www.beispiel.de"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstraße 1",
"addressLocality": "Saarbrücken",
"postalCode": "66111",
"addressCountry": "DE"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "EUR",
"value": {
"@type": "QuantitativeValue",
"minValue": 3200,
"maxValue": 3800,
"unitText": "MONTH"
}
}
} Include the salary only if it is also visible on the page. Google treats a salary in the data that is missing from the text as a violation.
Job Posting on Google: 6 Steps to Appearing in Job Search
1. Create a Separate Page for Each Job
Google allows the markup only on pages that contain exactly one job. The overview with all open jobs gets no JobPosting. Every job needs its own address, for example /careers/industrial-mechanic-saarbruecken/.
2. Write the Job Completely on the Page
Title, tasks, requirements, working hours, job location and the way to apply are in the visible text. The description is readable without signing in. A PDF to download or an image with text is not enough, because the details must be on the page itself.
3. Add the Structured Data
You add the JobPosting code with all required fields and as many recommended fields as you can back up. Many careers and applicant management systems generate the code automatically. Still check whether the fields are complete and match the text.
4. Check With the Rich Results Test
Enter the address of the job page in the Rich Results Test and start the check. The tool shows errors and warnings about the fields. In the preview, you see which job location Google recognizes.
5. Notify Google of the Page
For job pages, Google recommends the Indexing API instead of the sitemap, because Google crawls the page faster that way. The API is meant only for pages with JobPosting or livestream videos and is subject to a spam check. Without the API, you add the job page to the sitemap and keep the lastmod change date accurate.
6. Monitor Expiry and Reports
After going live, Search Console shows in the rich results report which jobs are valid and where errors are. Once a job is filled, you set validThrough to a past date, remove the markup or take the page offline with status 404 or 410.
Google for Jobs Checklist: Your Job Before Going Live
0 of 12 done
Common Mistakes in Job Postings on Google and How to Avoid Them
All Jobs on One Page
The careers page lists all jobs and carries several JobPosting blocks. Google reports this in Search Console as a violation of the guidelines. Solution: overview without markup, markup only on the individual pages.
Expired Jobs Stay Online
The job is filled, but page and data are still up. Google does not allow expired jobs and flags them in Search Console. Solution: a fixed step in the hiring process that ends the job.
Data and Text Do Not Match
The code has a salary or a place that is missing from the text or reads differently. Solution: maintain text and code from the same source, for example from applicant management.
Content Loads Only via Script
If the page assembles the job only in the browser, Google may not see the text. Solution: Use the Search Console URL Inspection tool to check whether the text appears in the rendered page.
The Job Sits Behind a Login
Applicants must sign in before they can read the description. Google does not allow such jobs. Solution: public description, a sign-in at most when submitting the application.
The Title Is a Promotional Line
"Join our team!" is not a title. Google expects the job title. Solution: put the title applicants search for in the title and the address to the reader in the description.
Do and Don't for Jobs in Google Job Search
| Do | Don't |
|---|---|
| Write the job title the way applicants search | Fill the title with exclamation marks, place and benefits |
| State the salary visibly and in the code if you publish it | Store the salary only in the code |
Mark up remote only for 100% remote as TELECOMMUTE | Pass off occasional work from home as a remote job |
| End filled jobs on the same day | Leave filled jobs up "for unsolicited applications" |
| Test every job individually | Test only the template |
Google for Jobs and Recruiting Ads: How the Two Work Together
Google for Jobs shows your jobs to people who are actively looking for a job. How high your job ranks there, you do not set directly. With ads through Google Ads, you reach searchers specifically in a region and for search terms you choose, and you pay for clicks.
Both use the same foundation: a good job page. It is the destination of the ad and the source for job search. How we connect ad, careers page and measurement is shown in the recruiting campaign through Google. So that you see which path brings applications, clean measurement is part of it. More on this at our tracking agency.
Structured data is also an SEO topic. Anyone who implements JobPosting cleanly knows the logic for further markup, for example for the business or for frequently asked questions. How we do this across whole websites is described on the page search engine optimization for businesses.
Start with the job page
Before we talk about ads, we look at the job page. If it is complete and readable without a login, it works for job search and for every ad.
Free · 30 minutes · no obligation
Frequently asked questions
Does Google for Jobs cost anything?
The Google documentation on JobPosting markup names no costs for appearing in job search. It only states clearly that applicants must not pay anything. Effort arises for the careers page and the technical implementation. Ads through Google Ads are a separate product with a separate budget.
How long until my job appears?
Google names no fixed time frame. The job appears only after Google has crawled the page. According to Google, the Indexing API triggers crawling faster than the sitemap. You check the status with the URL Inspection tool and in the Search Console report.
Do I need a careers page of my own?
Yes, if you want to get your jobs into job search yourself. Google reads the data from a page that describes the job completely and offers a way to apply. A separate subpage per job on your website is the clean solution.
Is Google for Jobs an alternative to StepStone?
Google for Jobs is a search feature, while job boards like StepStone are portals with their own reach. Both reach people in different ways. Many businesses combine their own careers page with job boards and ads. Which mix fits your jobs depends on occupation, region and budget.
Do I have to state a salary?
No, baseSalary is a recommended field. If you state it, the employer's actual base salary belongs in it, not an estimate. The salary is then also visible in the text. A range is possible.
How do I mark up a remote job?
For a job that is 100% remote, you set jobLocationType to TELECOMMUTE and name at least one country in applicantLocationRequirements. Then the job location is dropped. The description states explicitly that the job is fully remote.
What do I do with filled jobs?
Google allows three ways: expiry date validThrough in the past, remove the markup or take the page offline with status 404 or 410. Decide who does that on the day of the acceptance. Otherwise Search Console reports expired jobs.
Can I set up Google for Jobs without an agency?
Yes, if you can maintain the code on your website or your applicant management generates the markup. Test every job with the Rich Results Test. Support is worth it if you also want to promote jobs with ads and measure applications.
Sources (retrieved on 5 November 2026): Google Search Central: Job posting (JobPosting) structured data · Google Search Central: Indexing API quickstart