BBS社区插件 [SEO/GEO 前端深度优化] 更新说明及部署教程
本次更新对社区插件前台进行搜索引擎优化(SEO)与生成式引擎优化(GEO)改造,覆盖结构化数据、规范链接、社交分享、站点地图与 AI 爬虫策略。
新增
- 详情页结构化数据(JSON-LD)
- 问答帖输出 QAPage + Question,命中被采纳回复时附带 acceptedAnswer
- 常规帖输出 DiscussionForumPosting(标题/作者/发布时间/正文摘要/评论数/浏览量 InteractionCounter)
- 组合 BreadcrumbList(首页 > 板块 > 帖子)与全站 WebSite + SearchAction,多节点打包为 @graph 输出
- 列表页结构化数据:非搜索列表页输出
ItemList(含条目顺序与绝对 URL) - 动态 sitemap.xml(
/sitemap.xml):首页、版块、内容模型聚合页、自定义模型、单页、最新 5000 话题(含 lastmod),600 秒短缓存,挂ucrequestpage缓存标签(发帖/删帖自动刷新) - 动态 llms.txt(
/llms.txt):面向 ChatGPT/Perplexity 等生成式引擎的 Markdown 站点说明(站点简介 + 核心入口 + 版块 + 最新 100 个免费话题),同样短缓存 - 社交分享卡:Open Graph(site
name/type/title/description/url/image)与 Twitter Card(有图 summarylarge_image、无图summary) - 正文首图提取:详情页自动取正文前 3 张图片绝对化,用于 og:image 与 JSON-LD image
- 发布时间语义化:详情页 meta 区新增
<time datetime>机器可读发布时间
变更
- canonical 规范链接:全站默认 canonical(站点域名 + 当前路径);详情页自指帖文 URL;列表页第 1 页去查询参数、翻页保留原始参数自指
- robots meta 策略:可索引页面白名单制(首页/版块/聚合/详情/单页等);搜索、登录、注册、会员中心、发帖等薄内容页自动输出
noindex, follow - head 输出基建:layout.html 新增 canonical / robots / OG / Twitter / JSON-LD 输出点,所有动态值手动转义防注入
- SEO 工具方法:FrontBase 新增
seoJsonldEncode()(JSONHEX* 防</script>注入)、seoAbsoluteUrl()/seoAbsoluteImage()(相对路径转绝对地址),并以控制器属性缓存站点域名/名称/描述/首页地址 - robots.txt 重写:屏蔽后台 /admin.php、/admin、/install、/runtime 与敏感文件;显式放行 9 个 AI 爬虫(GPTBot、OAI-SearchBot、ChatGPT-User、ClaudeBot、PerplexityBot、Google-Extended、Applebot-Extended、Amazonbot、Bytespider,保持同等 Disallow 防绕过);预留 Sitemap 配置行
路由
- 新增
sitemap/sitemap.xml、llms/llms.txt双规则注册(兼容伪静态后缀开/关两种模式),控制器Index::sitemap()/Index::llms()
修复
- 修复结构化数据构建先于
View::assign导致描述字段取值的时序问题 - 修复多字段
column('id,createtime')在 stricttypes 下可能返回二维数组的类型风险 - 移除对不存在的
View::getVar()的调用(think\View 无此方法),改由 FrontBase 属性传递,避免运行时 callback 报错
涉及文件
| 文件 | 动作 |
|---|---|
plugins/community/controller/FrontBase.php | SEO 基建变量、属性缓存、JSON-LD 编码与绝对地址工具 |
plugins/community/controller/Index.php | 详情页/列表页结构化数据、canonical、sitemap()、llms() |
plugins/community/view/front/layout.html | canonical、robots、Open Graph、Twitter Card、JSON-LD 输出 |
plugins/community/view/front/topic.html | <time datetime> 发布时间 |
plugins/community/service/FrontRoute.php | sitemap / llms 路由注册 |
public/robots.txt | AI 爬虫策略与路径屏蔽重写 |
部署提示
- 清除
runtime/模板缓存后生效 - 取消
public/robots.txt中 Sitemap 行注释,替换为实际域名 - 建议用 Google Rich Results Test 验证帖文页结构化数据,Search Console 提交 sitemap.xml
下载附件替换public目录下对应文件
最新打赏






QQ官方交流群