Merge pull request #8924 from internet-development/elijaharita/google-structured-data
feat: google structured data for profiles and posts
This commit is contained in:
@@ -56,6 +56,41 @@
|
|||||||
<meta property="article:published_time" content="{{ postView.IndexedAt }}">
|
<meta property="article:published_time" content="{{ postView.IndexedAt }}">
|
||||||
<link rel="alternate" type="application/json+oembed" href="https://embed.bsky.app/oembed?format=json&url={{ postView.Uri | urlencode }}" />
|
<link rel="alternate" type="application/json+oembed" href="https://embed.bsky.app/oembed?format=json&url={{ postView.Uri | urlencode }}" />
|
||||||
<link rel="alternate" href="{{ postView.Uri }}" />
|
<link rel="alternate" href="{{ postView.Uri }}" />
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "DiscussionForumPosting",
|
||||||
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{{ postView.Author.DisplayName }}",
|
||||||
|
"url": "https://bsky.app/profile/{{ postView.Author.Handle }}"
|
||||||
|
},
|
||||||
|
{%- if postText %}
|
||||||
|
"text": "{{ postText }}",
|
||||||
|
{% endif %}
|
||||||
|
{%- if imageThumbUrls %}
|
||||||
|
"image": "{{ imageThumbUrls[0] }}",
|
||||||
|
{% endif %}
|
||||||
|
"datePublished": "{{ postView.IndexedAt }}",
|
||||||
|
"interactionStatistic": [
|
||||||
|
{
|
||||||
|
"@type": "InteractionCounter",
|
||||||
|
"interactionType": "https://schema.org/LikeAction",
|
||||||
|
"userInteractionCount": {{ postView.LikeCount }}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "InteractionCounter",
|
||||||
|
"interactionType": "https://schema.org/CommentAction",
|
||||||
|
"userInteractionCount": {{ postView.ReplyCount }}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "InteractionCounter",
|
||||||
|
"interactionType": "https://schema.org/ShareAction",
|
||||||
|
"userInteractionCount": {{ postView.RepostCount + postView.QuoteCount }}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</script>
|
||||||
{%- elif requiresAuth and profileHandle -%}
|
{%- elif requiresAuth and profileHandle -%}
|
||||||
<meta property="og:type" content="article">
|
<meta property="og:type" content="article">
|
||||||
<meta property="profile:username" content="{{ profileHandle }}">
|
<meta property="profile:username" content="{{ profileHandle }}">
|
||||||
|
|||||||
@@ -51,6 +51,41 @@
|
|||||||
<meta property="og:description" content="This profile requires authentication to view.">
|
<meta property="og:description" content="This profile requires authentication to view.">
|
||||||
<meta property="twitter:description" content="This profile requires authentication to view.">
|
<meta property="twitter:description" content="This profile requires authentication to view.">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "ProfilePage",
|
||||||
|
"dateCreated": "{{ profileView.CreatedAt }}",
|
||||||
|
"mainEntity": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{{ profileView.DisplayName }}",
|
||||||
|
"alternateName": "@{{ profileView.Handle }}",
|
||||||
|
"identifier": "{{ profileView.Did }}",
|
||||||
|
"description": "{{ profileView.Description }}",
|
||||||
|
"image": "{{ profileView.Avatar }}",
|
||||||
|
"interactionStatistic": [
|
||||||
|
{
|
||||||
|
"@type": "InteractionCounter",
|
||||||
|
"interactionType": "https://schema.org/FollowAction",
|
||||||
|
"userInteractionCount": {{ profileView.FollowersCount }}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"agentInteractionStatistic": [
|
||||||
|
{
|
||||||
|
"@type": "InteractionCounter",
|
||||||
|
"interactionType": "https://schema.org/FollowAction",
|
||||||
|
"userInteractionCount": {{ profileView.FollowsCount }}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "InteractionCounter",
|
||||||
|
"interactionType": "https://schema.org/WriteAction",
|
||||||
|
"userInteractionCount": {{ profileView.PostsCount }}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user