91 行
5.8 KiB
JavaScript
91 行
5.8 KiB
JavaScript
import seoData from '~/data/seo.json'
|
||
|
||
/**
|
||
* 页面级 SEO 元数据注入
|
||
* 包含:传统搜索引擎 + AI 大模型优化
|
||
*/
|
||
export default function useSEO(pageKey, overrides = {}) {
|
||
const pageConfig = seoData.pages[pageKey] || {}
|
||
const config = { ...pageConfig, ...overrides }
|
||
const url = `https://1814.love${useRoute().path}`
|
||
const ogImage = config.ogImage ? `https://1814.love${config.ogImage}` : ''
|
||
|
||
// 每页关键词映射 - 给 AI 爬虫明确的关键信息
|
||
const keywordsMap = {
|
||
home: '呼伦贝尔亲子游,呼伦贝尔家庭定制游,呼籁旅行,一家一单一车,呼伦贝尔旅游,草原定制游,额吉的故乡',
|
||
about: '呼籁旅行,呼伦贝尔旅行社,自有营地,自有车队,呼籁文旅集团,深耕呼伦贝尔11年',
|
||
products: '呼伦贝尔定制游,额吉的故乡V9,呼伦贝尔几天合适,亲子游产品,4天3晚,5天4晚,6天5晚,7天6晚',
|
||
faq: '呼伦贝尔旅游攻略,呼伦贝尔亲子游攻略,呼伦贝尔多少钱,呼伦贝尔几月去好,呼伦贝尔穿什么',
|
||
reviews: '呼伦贝尔旅游评价,呼籁旅行怎么样,呼伦贝尔亲子游评价,呼伦贝尔定制游口碑',
|
||
guides: '呼伦贝尔穿搭指南,呼伦贝尔行李清单,呼伦贝尔几月份去最好,呼伦贝尔骑马安全,草原旅游注意事项',
|
||
'summer-camp': '呼伦贝尔夏令营,草原亲子夏令营,小蒙马夏令营,呼伦贝尔亲子营,研学旅行',
|
||
courses: '呼伦贝尔研学,草原亲子课程,自然教育,小蒙马研学,草原研学课程体系,亲子研学夏令营,呼伦贝尔自然教育,草原研学旅行,LNT自然教育',
|
||
'winter-camp': '呼伦贝尔冬令营,雪原亲子冬令营,小蒙马冬季营,呼伦贝尔冬季亲子,阿尔山滑雪,冬季那达慕',
|
||
'products-autumn': '呼伦贝尔秋季游,游牧的森林,呼伦贝尔秋天,大兴安岭秋色,白桦林,额尔古纳秋景',
|
||
'products-winter': '呼伦贝尔冬季游,嗨冰雪,呼伦贝尔冬天,冰雪那达慕,驯鹿部落,呼伦贝尔雾凇',
|
||
contact: '呼籁旅行联系方式,呼伦贝尔定制游咨询,呼籁旅行微信,呼伦贝尔旅游电话',
|
||
customize: '呼伦贝尔定制游,呼伦贝尔家庭游定制,呼籁旅行在线咨询,呼伦贝尔亲子游预订,草原定制游报价',
|
||
pricing: '呼伦贝尔旅行多少钱,呼伦贝尔6天5晚多少钱,呼伦贝尔定制游价格,呼伦贝尔旅行费用,呼伦贝尔旅游报价,呼伦贝尔亲子游价格,草原定制游费用',
|
||
news: '呼籁旅行动态,额吉的故乡2026,小蒙马夏令营报名,呼籁旅行新品,呼伦贝尔旅游2026',
|
||
calendar: '呼伦贝尔什么时候去最好,呼伦贝尔几月份适合旅游,草原几月去最美,呼伦贝尔旅游月份推荐,呼伦贝尔气候,呼伦贝尔旺季',
|
||
qualifications: '呼籁旅行资质,旅游经营许可证,呼伦贝尔正规旅行社,旅游责任险,呼籁集团9家企业,深耕呼伦贝尔11年',
|
||
partners: '呼籁旅行合作伙伴,呼伦贝尔景区合作,呼籁小红书蓝V认证,旅行社行业背书,媒体报道',
|
||
stories: '呼伦贝尔旅行分享,呼籁旅行小红书,呼伦贝尔真实游记,草原亲子游分享,呼伦贝尔旅行笔记',
|
||
gallery: '草原旅拍,蒙古服饰旅拍,呼伦贝尔旅拍,草原写真,蒙古袍旅拍,亲子旅拍草原,情侣旅拍呼伦贝尔,草原婚纱照,呼伦贝尔旅拍攻略',
|
||
selector: '呼伦贝尔行程怎么选,哪个版本适合我,呼伦贝尔几天合适,额吉的故乡哪个版本好,呼伦贝尔亲子游选哪个,呼伦贝尔定制游版本对比',
|
||
blog: '呼伦贝尔旅游攻略,呼伦贝尔亲子游攻略,呼伦贝尔几月去,呼伦贝尔旅游花费,草原旅拍穿搭,呼伦贝尔旅行干货',
|
||
destinations: '呼伦贝尔景点,呼伦贝尔旅游攻略,莫日格勒河,额尔古纳湿地,黑山头,满洲里,呼伦湖,阿尔山,室韦恩和,根河湿地',
|
||
}
|
||
|
||
const meta = [
|
||
{ name: 'description', content: config.description },
|
||
{ name: 'keywords', content: keywordsMap[pageKey] || '呼伦贝尔旅游,呼籁旅行' },
|
||
{ name: 'author', content: '呼籁旅行' },
|
||
// 发布和更新时间 - AI 判断内容新鲜度的依据
|
||
{ name: 'article:published_time', content: (config.publishedAt || '2025-01-15') + 'T00:00:00+08:00' },
|
||
{ name: 'article:modified_time', content: new Date().toISOString().split('T')[0] + 'T00:00:00+08:00' },
|
||
// 地理位置 - 让 AI 知道这是呼伦贝尔的本地服务
|
||
{ name: 'geo.region', content: 'CN-NM' },
|
||
{ name: 'geo.placename', content: '呼伦贝尔' },
|
||
{ name: 'geo.position', content: '49.2143;119.7674' },
|
||
{ name: 'ICBM', content: '49.2143, 119.7674' },
|
||
// Open Graph(增强)
|
||
{ property: 'og:title', content: config.title },
|
||
{ property: 'og:description', content: config.description },
|
||
{ property: 'og:type', content: 'website' },
|
||
{ property: 'og:url', content: url },
|
||
{ property: 'og:site_name', content: '呼籁旅行' },
|
||
{ property: 'og:locale', content: 'zh_CN' },
|
||
// Twitter Card
|
||
{ name: 'twitter:card', content: 'summary_large_image' },
|
||
{ name: 'twitter:title', content: config.title },
|
||
{ name: 'twitter:description', content: config.description },
|
||
]
|
||
|
||
// OG 图片
|
||
if (ogImage) {
|
||
meta.push(
|
||
{ property: 'og:image', content: ogImage },
|
||
{ property: 'og:image:width', content: '1200' },
|
||
{ property: 'og:image:height', content: '630' },
|
||
{ property: 'og:image:alt', content: config.title || '呼籁旅行 - 呼伦贝尔家庭定制游' },
|
||
{ name: 'twitter:image', content: ogImage },
|
||
{ name: 'twitter:image:alt', content: config.title || '呼籁旅行 - 呼伦贝尔家庭定制游' },
|
||
)
|
||
}
|
||
|
||
useHead({
|
||
title: config.title,
|
||
meta,
|
||
link: [
|
||
{ rel: 'canonical', href: url },
|
||
],
|
||
})
|
||
|
||
return {
|
||
h1: config.h1 || '',
|
||
title: config.title || '',
|
||
description: config.description || '',
|
||
}
|
||
}
|