---
title: "Google for Jobs"
label: "Google for Jobs"
description: "Make eligible job listings understandable to Google's job search experience."
publishedAt: 2025-12-31
updatedAt: 2026-10-06
order: 4
status: "published"
faqs:
  - question: Why aren't my jobs appearing in Google for Jobs?
    answer: "A job must be open, publicly accessible, compliant with Google's job posting policies, and indexed with valid structured data. Use the Rich Results Test and Search Console to inspect errors. Google does not guarantee that an eligible job will appear or provide a fixed timeline."
  - question: Why are my jobs getting few impressions?
    answer: "Check Search Console for indexing or structured-data issues, then verify that the title, description, location, remote eligibility, salary, and expiry data accurately match the visible job. Providing a recommended property does not guarantee more impressions."
  - question: Why does Search Console say streetAddress or postalCode is missing?
    answer: "Those are optional address fields. Google requires the job's country and asks you to include as many other address fields as you have. Cavuno leaves out any address field the job doesn't have instead of making one up, which often happens with imported jobs that only list a city and state. Search Console lists these under Improve item appearance, which is for non-critical issues. The jobs stay valid and eligible for Google for Jobs."
---

Google's job search experience can appear in Google Search results for job-related queries. Adding valid `JobPosting` structured data makes an open job eligible for that experience; it does not guarantee display, traffic, or ranking.

## What is Google for Jobs?

When Google shows its job search experience, users can filter listings and open a job's apply options. The exact interface and available filters vary by query, location, device, and the data supplied with each job.

## How Cavuno gets you into Google for Jobs

### Automatic JobPosting schema

Every published job listing on your Cavuno board includes `JobPosting` structured data. Here's an example of what Cavuno can generate when the corresponding fields are present:

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "Senior Software Engineer",
  "description": "<p>We're looking for a Senior Software Engineer...</p>",
  "datePosted": "2026-02-01",
  "validThrough": "2026-04-01T23:59:59Z",
  "employmentType": "FULL_TIME",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "Acme Corp",
    "sameAs": ["https://www.acmecorp.com", "https://www.linkedin.com/company/acmecorp"],
    "logo": "https://www.acmecorp.com/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "San Francisco",
      "addressRegion": "CA",
      "addressCountry": "US"
    }
  },
  "jobLocationType": "TELECOMMUTE",
  "applicantLocationRequirements": {
    "@type": "Country",
    "name": "US"
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": {
      "@type": "QuantitativeValue",
      "minValue": 150000,
      "maxValue": 200000,
      "unitText": "YEAR"
    }
  },
  "identifier": {
    "@type": "PropertyValue",
    "name": "Acme Corp",
    "value": "SE-2026-0042"
  },
  "educationRequirements": [
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "bachelor degree"
    }
  ],
  "experienceRequirements": {
    "@type": "OccupationalExperienceRequirements",
    "monthsOfExperience": 60
  },
  "experienceInPlaceOfEducation": true
}
</script>
```

This example represents a role that is fully remote within the United States and also permits reporting to the San Francisco workplace. Use `TELECOMMUTE` only when the role is fully remote. For hybrid or occasional work-from-home roles, keep the physical location and do not mark the job as `TELECOMMUTE`.

This markup helps Google understand the visible job and can make it eligible for the job search experience. Google may choose whether and how to display it. For Google's current rules, see the [JobPosting structured data documentation](https://developers.google.com/search/docs/appearance/structured-data/job-posting). You can validate a page with the [free schema validator](/tools/job-posting-schema-validator).

### Property status

Google separates required, recommended, and conditional properties. The principal fields Cavuno maps are:

| Field | Google status | Source in Cavuno |
|-------|---------------|------------------|
| Job title | Required | Title field |
| Description | Required | Description field |
| Date posted | Required | Publish date |
| Hiring organization | Required | Company |
| Job location | Required for jobs with a physical workplace | Office locations |
| Remote type and applicant location | Required for fully remote jobs under Google's remote-job rules | Remote status and eligible countries |
| Valid through | Required when the posting has an expiry date | Expiry date |
| Employment type | Recommended | Employment type field (a custom type is sent as its Google equivalent) |

### Optional but recommended

These fields enhance your listings in search results:

- **Salary** (`baseSalary`): Cavuno outputs the employer-provided base salary when you include a salary range. Google lists it as a recommended property; it does not promise a click or ranking increase.
- **Remote status** (`jobLocationType`): Cavuno sets this to `TELECOMMUTE` for remote roles and includes `applicantLocationRequirements` with the eligible countries you specify.
- **Identifier** (`identifier`): helps Google deduplicate the same job across multiple sites. Cavuno generates this from the company name and job ID.

### Education and experience fields

Cavuno automatically generates Google's beta education and experience schema properties when you fill in the corresponding fields on a job listing:

**Education requirements:** when you set education requirements on a job (high school, associate degree, bachelor degree, professional certificate, or postgraduate degree), Cavuno outputs `educationRequirements` as an array of `EducationalOccupationalCredential` objects. If you select "no requirements," Google knows the role is open to all education levels.

**Experience requirements:** when you set experience months on a job, Cavuno generates `experienceRequirements` as an `OccupationalExperienceRequirements` object with the `monthsOfExperience` property. Setting experience to zero tells Google the role is entry-level.

**Experience in place of education:** when a job has both education and experience requirements set and you enable "experience in place of education," Cavuno adds `experienceInPlaceOfEducation: true` to the schema. This signals to Google that the role is open to candidates who have equivalent work experience instead of formal credentials.

Google currently documents these as recommended beta properties. They can make a listing eligible for experiences that use the fields, but Google says you may not see an immediate appearance or effect. Keep the visible job description consistent with the structured data. For details, see the [job posting schema guide](/blog/job-posting-schema#beta-jobposting-schema-properties-worth-adding-now).

## Maximizing your Google for Jobs presence

### Write clear job titles

When authoring a job, use the actual role title, such as “Senior Software Engineer,” rather than promotional copy or excessive punctuation. For jobs received from an employer or third-party source, preserve the supplied title rather than rewriting it only for SEO.

### Include complete location data

For location-based searches, specify the city and state or region, plus the country. For remote roles, clearly mark them as remote. Cavuno formats this data correctly for Google automatically.

Cavuno outputs every address field the job has: country, region, city, and postal code when one is available. If a field is missing, Cavuno leaves it out. It never writes a placeholder street address or postal code, because the structured data has to match what the page shows. Jobs imported from other sources often list only a city and state, so their markup contains just those fields and the country.

### Missing streetAddress or postalCode warnings

Search Console may report **Missing field "streetAddress"** or **Missing field "postalCode"** for a job location. Neither field is required. Google requires `addressCountry` and recommends adding the other address fields when you have them. Search Console lists these warnings under **Improve item appearance**, which is for non-critical issues. Critical errors appear under **Why items are invalid**. A job with only these warnings is still valid and can appear in Google for Jobs.

To clear a warning on a job you control, add the full workplace address to the job's office location. Cavuno generates structured data when the page is rendered, so the next crawl picks up the updated address for existing listings as well as new ones. For imported jobs, the address can only be as complete as the data the source provides.

### Set realistic expiry dates

Set the expiry date to when applications close or when you will confirm that the role remains open. Cavuno defaults to 30 days. Do not use a distant date to keep a closed role eligible.

### Keep descriptions substantive

Provide the complete job description that users can read on the page, including responsibilities, qualifications, skills, working hours, education, and experience where applicable. Google does not specify a minimum word count.

## Verifying your presence

### Google Search Console

Use Search Console's **Job postings** rich-result report, when available for the property, to review valid items, errors, and warnings. Search Console navigation can change; search for the report name if it is not shown under the expected section.

### Manual testing

Test individual job pages using [Cavuno's free schema validator](/tools/job-posting-schema-validator) or [Google's Rich Results Test](https://search.google.com/test/rich-results). Enter a job page URL from your board and verify that the JobPosting schema is detected without errors.

## What to expect after publishing

Google decides whether and when to crawl, index, and display each job. A successful structured-data test or Indexing API notification does not guarantee appearance. Use URL Inspection and the Job postings report to verify the current state instead of relying on a fixed waiting period.

## Measure the impact

Measure Google Search impressions, clicks, apply clicks, and confirmed applications for your own board. Traffic and candidate share vary by niche, geography, competition, and distribution strategy.

## Go deeper

For a complete property-by-property breakdown of JobPosting schema, including validation techniques, common errors, content policies, and measuring business impact, see the [job posting schema guide](/blog/job-posting-schema).

## Next steps

Validate one representative public job with the [schema validator](/tools/job-posting-schema-validator), then inspect the same URL in Search Console. If the listing is valid but not discovered, confirm your [sitemap submission](/docs/job-board-seo/sitemap-submission) before considering the [Google Indexing API](/docs/job-board-seo/indexing-api).
