Social
Back to Knowledge Base
Staff & growth

Making Your Job Openings Findable in Google and AI: JobPosting Schema Explained

You have a careers page on your restaurant website, maybe set up along the lines of Recruiting staff through your own restaurant website. Yet applications stay thin. One likely reason: candidates aren’t searching your site, they’re searching Google or asking an AI assistant “what hospitality jobs are open in [city]”. Without the right structure, neither one recognises your listing as a job opening, just as text on a page.

What JobPosting schema is and why it works

JobPosting is structured data (schema markup) built specifically for job listings. It tells Google and AI assistants, in a format they process automatically, exactly what they need to know: this is a job, this is the role, this is the location, and this is the deadline. Without that markup, a search engine has to guess from plain text whether a page is actually a vacancy, and that guess often fails for a short block of text like a hospitality job ad. With schema in place, your listing can also appear in Google for Jobs, a dedicated jobs panel that can outrank the regular search results.

What belongs in the schema

For a hospitality role, a handful of fields matter most:

  • title and description: the job title and description, matching what’s on your careers page.
  • datePosted and validThrough: when the listing went live and until when it’s valid. Without an end date, a listing can keep showing for months after the role has been filled.
  • hiringOrganization: your restaurant’s name, tied to your logo and website.
  • jobLocation: your venue’s address, essential for anyone searching “hospitality job in [city]”.
  • employmentType: for example PART_TIME or FULL_TIME, so filters in Google for Jobs work correctly.

A salary indication (baseSalary) is optional, but listings with one tend to get more clicks: candidates actively filter on it.

The same idea as your menu, now for staffing

This works on the same principle as the schema markup for your menu: dishes and prices in a fixed format so Google and AI display them correctly. For job listings, the logic is identical, just with job title, location and deadline instead of dish and price.

Keep your listings current

A listing without an end date, or one that stays live after the role has been filled, isn’t just confusing for candidates. It also chips away at how reliable Google and AI assistants judge your careers page to be. Remove or archive a listing as soon as the role is filled, and keep the validThrough date realistic, typically 30 to 60 days out.

Here’s how to do it

  1. Give every open role its own careers page.
  2. Fill in job title, location, employment type and a realistic end date for each listing.
  3. Add a salary indication if you can: it raises the click-through rate.
  4. Remove or archive a listing as soon as the role is filled.
  5. Use the SEO checklist to confirm your schema is being picked up without errors.

Curious how findable your restaurant is for AI assistants more broadly, beyond job listings? Check your AI Visibility Score.

Let candidates find your job opening, not just visitors to your site. Try Sitebite and let it handle schema markup for your job listings automatically.