familyName
familyName · Not mentioned by Google
Appears in
What is it?
familyName stores a person's last name (or surname, in cultures where it follows the given name). It pairs with givenName to provide structured name components as an alternative to the single name property. Schema.org notes that "family name" refers to the last name in U.S. naming conventions, acknowledging variation across cultures.
Why this matters for AEO
When a user asks "articles by [Last Name]" or "Dr. [Last Name] credentials," AI answer engines use familyName to match partial name references. Academic and professional contexts frequently reference people by surname alone. Structured name components give AI systems the data to connect a surname query to the correct entity, especially when multiple people share a common given name.
What the specs say
Schema.org: Expects Text. "Family name. In the U.S., the last name of a Person." Can be used alongside givenName instead of the name property. Source
Google: Not listed in Google's ProfilePage structured data documentation. Google's Person markup guidance focuses on the combined name property. Source
How to find your value
- Team page — Last name / surname as displayed
- LinkedIn profile — Last name field
- Author byline — Surname portion
- HR records — Legal family name
Format and code
With givenName pair:
{
"@context": "https://schema.org",
"@type": "Person",
"givenName": "Denver",
"familyName": "Prophit",
"honorificPrefix": "Mr.",
"honorificSuffix": "Jr."
}
Full name pattern (recommended):
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Denver Prophit Jr.",
"givenName": "Denver",
"familyName": "Prophit"
}
Always include the combined name property alongside familyName and givenName. Structured name components add disambiguation value, but name remains the primary identifier.
Webflow implementation
Static pages
Add familyName in Page Settings > Custom Code (before </head>):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Pavel Kurecka",
"givenName": "Pavel",
"familyName": "Kurecka"
}
</script>
CMS template pages
For team member pages with a "Last Name" plain text field:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "{{wf {"path":"name","type":"PlainText"} }}",
"givenName": "{{wf {"path":"first-name","type":"PlainText"} }}",
"familyName": "{{wf {"path":"last-name","type":"PlainText"} }}"
}
</script>
In Schema HQ
The familyName field populates alongside givenName automatically when generating Person schema, splitting the full name into components for the published JSON-LD.
Real examples
Denver Prophit on denverprophit.us:
{
"@context": "http://schema.org/",
"@type": "Person",
"givenName": "Denver",
"familyName": "Prophit",
"honorificPrefix": "Mr.",
"honorificSuffix": "Jr."
}
Related fields
- givenName — first name, paired with familyName
- name — combined full name (always include alongside familyName)
- additionalName — middle name or other name components
- honorificSuffix — suffix like Jr., III, PhD
FAQ
Is familyName required if I already use name?
No. The name property alone is sufficient for most implementations. Add familyName and givenName when you need structured name disambiguation, such as team directories, author databases, or academic profiles where surname matching is common.
How do I handle hyphenated or compound family names?
Enter the full family name as a single string: "familyName": "Garcia-Lopez" or "familyName": "Van der Berg". Schema.org treats familyName as plain text with no special parsing of compound forms.