Discourse 丰富的 JSON-LD 微数据
| 摘要 | 通过一套全面、协调的 Open Graph、Twitter Cards 和 Schema.org JSON-LD 标记,增强 Discourse 的标准元标签,从而实现卓越的 SEO 性能、更丰富的社交媒体分享体验以及提升 AI/LLM 的可发现性 | |
| 仓库链接 | GitHub - kaktaknet/discourse-rich-json-ld-microdata: 🏆 Discourse Rich JSON-LD Microdata Plugin. Comprehensive, coordinated Open Graph and Schema.org JSON-LD microdata for 200% SEO and LLM coverage · GitHub | |
| 安装指南 | 如何在 Discourse 中安装插件 |
您将获得什么
彻底改变您的论坛在搜索结果、社交媒体和 AI 驱动助手中的呈现方式。本插件生成专业级的结构化数据,Google、Yandex、社交媒体平台和大型语言模型均能完美理解。
查看详细文档,请参阅 README.md
查看技术细节和开发指南,请参阅 CONTRIBUTING.md
查看使用示例和故障排除,请参阅 USAGE.md
丰富搜索结果示例
之前:Google 中的纯文本片段
之后:包含评分、回答数量、作者和发布日期的丰富片段
之前:社交媒体中的通用链接预览
之后:带有图片、描述和品牌标识的引人注目的卡片
了解更多关于 Google 搜索中心的丰富结果 的信息
主要功能
1. 完整的 Schema.org 覆盖
- 针对具有完整问答层级的主题使用 QAPage 架构
- 支持 回答评分 和 已解决状态
- 针对包含子类别的分类使用 CollectionPage
- 针对带有专业指标的用户个人资料使用 ProfilePage
- 针对导航路径使用 BreadcrumbList
- 带有搜索操作的 WebSite 全局架构
2. 协调的社交媒体标签
- Open Graph(Facebook、LinkedIn、Discord)
- Twitter Cards(summary_large_image)
- 所有标签均源自 单一事实来源,无冲突
- 自动清理 Discourse 的默认标签
3. AI 与 LLM 优化
- 使用 Schema.org
@id引用实现完整的实体关系 - 全面理解上下文(主题 → 分类 → 回答 → 评论)
- 作者专业元数据
- ChatGPT、Claude 和其他 AI 助手可获得完美的上下文
4. 完整的国际化 ![]()
- 包含 100% 的英语和俄语翻译
- 自动语言检测(用户 → 站点 → 浏览器 → 回退)
- 所有 Schema.org 描述均已本地化
- 易于添加更多语言
5. 智能性能
- Redis 缓存,TTL 为 1 小时(可配置)
- 内容更改时自动失效缓存
- 缓存页面响应时间 < 5 毫秒
- 新生成页面响应时间约 50 毫秒
6. 零维护
- 自动注入浏览器和爬虫视图
- 适用于主题、分类和用户个人资料
- 优雅的错误处理,绝不会破坏您的站点
- 全面的日志记录以用于调试
为您的论坛带来的好处
更好的搜索排名
- Google 中的丰富片段可将点击率提高 30-50%
- 专家用户的知识图谱面板
- 出现在“人们也问”部分
- 搜索结果中的面包屑导航改善用户体验
专业的社交媒体分享
- 在 Facebook、Twitter、LinkedIn 上分享时显示引人注目的卡片
- 带有徽标和描述的正确品牌标识
- 提高参与度和点击率
- 适用于 40 多个社交媒体平台
为 AI 助手做好准备
- 您的内容可准确出现在 ChatGPT 和 Claude 的回复中
- 带有指向您论坛链接的正确归属
- 完整的上下文可防止 AI 幻觉
- 面向生成引擎优化(GEO)的未来-proof 设计
面向国际受众
- 自动语言检测
- 本地化描述以提高相关性
- URL 编码处理西里尔字母和特殊字符
- 易于扩展至更多语言
安装
步骤 1:安装
按照上述仓库链接,参考 Install plugins on a self-hosted site 进行安装
步骤 2:在管理员面板中启用
导航至 管理员 → 设置 → 插件 → Rich Microdata
将 rich_microdata_enabled 设置为 true(默认启用)
步骤 3:配置(可选)
所有设置开箱即用,但您可以自定义:
- 缓存持续时间(默认:1 小时)
- 包含的最大回答数(默认:10)
- 您站点的 Twitter @handle
- 默认 Open Graph 图片 URL
- 启用/禁用特定架构
步骤 4:验证
测试您的标记:
配置
| 设置 | 默认值 | 描述 |
|---|---|---|
rich_microdata_enabled |
true |
插件的主开关 |
rich_microdata_cache_ttl |
3600 |
缓存持续时间(秒) |
rich_microdata_max_answers |
10 |
QAPage 架构中最大回答数 |
rich_microdata_include_user_stats |
true |
包含用户统计信息 |
rich_microdata_enable_breadcrumbs |
true |
添加 BreadcrumbList 架构 |
rich_microdata_enable_website_schema |
true |
包含 WebSite 架构 |
rich_microdata_twitter_site |
"" |
您的 Twitter @用户名 |
rich_microdata_og_image_default |
"" |
回退 OG 图片 URL |
rich_microdata_debug_mode |
false |
启用调试日志记录 |
技术细节
架构:
- 三层模式:DataExtractor → Builders → Coordinator
- 单一事实来源防止数据冲突
- 针对
<head>标签和<body>内容分别渲染 - 适用于
application.html.erb和crawler.html.erb布局
标准合规性:
- Schema.org JSON-LD 规范
- Open Graph 协议
- Twitter Cards 标记
- RFC 3986(国际字符的 URL 编码)
安全性:
- Guardian 权限检查
- 自动排除私有内容
- SQL 级安全过滤
- 针对缺失数据的安全回退
兼容性:
- Discourse 2.7.0+
- Ruby 2.7+
- 已在 Discourse 3.6.0.beta3 上测试
现实世界示例
主题页面标记:
{
"@context": "https://schema.org",
"@type": "QAPage",
"name": "如何优化数据库查询?",
"mainEntity": {
"@type": "Question",
"name": "如何优化数据库查询?",
"text": "我遇到了查询缓慢的问题...",
"answerCount": 5,
"upvoteCount": 12,
"acceptedAnswer": {
"@type": "Answer",
"text": "您应该为...添加索引",
"upvoteCount": 8,
"author": {
"@type": "Person",
"name": "John Doe",
"url": "https://forum.example.com/u/john"
}
}
}
}
分类页面标记:
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "数据库优化",
"description": "更快查询的技巧和窍门",
"numberOfItems": 245,
"hasPart": [...]
}
查看 USAGE.md 获取完整示例。
使用场景
技术论坛:
开发者通过 Google 的精选片段和 AI 编程助手找到您的解决方案,同时保留正确的代码上下文。
支持社区:
搜索引擎显示带有评分和已解决状态的答案,将优质流量引导至您的最佳内容。
讨论论坛:
社交媒体分享看起来更专业,带有自定义卡片,提高参与度并降低跳出率。
国际社区:
自动语言检测确保用户看到其首选语言的内容,提高可访问性。
维护
零维护运行:
- 内容更新时自动刷新缓存
- 错误时自愈(绝不会破坏您的站点)
- 全面的日志记录用于监控
- 可选的调试模式用于故障排除
缓存管理(可选):
# Rails 控制台
MetaGeneratorService.clear_all_cache
MetaGeneratorService.cache_stats
故障排除
元标签未显示:
- 验证插件已在 管理员 → 插件 中启用
- 检查日志:
./launcher logs app | grep RichMicrodata - 清除缓存:
MetaGeneratorService.clear_all_cache
Google 中未显示丰富片段:
- Google 需要 2-4 周重新抓取并更新
- 使用 丰富结果测试 进行测试
- 在搜索控制台检查验证错误
查看 USAGE.md 获取详细的故障排除指南。
性能指标
- 缓存命中率:典型论坛为 95% 以上
- 响应时间:缓存 < 5 毫秒,新生成约 50 毫秒
- 内存开销:极小(使用 Redis)
- 数据库负载:可忽略不计(缓存 1 小时)
路线图
当前版本:2.0.0
完整的 Open Graph 和 Twitter Cards
完整的 Schema.org JSON-LD 支持
英语/俄语本地化
国际字符的 URL 编码
计划中:
- 更多语言包(西班牙语、德语、法语)
- 视频架构支持
- 用于公告的事件架构
- 用于市场分类的产品架构
支持
- 问题反馈:GitHub Issues
- 文档:README.md
- 贡献指南:CONTRIBUTING.md
许可证
MIT 许可证 - 免费且开源的软件
致谢
- 标准:Schema.org、Open Graph 协议、Twitter Cards
- 平台:Discourse
- 社区:所有贡献者和用户
可选:Telegram 即时视图
该仓库包含示例模板规则文件 TELEGRAM_IV_RULES.txt,用于创建精美的 Telegram 即时视图模板。请在 instantview.telegram.org 使用这些规则,为在 Telegram 中分享您论坛内容的用户提供快速加载、无干扰的阅读体验。
立即提升您论坛的可见性。 5 分钟内即可完成安装,2-4 周内即可在 Google 中看到效果。![]()



