On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

title

title · Required

Appears in

JobPosting

What is it?

The job title describes the position being offered. It names the role itself, not the headline of the job listing. Google enforces this distinction: "Software Engineer" qualifies, "Amazing Opportunity at Our Company!" does not.

Why this matters for AEO

When someone asks an AI assistant "What software engineering jobs are open at Stripe?" the engine pulls title values directly into its response. A clean, standard job title ("Senior Backend Engineer") gets matched and surfaced. A stuffed title ("Senior Backend Engineer - REMOTE - $200K - Benefits!!!") gets filtered or misrepresented. AI engines treat title as the primary identifier for matching job queries to listings.

What the specs say

Schema.org:Text. The title of the job. schema.org/title

Google: Required. "The title of the job (not the title of the posting). For example, 'Software Engineer' or 'Barista'." Google Search Central

How to find your value

  • Job requisition system — The official position name in the req
  • HR department — Standardized title from the job architecture
  • Hiring manager — The title they use in the role description
  • Industry convention — Match titles used on LinkedIn and Indeed for similar roles

Use the standardized role name, not an internal code or creative title. "Software Engineer III" is better than "Code Ninja" for both search matching and AI comprehension.

Format and code

Type: Text (plain string)

{
  "@type": "JobPosting",
  "title": "Software Engineer"
}

Google guidelines for title:

  • Use the concise job title only
  • Do not include location, salary, company name, or perks in the title
  • Do not use all caps or excessive punctuation
  • Match the title to what appears in the job description body

Valid examples:

"title": "Data Entry Clerk"
"title": "Senior UX Designer"

Invalid examples:

"title": "Data Entry Clerk - Work From Home - $25/hr - Benefits - Apply Now!"
"title": "AMAZING OPPORTUNITY - Software Engineer at Google"

Webflow implementation

Static pages

Add the title value directly in your JSON-LD script in Page Settings > Custom Code (Before ):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Frontend Developer"
}
</script>

CMS template pages

Bind the title to a CMS plain text field using Webflow's dynamic embed:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "{{wf {&quot;path&quot;:&quot;job-title&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}"
}
</script>

Create a dedicated "Job Title" plain text field in your CMS collection. Keep it separate from the page title so you can optimize each independently.

In Schema HQ

The title field reads from Webflow CMS fields and maps the job title automatically into valid JSON-LD. No embed code to maintain. When the hiring manager updates the title in Webflow, Schema HQ picks up the change on the next publish.

Real examples

MagsRUs Wheel Company (GitHub: JayHoltslander):

{
  "@context": "http://schema.org/",
  "@type": "JobPosting",
  "title": "Data Entry Clerk",
  "datePosted": "2017-01-18",
  "validThrough": "2017-03-18T00:00",
  "employmentType": ["FULL_TIME", "CONTRACTOR"],
  "hiringOrganization": {
    "@type": "Organization",
    "name": "MagsRUs Wheel Company",
    "sameAs": "http://www.magsruswheelcompany.com"
  }
}

Unhead documentation (unhead.unjs.io):

{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Software Engineer",
  "description": "We are looking for a Software Engineer to join our team.",
  "datePosted": "2026-01-15",
  "validThrough": "2026-04-15",
  "employmentType": "FULL_TIME"
}

According to a Web Data Commons analysis, title appears in 99% of JSON-LD JobPostings, making it the most consistently implemented field alongside datePosted.

Related fields

FAQ

Should title match the H1 of the job posting page?

Ideally yes. Google compares the title in your structured data against the visible content on the page. Mismatches between the JSON-LD title and the page heading can trigger manual action warnings. Keep them aligned.

Can title include the seniority level?

Yes. "Senior Software Engineer," "Junior Data Analyst," and "Lead Product Designer" are all valid. Seniority is part of the job title. What to exclude: location, salary, benefits, and company name.

What happens if title is missing from JobPosting schema?

Google will not show the job in its job search experience. title is a required field. Without it, the entire JobPosting markup is considered incomplete and will fail validation in the Rich Results Test.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us