jobTitle
jobTitle · Not mentioned by Google
Appears in
What is it?
jobTitle declares a person's professional title. It accepts plain text ("CEO," "Senior Software Engineer") or a DefinedTerm object for standardized occupational classifications. This field is one of the most common Person properties used in author markup and team pages because it establishes professional context alongside worksFor.
Why this matters for AEO
When a user asks "Who is the CEO of [Company]?" or "What does [Person] do?", AI answer engines pull jobTitle to construct responses. This field is central to E-E-A-T author signals: Google's guidance for article structured data directs publishers to nest jobTitle within the author Person object. An AI engine answering "Is [Author] qualified to write about [topic]?" evaluates jobTitle as a credential signal alongside knowsAbout and worksFor.
What the specs say
Schema.org: Expects Text or DefinedTerm. "The job title of the person (for example, Financial Manager)." Source
Google: Not listed in Google's ProfilePage structured data documentation. However, Google's article author guidance references jobTitle as a property to include within Person markup nested under an article's author field. Source
How to find your value
- LinkedIn profile — Current title under Experience
- Company website — Team page or about page titles
- Email signature — Professional title line
- Business cards — Title printed below name
- HR records — Official job title on file
Format and code
Plain text (most common):
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Patrick Coombe",
"jobTitle": "CEO",
"worksFor": {
"@type": "Organization",
"name": "Elite Strategies"
}
}
With DefinedTerm for standardized classification:
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Maria Lopez",
"jobTitle": {
"@type": "DefinedTerm",
"name": "Financial Manager",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"name": "Bureau of Labor Statistics SOC",
"url": "https://www.bls.gov/soc/"
},
"termCode": "11-3031"
}
}
Nested in article author (E-E-A-T pattern):
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEO Strategy Guide",
"author": {
"@type": "Person",
"name": "Patrick Coombe",
"jobTitle": "CEO",
"worksFor": {
"@type": "Organization",
"name": "Elite Strategies"
}
}
}
Use plain text for most implementations. The DefinedTerm form is useful for job boards or HR platforms that map to standardized occupational codes. Keep titles concise and accurate. Do not inflate titles in markup that differ from what appears on the page.
Webflow implementation
Static pages
Add jobTitle in Page Settings > Custom Code (before </head>):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Pavel Kurecka",
"jobTitle": "Founder & CRO Strategist",
"worksFor": {
"@type": "Organization",
"name": "Karpi Studio"
}
}
</script>
CMS template pages
For team member pages with a "Title" plain text field:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "{{wf {"path":"name","type":"PlainText"} }}",
"jobTitle": "{{wf {"path":"title","type":"PlainText"} }}",
"worksFor": {
"@type": "Organization",
"name": "Your Company"
}
}
</script>
For blog post author markup, nest the Person inside the Article schema on your CMS blog template.
In Schema HQ
jobTitle is output in Person schema generation. Enter the professional title, and Schema HQ pairs it with worksFor in the published JSON-LD for complete author attribution.
Real examples
Jay Holtslander on jay.holtslander.ca:
{
"@context": "http://www.schema.org",
"@type": "Person",
"name": "Jay Holtslander",
"jobTitle": "Technical Director",
"worksFor": [
{
"@type": "Organization",
"name": "Skunkworks Creative Group Inc."
}
]
}
Patrick Coombe on patrickcoombe.com/about-patrick:
{
"@context": "http://schema.org",
"@type": "Person",
"name": "Patrick Coombe",
"jobTitle": "CEO",
"worksFor": {
"@type": "Organization",
"name": "Elite Strategies"
}
}
Related fields
- worksFor — the organization where this title is held
- knowsAbout — expertise areas that complement the title
- givenName — first name of the person
- familyName — last name of the person
- description — bio text that often includes role context
FAQ
Should jobTitle be plain text or a DefinedTerm?
Plain text works for nearly all implementations. Use DefinedTerm only if you need to reference a standardized occupational classification system (like BLS SOC codes). Search engines and AI systems parse both formats, but plain text is simpler and more widely supported.
Can a person have multiple jobTitles?
Schema.org does not restrict jobTitle to a single value, so an array is technically valid. However, most implementations use a single primary title. If someone holds titles at multiple organizations, pair each jobTitle with its corresponding worksFor in separate Person objects or use the primary title.
Does jobTitle help with Google Knowledge Panels?
jobTitle contributes to the entity information Google uses for Knowledge Panels, especially when paired with worksFor and sameAs links to authoritative profiles. It is not sufficient on its own but strengthens the overall entity signal.