diff --git a/docs/maintenance/EDITORIAL_INDEXNOW.md b/docs/maintenance/EDITORIAL_INDEXNOW.md index 46b08fb4..72b4c01d 100644 --- a/docs/maintenance/EDITORIAL_INDEXNOW.md +++ b/docs/maintenance/EDITORIAL_INDEXNOW.md @@ -33,3 +33,13 @@ ## 2026-10-31已部署与验证 2026-10-31 14:20:55北京时间,通过本机SSH→白色机→业务服务器,由新组件对现有`/a/system-proxy-vs-tun.html`执行一次真实通知验收,HTTP200,密钥文件HTTP200且内容匹配;未改正文、未重新发布、未改旧回执、未批量补推。只证明通知被接收,不代表已收录。已完成服务器侧验收,未做线上页面验收。精确证据见[回执](EDITORIAL_INDEXNOW_2026-10-31.json)。 私有恢复点:VPS-003 `/root/backups/cfn-indexnow-20261031/`,包含Git bundle、原HEAD/工作区状态、标签模板、文章核心字段与旧回执快照、真实提交事件和部署记录。回滚可检出基线,保留已有effects状态和内容;单独停推可设`EDITORIAL_INDEXNOW_ENABLED=false`,不要删除pending回执。普通发布继续通过[白色机发布封装](EDITORIAL_RELEASE.md)。 + +## 两个教程栏目sitemap已部署(2026-10-31) + +基于并行IndexNow正式文档提交`ace6d74a18988697340ebcd15e2b79a4dee0e697`,只发布本批7个栏目/测试/文档文件,功能提交`252e0c38cb85d0c1331063b1019a2bb13c27ac8a`已推送`codex/tutorial-sitemap-20261031`并检出正式cfn。保留57481243的通知实现,不重复部署旧候选415b5f8,也不覆盖其并行验收记录。 + +本地34项/310断言通过。正式sitemap从25项变27项,精确增加`/client`与`/advanced`,旧集合无移除;首页、两栏目和system-proxy-vs-tun详情HTTP200,两栏目index/follow及自引用canonical通过。188篇正文核心、既有发布回执、生成标签模板哈希及data.ms并行目录保持。重试命令以nginx执行返回processed=0/pending=0,原项目调度存在,密钥文件HTTP200且内容匹配。 + +切换时曾因2秒PHP OPcache检查窗口出现新模板与旧控制器混用,验收脚本立即回滚。最终通过Unix FastCGI socket仅失效本批文件缓存,临时私有脚本用后删除;未重启共享PHP-FPM、未改其配置。原两次候选回滚后,接续并行IndexNow新基线完成本次限定发布。 + +本批未再次发送真实通知、不补交历史文章;上一节的真实HTTP200验收继续有效。已完成服务器侧验收,未做线上页面验收。脱敏验收见[栏目回执](TUTORIAL_SITEMAP_2026-10-31.json)。恢复点:VPS-003 `/root/backups/cfn-tutorial-sitemap-20261031/`,包含原HEAD/status、Git bundle、模板、前后运行摘要和opcode失效回执。仅回滚本批时检回ace6d74a并定点失效PHP缓存,保留新通知实现、内容及回执。 diff --git a/docs/maintenance/SEO_PLAN.md b/docs/maintenance/SEO_PLAN.md index bbb1b8f6..b9c7c5bf 100644 --- a/docs/maintenance/SEO_PLAN.md +++ b/docs/maintenance/SEO_PLAN.md @@ -1,6 +1,6 @@ # FNA_V3 SEO 优化建议与执行清单 -评估日期:2026-10-22,Asia/Shanghai。状态:**分析与建议文档已完成;SEO-001 的部署定位已由用户确认,配置改造尚未实施;SEO-020 于2026-10-27完成本地教程正文更新,设备实测及生产验收未做,D02首页最新免费节点全文展示于2026-10-27本地完成,其余项目按分项记录;2026-10-31正在实施编辑文章IndexNow通知与两个教程栏目sitemap(见SEO-013/033)**。本文件是后续 SEO 工作的唯一执行清单;按 `SEO-001` 至 `SEO-036` 跟踪,实施后在本文件更新结果,不另建重复的“最新版计划”。 +评估日期:2026-10-22,Asia/Shanghai。状态:**分析与建议文档已完成;SEO-001 的部署定位已由用户确认,配置改造尚未实施;SEO-020 于2026-10-27完成本地教程正文更新,设备实测及生产验收未做,D02首页最新免费节点全文展示于2026-10-27本地完成,其余项目按分项记录;2026-10-31已发布编辑文章IndexNow通知与两个教程栏目sitemap(见SEO-013/033)**。本文件是后续 SEO 工作的唯一执行清单;按 `SEO-001` 至 `SEO-036` 跟踪,实施后在本文件更新结果,不另建重复的“最新版计划”。 本轮依据当前代码、当前本地数据库、重新取得的 HTTP 响应及受限浏览器检查形成结论。网站源码、样式和业务数据未作修改。当前三款 DPL 广告属于已存在的实现,纳入分析基准并保留。网站仍在独立本地副本中开发;用户随后确认未来替换现有 cfn,并支持同一套代码部署多个同类站点,ClashFreeNode 为主力站,尚未实际部署或迁移。 diff --git a/docs/maintenance/TUTORIAL_SITEMAP_2026-10-31.json b/docs/maintenance/TUTORIAL_SITEMAP_2026-10-31.json new file mode 100644 index 00000000..bb46a8b0 --- /dev/null +++ b/docs/maintenance/TUTORIAL_SITEMAP_2026-10-31.json @@ -0,0 +1,47 @@ +{ + "base": "ace6d74a18988697340ebcd15e2b79a4dee0e697", + "commit": "252e0c38cb85d0c1331063b1019a2bb13c27ac8a", + "files": [ + "AGENTS.md", + "app/Http/Controllers/SitemapController.php", + "docs/maintenance/EDITORIAL_INDEXNOW.md", + "docs/maintenance/SEO_PLAN.md", + "resources/views/sitemap.blade.php", + "tests/Feature/EditorialApiTest.php", + "tests/Feature/EditorialReleaseTest.php" + ], + "branch": "codex/tutorial-sitemap-20261031", + "backup_directory": "/root/backups/cfn-tutorial-sitemap-20261031", + "pushed": true, + "before_count": 25, + "after_count": 27, + "added": [ + "https://clashfreenode.com/advanced", + "https://clashfreenode.com/client" + ], + "checks": { + "article_core_preserved": true, + "publications_unchanged": true, + "indexnow_enabled": true, + "keyfile": { + "http_status": 200, + "body_matches_key": true + }, + "retry_command": { + "processed": 0, + "pending": 0 + }, + "existing_business_scheduler": true, + "opcode_invalidation": true, + "generated_template_preserved": true, + "pages": { + "/": 200, + "/client": 200, + "/advanced": 200, + "/a/system-proxy-vs-tun.html": 200 + } + }, + "live_indexnow_notification_sent": false, + "head": "252e0c38cb85d0c1331063b1019a2bb13c27ac8a", + "status": "M resources/views/components/generated-tags-cloud.blade.php\n?? data.ms/" +}