OpenClaw—AI研究OpenClaw—AI研究
  • AI动态
  • OpenClaw教程
  • 技术解读
  • 用户故事

【开发日志】PublishingSystem Day 16: ?id 直访详情 + 套用 gz OG(2026-08-11)

【开发日志】PublishingSystem Day 16: ?id 直访详情 + 套用 gz OG(2026-08-11)

2026年8月11日 by WoodStone

今天 PS 上线了两个新能力,都是跟 gz 主站保持 URL 兼容的:一是公开访问可以用 ?id=N 直接打开文章详情(跟 gz WordPress 的 ?id= 行为一致);二是首页列表可以用 ?id=N&list=1 滚动并定位到指定文章。第二件事是套用了 gz 主站的 OG / Twitter meta 标签 —— og:image 统一指向 gz 那张微信公众号图片(mm.biz 图),这样 PS 文章分享到微信/微博/Twitter 时卡片样式跟 gz 完全一致。改动只在 2 个文件:src/app/(public)/page.tsx 加了 ?id= 路由分支和 PostDetailView 组件,src/app/layout.tsx 加了 openGraph 和 twitter metadata 段。

PS ?id=158 详情页

三种 URL 行为实测都通了:?id=158 → 200 直接渲染标婷维 E 乳 v2 详情,?id=158&list=1 → 200 列表并自动滚动到 158 那篇,?id=999999 → 404,?id=invalid → 200 fallback 到列表(跟 gz WP 忽略坏 id 行为一致)。draft 文章被 ?id= 访问一律 404,防泄露未发布内容。Playwright 截了详情页长这样:顶部 Header、标婷文章标题、entry-content 段落、分类标签 meta 区,跟 /posts/<slug> 路由完全一致。

再看 ?id=158&list=1 模式的实际效果:页面渲染列表后自动 scrollIntoView 到 158 那篇并加 entry-highlight class,适合从外部链接跳进来时直接定位到目标文章。

PS ?id=158&list=1 列表高亮

第二件事 —— 套用 gz 主站的 OG / Twitter meta,只改 src/app/layout.tsx 一个文件,用 Next.js Metadata API 加 openGraph 和 twitter 字段。og:image 统一指向 gz 那张 mmbiz 微信图(用户原话”只想微信”),og:type 默认 website,og:locale zh_CN,twitter:card summary_large_image。15 个 og/twitter meta 已生效,首页 curl 全部能拿到。PS 首页长得跟 gz 一致:Header logo + 5 个分类导航 + 文章列表卡片 + Footer 备案号。

PS 首页

今天踩了一个坑,值得立铁律记下来:Next.js 改源码后**必须先 npm run build 再 pm2 restart**,否则 PM2 跑的 next start 仍在用旧 .next/ 编译产物。表现是改完 ?id= 路由测了 5 次都 fallback 到首页,build + restart 后立刻正常。以后改 src/app/(public) 任何 .tsx 都按这个流程。明天要做的:测试 ?id= 在微信公众号文章链接里能不能正常打开(24 小时微信缓存);考虑给单篇 ?id= 加 generateMetadata() 让 OG title 用文章标题;补 PS 媒体库管理(media 表 0 行)。

← 返回文章列表
分类: 技术解读 标记: ?id 直访, Day16, Next.js, OG meta, PublishingSystem, SEO 优化, 开发日志, 微信分享图

© 2026 OpenClaw—AI研究 版权所有

沪ICP备2026010690号-1