feat: implement social previews by redirecting to origin server (#1144)

This commit is contained in:
Daniel Roe 2023-01-14 23:51:12 +00:00 committed by GitHub
parent a8e1cb86f3
commit d46ddbe2b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

16
plugins/social.server.ts Normal file
View file

@ -0,0 +1,16 @@
import { sendRedirect } from 'h3'
export default defineNuxtPlugin(async (nuxtApp) => {
const route = useRoute()
if (!route.params.server)
return
const req = nuxtApp.ssrContext!.event.node.req
const userAgent = req.headers['user-agent']!
if (!userAgent)
return
const isOpenGraphCrawler = /twitterbot|discordbot|facebookexternalhit|googlebot|msnbot|baidu|ahrefsbot|duckduckgo/i.test(userAgent)
if (isOpenGraphCrawler)
await sendRedirect(nuxtApp.ssrContext!.event, `https:/${route.path}`, 301)
})