网站元数据修复
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 安装 @user_fccf428b/fixing-metadata。
技能介绍
从哪里开始修
页面标题重复、og:url 与 canonical 不一致、分享卡片在 localhost 预览正常,到了真实链接却只剩默认图标——这类问题通常不在组件逻辑,而在 <head> 里的元数据互相打架。同一个页面同时由框架默认值和手写 meta 标签输出两套 title,或者 robots 指令与实际访问意图相反,都会直接影响抓取与分享。
技能解决什么问题
- 同一页面输出多份 title、description、canonical 或 robots 标签,让搜索引擎与社交平台读到相互矛盾的信号
- canonical 指向非首选 URL,分页页码错误归并,或把预览、暂存页面误留在索引里
- Open Graph 图片使用相对路径、尺寸不稳定,分享预览时白屏或只显示 favicon
- JSON-LD 写了页面并不存在的价格、评分或组织信息,结构化数据与实际渲染内容脱节
- favicon、
apple-touch-icon、manifest、theme-color缺失或路径不可缓存,浏览器顶栏与任务栏颜色错乱
核心能力与工作流
技能按优先级处理元数据,而不是逐行替换标签:
- 正确性与重复(critical):确认每个页面只在一处定义元数据,避免框架默认值与手写标签竞争输出
- title 与 description(high):保证每个页面有 title,标题格式统一,description 是纯文本,不塞 Markdown 或引号
- canonical 与索引(high):canonical 指向首选 URL,
noindex只用于私有或重复页,分页页码行为正确 - 社交卡片(high):Open Graph 与 Twitter 图片使用绝对 URL,
og:url与 canonical 对齐,twitter:card默认summary_large_image - 图标与 manifest(medium)、结构化数据(medium)、locale 与 alternates(low-medium)
执行时遵循一条原则:title、description、canonical、og:url 四个值必须互相一致,并且 diff 只落在元数据上。社交卡片需要在真实 URL 上验证,而不是 localhost。结构化数据只在与页面实际内容对应时才添加。
适用边界
- 不重构无关代码,不迁移 SEO 框架;沿用项目已有的 metadata 方案(如
next/head、react-helmet或手动管理<head>) - 遵循项目现有模式,保持最小改动
- 生成的命令、代码或外部服务行为在应用前仍需验证
使用场景
- 新页面上线前,发现标题、meta description 或 canonical 缺失,需要按优先级把 head 里的元数据补齐。
- 用户反馈从聊天工具点开链接只显示默认图标,需要排查 og:image 是否用了相对路径或尺寸不稳定。
- 搜索引擎收录异常,同一页面同时输出两份 title 和 robots 标签,需要定位是哪套系统在重复输出。
- staging 预览页被公开索引,需要加 noindex,并确认每页的 canonical 指向唯一首选 URL。
适合人员
- 负责站点技术交付的前端工程师,想在上线前按清单核对 head 元数据是否完整
- 维护 Next.js 或 SSG 站点的开发工程师,想修复重复 title 与 og:url 不一致导致的收录异常
- 需要发布营销落地页的产品运营,希望每次发版后的分享卡片图片与标题都能正确展示