[wp-meta] [Making WordPress.org] #5604: Add structured data to profile pages
Making WordPress.org
noreply at wordpress.org
Fri Feb 5 11:27:42 UTC 2021
#5604: Add structured data to profile pages
----------------------------+--------------------
Reporter: jonoaldersonwp | Owner: (none)
Type: enhancement | Status: new
Priority: low | Milestone:
Component: Profiles | Keywords: seo
----------------------------+--------------------
We should add structured data to profile pages, as part of a bigger
project to add structured data throughout the wp.org ecosystem.
**Specifically, we should:**
- Duplicate the markup currently used on the wordpress.org homepage.
- Adapt and extend that as follows:
- Add a `WebSite` piece for profiles.wordpress.org.
- Alter the `isPartOf` property of the `WebPage` to reference the new
`WebSite` piece.
- Alter the `@type` of the `WebPage` to an array, and add `ProfilePage`.
- Set the `@id` and `url` properties of the `WebPage` to the canonical
URL of the profile page.
- Remove the `description` property from the `WebPage`.
- Add a `Person` piece, representing the person whom the profile
represents.
- Add an `about` property to the `WebPage`, referencing the `Person`.
**Example output**
{{{
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [{
"@type": "Organization",
"@id": "https://wordpress.org/#organization",
"url": "https://wordpress.org/",
"name": "WordPress",
"logo": {
"@type": "ImageObject",
"@id": "https://wordpress.org/#logo",
"url": "https://s.w.org/style/images/about
/WordPress-logotype-wmark.png"
},
"sameAs": [
"https://www.facebook.com/WordPress/",
"https://twitter.com/WordPress",
"https://en.wikipedia.org/wiki/WordPress"
]
},
{
"@type": "WebSite",
"@id": "https://wordpress.org/#website",
"url": "https://wordpress.org/",
"name": "WordPress.org",
"publisher": {
"@id":
"https://wordpress.org/#organization"
}
},
{
"@type": "WebSite",
"@id": "https://profiles.wordpress.org/#website",
"url": "https://profiles.wordpress.org/",
"name": "WordPress.org Profiles",
"isPartOf": {
"@id": "https://wordpress.org/#website"
},
"publisher": {
"@id":
"https://wordpress.org/#organization"
}
},
{
"@type": ["ProfilePage", "WebPage"],
"@id": "https://profiles.wordpress.org/matt/",
"url": "https://profiles.wordpress.org/matt/",
"inLanguage": "en",
"name": "Matt Mullenweg – @matt",
"isPartOf": {
"@id":
"https://profiles.wordpress.org/#website"
},
"about": {
"@id":
"https://profiles.wordpress.org/matt/#person"
}
},
{
"@type": "Person",
"@id":
"https://profiles.wordpress.org/matt/#person",
"url": "https://profiles.wordpress.org/matt/",
"name": "Matt Mullenweg",
"image":
"https://secure.gravatar.com/avatar/767fc9c115a1b989744c755db47feb60?s=500",
}
]
}
</script>
}}}
**Special considerations**
- When a `Person` lacks a `name` value, use their handle instead, omitting
the `@` symbol (e.g., for https://profiles.wordpress.org/tzafrir/, use
`tzafrir`).
- The addition of `sameAs` properties to the person is bottlenecked by
https://meta.trac.wordpress.org/ticket/4278.
- We request a 500px sized version of the gravatar image.
--
Ticket URL: <https://meta.trac.wordpress.org/ticket/5604>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org
More information about the wp-meta
mailing list