🔍 Optimize post SEO
This commit is contained in:
parent
87d728b022
commit
4d21f3463a
@ -3,7 +3,7 @@ export const prerender = false
|
|||||||
|
|
||||||
import sanitizeHtml from 'sanitize-html'
|
import sanitizeHtml from 'sanitize-html'
|
||||||
import { Icon } from 'astro-icon/components'
|
import { Icon } from 'astro-icon/components'
|
||||||
import {SEO} from 'astro-seo'
|
import { SEO } from 'astro-seo'
|
||||||
import { marked } from 'marked'
|
import { marked } from 'marked'
|
||||||
|
|
||||||
import Layout from '@/layouts/Layout.astro'
|
import Layout from '@/layouts/Layout.astro'
|
||||||
@ -34,29 +34,50 @@ const attachments = await fetchAttachmentMeta(data.body.attachments)
|
|||||||
title={data.body?.title ? data.body.title : `Post #${data.id}`}
|
title={data.body?.title ? data.body.title : `Post #${data.id}`}
|
||||||
description={data.body?.content}
|
description={data.body?.content}
|
||||||
openGraph={{
|
openGraph={{
|
||||||
|
optional: {
|
||||||
|
siteName: "Solar Network",
|
||||||
|
description: data.body?.description ?? data.body?.content?.substring(0, 200),
|
||||||
|
video: getAttachmentUrl(
|
||||||
|
attachments.find((a) => a.mimetype.startsWith('video'))?.rid
|
||||||
|
),
|
||||||
|
audio: getAttachmentUrl(
|
||||||
|
attachments.find((a) => a.mimetype.startsWith('audio'))?.rid
|
||||||
|
),
|
||||||
|
},
|
||||||
basic: {
|
basic: {
|
||||||
title: data.body?.title ? data.body.title : `Post #${data.id}`,
|
title: data.body?.title ? data.body.title : `Post #${data.id}`,
|
||||||
type: "article",
|
type: 'article',
|
||||||
image: data.body?.thumbnail ? getAttachmentUrl(data.body.thumbnail) : getAttachmentUrl(attachments.find(a => a.mimetype.startsWith('image'))?.rid),
|
image: data.body?.thumbnail
|
||||||
url: `https://solsynth.dev/posts/${data.id}`
|
? getAttachmentUrl(data.body.thumbnail)
|
||||||
|
: getAttachmentUrl(
|
||||||
|
attachments.find((a) => a.mimetype.startsWith('image'))?.rid
|
||||||
|
),
|
||||||
|
url: `https://solsynth.dev/posts/${data.id}`,
|
||||||
},
|
},
|
||||||
article: {
|
article: {
|
||||||
publishedTime: new Date(data.created_at).toISOString(),
|
publishedTime: new Date(data.created_at).toISOString(),
|
||||||
modifiedTime: new Date(data.updated_at).toISOString(),
|
modifiedTime: new Date(data.updated_at).toISOString(),
|
||||||
authors: ["@"+data.publisher.name],
|
authors: ['@' + data.publisher.name],
|
||||||
}
|
},
|
||||||
}}
|
}}
|
||||||
twitter={{
|
twitter={{
|
||||||
card: "summary_large_image",
|
card: 'summary_large_image',
|
||||||
title: data.body?.title ? data.body.title : `Post #${data.id}`,
|
title: data.body?.title ? data.body.title : `Post #${data.id}`,
|
||||||
description: data.body?.content,
|
description: data.body?.description,
|
||||||
creator: "@"+data.publisher.name,
|
creator: '@' + data.publisher.name,
|
||||||
image: data.body?.thumbnail ? getAttachmentUrl(data.body.thumbnail) : getAttachmentUrl(attachments.find(a => a.mimetype.startsWith('image'))?.rid),
|
image: data.body?.thumbnail
|
||||||
|
? getAttachmentUrl(data.body.thumbnail)
|
||||||
|
: getAttachmentUrl(
|
||||||
|
attachments.find((a) => a.mimetype.startsWith('image'))?.rid
|
||||||
|
),
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<Layout title={data.body?.title ? data.body.title : `Post #${data.id}`} trailingTitle='Solar Network'>
|
<Layout
|
||||||
|
title={data.body?.title ? data.body.title : `Post #${data.id}`}
|
||||||
|
trailingTitle="Solar Network"
|
||||||
|
>
|
||||||
<div role="alert" class="alert shadow-lg px-12 m-0 rounded-none mb-5">
|
<div role="alert" class="alert shadow-lg px-12 m-0 rounded-none mb-5">
|
||||||
<Icon
|
<Icon
|
||||||
name="material-symbols:ungroup"
|
name="material-symbols:ungroup"
|
||||||
|
Loading…
Reference in New Issue
Block a user