diff --git a/plugins/social.server.ts b/plugins/social.server.ts new file mode 100644 index 00000000..5c215b96 --- /dev/null +++ b/plugins/social.server.ts @@ -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) +})