How should profile markup represent a name and account handle?

The Citead team, updated

In short. Use mainEntity.name for the primary public identity and alternateName for a handle or other public alias.

Definition: In ProfilePage structured data, mainEntity identifies the person or organization described by the page. Put the account's primary public name in mainEntity.name and use mainEntity.alternateName for a handle or another public alias when applicable.

Key facts

  • Google's ProfilePage documentation requires mainEntity to identify the person or organization that the profile page is about.
  • Google describes name as the primary way a person or organization is identified and recommends real names in name with social media handles in alternateName.
  • Google permits a social media handle in name when it is the only way the person is identified on the site. If name is unavailable, alternateName can fulfill that requirement.
  • Schema.org defines mainEntity as the primary entity described by a page or other CreativeWork, name as the item's name, and alternateName as an alias.

What does mainEntity identify?

Google's ProfilePage property table says that mainEntity is required and represents the person or organization that the profile page is about. The page's primary focus must be a single person or organization affiliated with the overall website. A forum user profile, a news-site author page, a blog's About Me page, and an employee page are the documented valid use cases.

Schema.org describes mainEntity as the primary entity described in a page or other CreativeWork. That relationship places the identity fields on the nested Person or Organization, rather than treating the profile page's own title as the account identity.

How should name and alternateName be filled?

Google's documentation calls name the primary way the person or organization is identified. It recommends a real name in this property and a social media handle in alternateName when the real name is used. Google also documents a fallback: a handle can occupy name when it is the only identifier available on the site, and alternateName can satisfy the requirement when name is unavailable.

For an account with both values, the nested entity can therefore be written like this:

{
  "@type": "ProfilePage",
  "mainEntity": {
    "@type": "Person",
    "name": "Angelo Huff",
    "alternateName": "ahuff23"
  }
}

The example follows Google's published ProfilePage example, which pairs the person's name with the account handle. Schema.org's ProfilePage definition gives alternateName the broader meaning of an alias, so the value can represent another public name when the account has one.

What if the account is known only by its handle?

Google's property guidance expressly allows the social media handle in name if that is the only way the person is identified on the site. In that case, use the handle as the available primary identifier and do not create a real name that the profile does not present. If the site has another public alias as well, Schema.org's definition of alternateName covers that alias.

Keep identifier separate when the site has a unique internal identifier. Google describes this property as an identifier used within the site and gives an internal database ID as an example, including an ID that remains useful if the social media handle changes.

How can you check the implementation?

Google's documentation, last updated 8 September 2026, recommends validating the markup with the Rich Results Test and using URL Inspection to test how Google sees the page. The page must be accessible to Google and cannot be blocked by robots.txt, a noindex tag, or login requirements. The same documentation says to deploy a few pages with the markup before asking Google to recrawl their URLs.

Check that the visible profile identifies the same account represented in the nested entity, then verify that name and alternateName contain the values shown on the page. Schema.org's definition of sameAs describes it as a URL of a reference page that unambiguously indicates the item's identity, so a separately maintained official profile can be represented with that property when applicable.

FAQ

Should the account handle go in name or alternateName?

Use alternateName when the profile presents a real name in name. Google allows the handle in name when it is the only way the person is identified on the site.

Can alternateName be used without name?

Yes. Google's ProfilePage documentation says that alternateName can fulfill the name requirement when name is unavailable.

Is identifier the same as the account handle?

Not necessarily. Google describes identifier as a unique identifier used within the site and gives an internal database ID as an example even when a social media handle changes.

Sources

  1. Google Search Central, "Profile page (ProfilePage) structured data", 2026-09-08
  2. Schema.org, "ProfilePage", August 2026
  3. Schema.org, "sameAs", August 2026

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark