update: seo

This commit is contained in:
ctwj
2025-11-12 08:26:56 +08:00
parent fe8aaff92e
commit 70276b68ee
7 changed files with 125 additions and 87 deletions

View File

@@ -0,0 +1,67 @@
import { useSeo } from './useSeo'
export const useGlobalSeo = () => {
const { systemConfig, fetchSystemConfig, setPageSeo, setServerSeo } = useSeo()
// 初始化系统配置
const initSystemConfig = async () => {
if (!systemConfig.value) {
await fetchSystemConfig()
}
}
// 为首页设置SEO
const setHomeSeo = (customMeta?: Record<string, string>) => {
setPageSeo('首页', {
description: systemConfig.value?.site_description || '老九网盘资源数据库 - 专业的网盘资源管理系统',
keywords: systemConfig.value?.keywords || '网盘资源,资源管理,数据库,文件分享',
...customMeta
})
}
// 为登录页设置SEO
const setLoginSeo = (customMeta?: Record<string, string>) => {
setPageSeo('用户登录', {
description: systemConfig.value?.site_description ? `${systemConfig.value.site_description} - 用户登录页面` : '老九网盘资源数据库登录页面',
keywords: `${systemConfig.value?.keywords || '网盘资源,登录'},用户登录,账号登录`,
...customMeta
})
}
// 为注册页设置SEO
const setRegisterSeo = (customMeta?: Record<string, string>) => {
setPageSeo('用户注册', {
description: systemConfig.value?.site_description ? `${systemConfig.value.site_description} - 用户注册页面` : '老九网盘资源数据库注册页面',
keywords: `${systemConfig.value?.keywords || '网盘资源,注册'},用户注册,账号注册,免费注册`,
...customMeta
})
}
// 为热门剧页面设置SEO
const setHotDramasSeo = (customMeta?: Record<string, string>) => {
setPageSeo('热播剧榜单', {
description: systemConfig.value?.site_description ? `${systemConfig.value.site_description} - 实时获取豆瓣热门电影和电视剧榜单` : '实时获取豆瓣热门电影和电视剧榜单包括热门电影、热门电视剧、热门综艺和豆瓣Top250等分类',
keywords: `${systemConfig.value?.keywords || '网盘资源'},热播剧,热门电影,热门电视剧,豆瓣榜单,Top250,影视推荐,电影榜单`,
...customMeta
})
}
// 为API文档页面设置SEO
const setApiDocsSeo = (customMeta?: Record<string, string>) => {
setPageSeo('API文档', {
description: systemConfig.value?.site_description ? `${systemConfig.value.site_description} - 公开API接口文档` : '老九网盘资源数据库的公开API接口文档支持资源添加、搜索和热门剧获取等功能',
keywords: `${systemConfig.value?.keywords || '网盘资源'},API,接口文档,资源搜索,批量添加,API接口,开发者`,
...customMeta
})
}
return {
initSystemConfig,
systemConfig,
setHomeSeo,
setLoginSeo,
setRegisterSeo,
setHotDramasSeo,
setApiDocsSeo
}
}

View File

@@ -459,41 +459,12 @@ definePageMeta({
layout: 'default'
})
// 页面元数据 - 使用Nuxt3 SEO最佳实践
useSeoMeta({
title: 'API文档 - 老九网盘资源数据库',
description: '老九网盘资源数据库的公开API接口文档支持资源添加、搜索和热门剧获取等功能',
keywords: 'API,接口文档,网盘资源管理,资源搜索,批量添加',
ogTitle: 'API文档 - 老九网盘资源数据库',
ogDescription: '老九网盘资源数据库的公开API接口文档支持资源添加、搜索和热门剧获取等功能',
ogType: 'website',
ogImage: '/assets/images/logo.webp',
twitterCard: 'summary_large_image',
robots: 'index, follow'
})
// 设置页面SEO
const { initSystemConfig, setApiDocsSeo } = useGlobalSeo()
useHead({
htmlAttrs: {
lang: 'zh-CN'
},
link: [
{
rel: 'canonical',
href: 'https://yourdomain.com/api-docs'
}
],
script: [
{
type: 'application/ld+json',
innerHTML: JSON.stringify({
"@context": "https://schema.org",
"@type": "WebPage",
"name": "API文档 - 老九网盘资源数据库",
"description": "老九网盘资源数据库的公开API接口文档支持资源添加、搜索和热门剧获取等功能",
"url": "https://yourdomain.com/api-docs"
})
}
]
onBeforeMount(async () => {
await initSystemConfig()
setApiDocsSeo()
})
</script>

View File

@@ -166,40 +166,12 @@ definePageMeta({
layout: 'default'
})
// 设置页面SEO元数据 - 使用Nuxt3 SEO最佳实践
useSeoMeta({
title: '热播剧榜单 - 老九网盘资源数据库',
description: '实时获取豆瓣热门电影和电视剧榜单包括热门电影、热门电视剧、热门综艺和豆瓣Top250等分类',
keywords: '热播剧,热门电影,热门电视剧,豆瓣榜单,Top250,影视推荐',
ogTitle: '热播剧榜单 - 老九网盘资源数据库',
ogDescription: '实时获取豆瓣热门电影和电视剧榜单',
ogType: 'website',
ogImage: '/assets/images/logo.webp',
twitterCard: 'summary_large_image',
robots: 'index, follow'
})
// 设置页面SEO
const { initSystemConfig, setHotDramasSeo } = useGlobalSeo()
useHead({
htmlAttrs: {
lang: 'zh-CN'
},
link: [
{
rel: 'canonical',
href: 'https://yourdomain.com/hot-dramas'
}
],
script: [
{
type: 'application/ld+json',
innerHTML: JSON.stringify({
"@context": "https://schema.org",
"@type": "WebPage",
"name": "热播剧榜单 - 老九网盘资源数据库",
"description": "实时获取豆瓣热门电影和电视剧榜单包括热门电影、热门电视剧、热门综艺和豆瓣Top250等分类"
})
}
]
onBeforeMount(async () => {
await initSystemConfig()
setHotDramasSeo()
})
const hotDramaApi = useHotDramaApi()

View File

@@ -411,18 +411,33 @@ const pageKeywords = computed(() => {
}
})
// 设置动态SEO - 使用Nuxt3最佳实践
useSeoMeta({
title: () => pageTitle.value || '老九网盘资源数据库 - 首页',
description: () => pageDescription.value || '老九网盘资源管理系统, 一个现代化的网盘资源数据库,支持多网盘自动化转存分享',
keywords: () => pageKeywords.value || '网盘资源,资源管理,数据库',
ogTitle: () => pageTitle.value,
ogDescription: () => pageDescription.value,
ogType: 'website',
ogImage: '/assets/images/logo.webp',
twitterCard: 'summary_large_image',
robots: 'index, follow'
// 设置页面SEO
const { initSystemConfig, setHomeSeo } = useGlobalSeo()
// 更新页面SEO的函数
const updatePageSeo = () => {
setHomeSeo({
description: pageDescription.value,
keywords: pageKeywords.value
})
}
onBeforeMount(async () => {
await initSystemConfig()
updatePageSeo()
})
// 监听路由变化当搜索条件改变时更新SEO
watch(
() => [route.query.search, route.query.platform],
() => {
// 使用nextTick确保响应式数据已更新
nextTick(() => {
updatePageSeo()
})
},
{ deep: true }
)
// 设置HTML属性
useHead({

View File

@@ -172,9 +172,12 @@ definePageMeta({
ssr: false
})
// 设置页面标题
useHead({
title: '管理员登录 - 老九网盘资源数据库'
// 设置页面SEO
const { initSystemConfig, setLoginSeo } = useGlobalSeo()
onBeforeMount(async () => {
await initSystemConfig()
setLoginSeo()
})
</script>

View File

@@ -242,6 +242,14 @@ definePageMeta({
layout: 'default'
})
// 设置页面SEO
const { initSystemConfig, setMonitorSeo } = useGlobalSeo()
onBeforeMount(async () => {
await initSystemConfig()
setMonitorSeo()
})
import { ref, onMounted, onUnmounted, computed } from 'vue'
import { useMonitorApi } from '~/composables/useApi'
const monitorApi = useMonitorApi()

View File

@@ -279,16 +279,18 @@ definePageMeta({
ssr: false
})
// 设置页面SEO
const { initSystemConfig, setRegisterSeo } = useGlobalSeo()
onBeforeMount(async () => {
await initSystemConfig()
setRegisterSeo()
})
// 页面加载时获取系统配置
onMounted(() => {
fetchSystemConfig()
})
// 设置页面标题
useHead({
title: '用户注册 - 老九网盘资源数据库'
})
</script>
<style scoped>