#!/usr/bin/env node /** * 旅行攻略 12 篇文章 SEO 元信息批量补齐 * 标准: * - seo_title: 带「呼伦贝尔」+ 主关键词 + 「呼籁旅行」,长度 30-50 字 * - seo_description: 120-155 字,含核心痛点 + 价值主张 + 行动暗示 * - seo_keywords: 5-8 个,按搜索热度排布,逗号分隔 */ import Database from 'better-sqlite3' const db = new Database('./server/database/hulai.db') const seo = { 6: { title: '呼伦贝尔亲子游品质出行指南 - 11年本地从业者实战经验 | 呼籁旅行', desc: '选时间、买机票、看配置、比价格、选住宿、判断行程……深耕呼伦贝尔11年、累计服务10000+家庭的本地从业者,把亲子游常见问题和品质判断标准一次性讲清楚。适合第一次带孩子去呼伦贝尔的家庭参考。', kw: '呼伦贝尔亲子游,品质出行,呼伦贝尔攻略,本地从业者,家庭游指南,呼籁旅行', }, 7: { title: '呼伦贝尔亲子游年龄分层指南:2-4岁/5-7岁/8-12岁怎么玩 | 呼籁旅行', desc: '不同年龄段的孩子,对应完全不同的行程设计。本文按 2-4 岁感官体验、5-7 岁互动参与、8-12 岁深度探索三档,拆解适合的活动、行程天数、住宿选择和注意事项,让每一个年龄段都玩得尽兴又不累。', kw: '呼伦贝尔亲子游年龄,2-4岁草原,5-7岁亲子,8-12岁研学,亲子行程天数,呼籁亲子游', }, 8: { title: '呼伦贝尔亲子骑马攻略:安全吗?几岁能骑?景区vs草原穿越差在哪 | 呼籁旅行', desc: '呼伦贝尔骑马安全吗?几岁能骑?景区马场和草原穿越有什么区别?本文详解五项安全核心指标、不同年龄段的适配项目、预订前必问的 10 个问题,以及如何识别正规马场。带娃家庭必看。', kw: '呼伦贝尔骑马,亲子骑马安全,草原穿越,景区马场,骑马年龄,呼伦贝尔马场推荐,呼籁骑马', }, 9: { title: '呼伦贝尔旅游的两条路:在地深耕 vs 全国跑场 | 呼籁旅行行业洞察', desc: '呼伦贝尔旅游市场正在分化成两种模式:本地团队深耕单一目的地,全国连锁品牌旺季跑场。两种模式的服务质量、价格水位、应急能力差异巨大。本文用行业内部视角帮消费者判断该选哪一种。', kw: '呼伦贝尔旅游,在地旅行社,全国旅行社,旅游行业分析,呼伦贝尔本地团队,呼籁旅行', }, 10: { title: '2026年呼伦贝尔旅游攻略:首次出行必看完整指南 | 呼籁旅行', desc: '第一次去呼伦贝尔?本文涵盖推荐季节、核心景点、行程天数、交通方式、预算参考五大维度,基于 2025 年实际数据更新。帮你避开新手常犯的 6 个错误,把每一天都过得值回票价。', kw: '呼伦贝尔旅游攻略,2026呼伦贝尔,首次出行指南,呼伦贝尔景点推荐,呼伦贝尔预算,呼籁攻略', }, 11: { title: '呼伦贝尔亲子游综合指南:带娃怎么玩才不踩坑 | 呼籁旅行', desc: '带孩子去呼伦贝尔草原,几岁合适?哪些活动安全?怎么选行程?呼籁旅行 11 年亲子游经验,从孩子年龄、体能、兴趣点三个维度,帮你把每一个细节都想清楚,一次不踩雷的亲子游规划指南。', kw: '呼伦贝尔亲子游,带娃攻略,草原亲子游,呼伦贝尔亲子路线,亲子游避坑,呼籁亲子', }, 12: { title: '呼伦贝尔几月份去合适?四季月份对比全解析 | 呼籁旅行', desc: '6 月绿草、7 月油菜花、8 月蓝天、9-10 月金秋、12-2 月雪原……呼伦贝尔不同月份体验差异远超预期。本文用气温、景色、人流、价格四维数据对比 12 个月份,帮你选出适合自己的出行时间。', kw: '呼伦贝尔几月去,呼伦贝尔最佳旅游季节,呼伦贝尔旺季,呼伦贝尔月份对比,呼伦贝尔错峰,呼籁旅行', }, 13: { title: '呼伦贝尔自驾 vs 包车:哪种方式更适合你 | 呼籁旅行', desc: '呼伦贝尔自驾还是包车?这个问题困扰着不少初次出行的旅行者。本文从路况复杂度、费用对比、自由度、安全性、带娃友好度五个维度全面分析,附上真实案例,帮你选出适合自己的出行方式。', kw: '呼伦贝尔自驾,呼伦贝尔包车,自驾游攻略,草原包车,呼伦贝尔租车,呼籁包车', }, 14: { title: '呼伦贝尔旅行花费明细:玩一趟到底要多少钱 | 呼籁旅行真实预算', desc: '呼伦贝尔一趟到底花多少钱?本文拆解机票、住宿、交通、餐饮、活动、购物各项费用,按人均 3000-8000+ 分高中低三档给出真实预算参考,基于 2025 年实际订单数据统计,不夸大也不压价。', kw: '呼伦贝尔旅游费用,呼伦贝尔人均预算,呼伦贝尔花费,呼伦贝尔包车价格,呼伦贝尔住宿,呼籁报价', }, 15: { title: '带 4-6 岁孩子去草原的注意事项 | 呼籁旅行亲子出行指南', desc: '4-6 岁是孩子初次体验草原的黄金年龄:好奇心旺盛但自我保护能力弱。这篇文章总结了呼籁 11 年来服务这个年龄段的全部经验:行李清单、安全项目、饮食过敏应对、行程强度控制,一次说透。', kw: '4-6岁亲子游,草原亲子,幼儿出行,呼伦贝尔带娃,幼童旅行,草原安全,呼籁亲子', }, 16: { title: '呼伦贝尔避坑指南:这些坑千万别踩 | 呼籁旅行真实避雷', desc: '呼伦贝尔旅游的坑不少:强制购物、人头拼团、低价陷阱、景区宰客、假包车……本文列出 8 个最常见的坑+真实案例+识别方法。把雷都踩在出发之前,不要让好的行程毁在细节上。', kw: '呼伦贝尔避坑,呼伦贝尔旅游陷阱,强制购物,低价团陷阱,呼伦贝尔真相,呼籁避坑', }, 17: { title: '草原旅拍穿搭指南:怎么拍出大片感 | 呼籁旅行', desc: '去草原不知道穿什么?本文从色系搭配(蓝天金草配什么颜色)、服装款式(连衣裙/蒙古袍/家庭一体感)、配件选择、拍摄时机(光线黄金时段)、构图技巧五个方面,手把手教你在呼伦贝尔拍出朋友圈封面级大片。', kw: '草原旅拍穿搭,呼伦贝尔拍照,旅拍服饰,草原拍照指南,蒙古袍旅拍,呼籁旅拍', }, } const upd = db.prepare('UPDATE articles SET seo_title=?, seo_description=?, seo_keywords=? WHERE id=?') const tx = db.transaction(() => { for (const [id, s] of Object.entries(seo)) { upd.run(s.title, s.desc, s.kw, Number(id)) } }) tx() console.log(`✓ 已补齐 ${Object.keys(seo).length} 篇文章的 SEO 元信息`) // 验证 const verify = db.prepare("SELECT id,title,length(seo_title) lt, length(seo_description) ld, seo_keywords FROM articles WHERE type='blog' ORDER BY id").all() verify.forEach(r => { const kwCount = (r.seo_keywords || '').split(',').filter(Boolean).length console.log(`#${r.id}: title ${r.lt}字 | desc ${r.ld}字 | ${kwCount} 个关键词`) })