html 从 WordPress 到人工智能辅助静态网站 — Bernd Kuhlen
BK BERND KUHLEN所有笔记 ↗
← 返回实地笔记

从 WordPress 到人工智能辅助静态网站:在不丢失过去的情况下进行重建

我的旧 WordPress 网站已经完成了它的工作。多年来,它积累了文章、图像和专业历史片段。但是,为个人网站维护数据库驱动的内容管理系统开始感觉就像仅仅为了照亮台灯而保持引擎运转一样。

我想要更快、更易于操作且更具个性化的东西。我还想知道人工智能编程合作伙伴能在多大程度上帮助我完成迁移——不是按下神话般的 “转换网站” 按钮,而是和我一起制定真正的工程决策。

结果就是你现在正在阅读的网站:一个手工制作的云原生产品组合,通过 Amazon S3 和 CloudFront 以静态文件形式提供。旧的文章仍然可用,而新网站则增加了摄影、认证、训练数据、小游戏和对我的作品的更完整描述。

成功的部分不是用人工智能取代WordPress。它将值得保留的内容与不再占据一席之地的机器分开。

首先,定义 “基于人工智能” 的实际含义

生产网站不需要语言模型来提供页面。这将增加延迟、复杂性和依赖性,对普通访问者没有任何好处。它是一个静态站点,这是一项功能。

人工智能是工程过程的一部分。它帮助检查了旧材料,提出信息架构,起草和修改副本,生成和重构代码,发现不一致之处,改善响应行为,并将重复的手动工作转化为脚本。我仍然是产品所有者:我选择了材料,修正了假设,判断了视觉结果并批准了生产变更。

因此,“人工智能辅助” 是准确的描述。情报是在建造和维护场地时使用的;交付的系统保持简单。

1。重新设计前的清单

迁移应该从证据开始,而不是新的调色板。在更改演示文稿之前,我收集了WordPress的帖子、页面、类别和媒体参考资料。原始内容被导出到结构化的 JSON 中,而关联文件被复制到本地存档中。

这产生了两个重要的安全网:

  • 机器可读的内容存档,无需反复抓取实时站点即可进行转换;
  • 保存完好的包含原始图像、文档和证书的媒体库。

我还查看了网址、标题、发布日期、内部链接和不应意外发布的内容。完整备份与公共网站不同:导出内容可能包含草稿、过时文件、个人信息和证书。保存和出版必须是分开的决定。

2。将内容与 WordPress 分开

WordPress最有价值的资产不是主题、插件或数据库架构。这是内容。一旦帖子以 JSON 形式表示并且媒体存在于普通文件树中,则表示层就变得可替换了。

在主页上,JavaScript 读取精选的文章数据并制作实地备注卡片。每篇文章也有自己的静态 HTML 页面。这为界面提供了结构化内容的灵活性,同时保留了普通的可抓取网址,供搜索引擎和通过直接链接到达的读者使用。

这种 “保护第一,策划第二” 的方法避免了一个常见的迁移错误:因为新设计没有明显的表述而丢弃了历史。档案首先幸存下来;编辑决定随后做出。

3.以人为本设计新网站,而不是围绕内容管理系统

WordPress自然会鼓励一个网站看起来像一系列的帖子。我的新网站需要一个不同的重心:简介、专业工作、我的职业生涯之旅、认证、照片、培训进度、技术说明和一点乐趣。

我们直接用语义 HTML、CSS 和 JavaScript 构建了这个结构。没有通用的主题可以满足成千上万个可能的网站。这个作品集包含导航、排版、移动菜单、图像框架和交互式细节。

重新设计是反复进行的。我可以看本地预览,比如说终端遮住了我的手臂,感觉人像被裁剪了,或者标题被一个尴尬的词弄坏了,而且实现方式可以立即进行调整。这种简短的反馈循环是人工智能协作特别有用的地方:视觉判断仍然是人为的,而将其转化为有效的CSS则变得更快了。

4。将旧 URL 和搜索可见度视为生产数据

如果新主页看起来很棒,但多年的可搜索材料消失了,那么重新设计就不会成功。每份选定的笔记都会收到一个独立的网址、一个描述性标题、一个元描述和一个权威地址。这些页面还包括用于共享的Open Graph和Twitter元数据,以及Schema.org结构化数据,这些数据将内容标识为技术文章并将其与作为其作者的我联系起来。

站点地图列出了核心页面和存档笔记。该网站一直将我标识为 “伯恩德·库伦”,并将 “伯恩哈德·库伦” 作为别名。机器人会获得明确的抓取指导,而用户和搜索引擎仍然可以在不执行交互式主页的情况下关注普通链接。

如果旧的永久链接有反向链接或搜索历史记录,则该链接应保持有效或永久重定向到替代链接。URL 映射属于迁移计划,不在启动后的清理列表中。

5。让基础架构变得无聊——这是个好方法

最终文件存储在私有、加密和版本控制的 S3 存储桶中。CloudFront 是公共入口点,可通过 Origin 访问控制访问存储桶,因此存储空间本身不会作为公共网站公开。强制执行 HTTPS,需要现代 TLS,响应标头策略提供主浏览器安全标头。

该基础设施是在CloudFormation中描述的,而不是仅通过点击AWS控制台来组装的。部署脚本更新堆栈,同步明确的公共文件允许列表,并使 CloudFront 缓存失效。这使得版本可以重复,并为未来的变更提供了可审查的实施方式。

静态托管会从请求路径中删除 WordPress 数据库、PHP 运行时、主题更新和插件补丁。它不会解除运营责任;它使之变成一个更小、更易于观察的问题。

6。先预览,然后切开

在整个工作过程中,该网站在 Nginx 后面的容器中本地运行。这种预览环境使测试台式机和手机布局、打开存档文档、玩嵌入式游戏以及在任何内容投入生产之前检查训练图表成为可能。

安全转换计划应包括:

  1. 内容冻结或明确规定的最终出口;
  2. 完整的数据库和媒体备份;
  3. 重要网址的本地和暂存验证;
  4. 在切换之前准备好的 DNS 记录和证书;
  5. 通往先前原点的回滚路径;
  6. 来自开发机器外部的发布后检查。

S3 版本控制和基础设施即代码有助于恢复,但它们并不能取代经过深思熟虑的回滚程序。

7。移除应用服务器后添加可观察性

静态网站仍然会出现故障、吸引机器人或产生意想不到的流量。CloudFront 访问日志记录请求、状态代码、用户代理和边缘站点。这些日志提供给 CloudWatch 仪表板,该仪表板显示访问量和 HTTP 状态系列,保留期限是明确的,而不是无限的累积。

尽管绝不应将边缘位置、知识产权衍生的国家或城市误认为经过验证的人,但地理视图有助于揭示流量的起源。运营数据可以回答有关请求的问题;它很少能证明身份。

这种可观测性还创建了一个有用的基线。我可以查看错误趋势并检查请求的路径,而不是等待有人报告链接损坏。

8。使用迁移来构建 WordPress 从未鼓励的东西

一旦网站不再由传统的博客主题塑造,添加反映我实际兴趣的功能就变得更容易了。Apple Health 的输出数据已转换为每日、每周和每月的汇总训练视图。证书变成了专用、可浏览的档案。个人照片收到了字幕。两款小游戏——Snake和Galaga——在 “娱乐” 栏目找到了家。

它们仍以静态资产和客户端代码的形式交付。重要的变化不是增加更重的平台;而是创建了一个可以共存小而有针对性的功能的结构。

人工智能在哪些方面做得好以及在哪些方面需要监督

人工智能在重复检查、提出转换、生成第一个实现、检查语言以及对多个文件应用详细反馈方面特别有效。它可以跟踪内容记录、其文章页面、站点地图和部署包之间的关系。

它仍然需要验证。一个看似合理的链接可能是错误的。技术上有效的布局在真实手机上可能看起来很尴尬。生成的副本可能听起来很笼统,或者声称比系统的实际效果更大。基础设施命令可能产生的后果远不止是段落中的错字。

最高效的工作流程是对话式的,但纪律严明:检查真实的系统,做一个有限的更改,预览它,测试它,然后再发布它。人工智能加速了这个循环;它并没有将其消除。

可重复的迁移清单

  1. 备份 WordPress 数据库、上传内容和配置。
  2. 导出帖子、页面、分类法、日期、作者和媒体引用。
  3. 将内容分类为公开、私密、过时或不确定。
  4. 创建 URL 清单和重定向地图。
  5. 选择符合实际要求的最简单的目标架构。
  6. 构建小型设计系统和可重复使用的内容模板。
  7. 为应保持可搜索的材料生成独立的语义页面。
  8. 添加元数据、权威网址、结构化数据、机器人规则和站点地图。
  9. 测试可访问性、响应式布局、链接、文档和错误页面。
  10. 将基础架构和部署描述为代码。
  11. 通过备份、监控和经过测试的回滚路径来切换。
  12. 保留存档,直到新网站证明了自己的实力。

权衡取舍

静态网站不会自动成为每次安装的WordPress的正确替代品。拥有许多非技术编辑、复杂的工作流程、评论或经常更改服务器端数据的新闻编辑室仍可能受益于成熟的 CMS,或者受益于带有静态前端的无头 CMS。

对于通过代码维护的个人投资组合,余额是不同的。我用浏览器编辑帖子的便利性换成了更小的攻击面、可预测的交付、版本控制和对体验的完全控制。人工智能减少了基于代码的工作流程的摩擦,足以使交易具有吸引力。

最后的外卖

旧的 WordPress 网站并没有被丢弃。它经过精心拆解:保留了内容,推广了有用的部分,重建了演示文稿,简化了基础架构。

这就是我要重复的迁移课。不要一开始就问哪种人工智能产品应该取代WordPress。首先,询问哪些必须存活下来,网站真正需要做什么,以及可以消除哪些复杂性。然后使用 AI 作为有能力的工程合作伙伴——好奇、快速、乐于助人,但始终要根据真实文件、真实测试和人工判断来工作。

BERND KUHLEN · 云工程实地笔记
ZH
EnglishENDeutschDEEspañolES中文ZH