企业官网和小程序最容易烂尾的,不是技术,是交付清单
官网烂尾很少是因为写不出页面,小程序驳回也很少是因为代码差。把「完成」定义清楚——从页面清单、备案、SEO/GEO、类目与域名白名单,到验收、备份和交接,这份清单能少踩一半的坑。
先说结论
这两类项目我做过不少,烂尾的原因几乎都不是技术:
- 官网:首页改到第 9 版,但没人定义「上线」是哪一天、包含哪些页面。
- 小程序:代码两周写完,卡在类目资质、域名白名单和审核驳回上,来回一个月。
技术问题都能搜到答案,交付边界没人帮你定义。下面这份清单,是我现在接这类项目的实际做法,能直接抄。
一、立项:先把「完成」写下来
开工前必须产出一页纸,双方签字确认。没有这一页,后面每一次「再改一点」都没有成本。
| 项目 | 要写清楚的内容 |
|---|---|
| 页面 / 功能清单 | 到 URL 和按钮级别,例如 /about、/services、后台「用户管理-导出」 |
| 内容责任人 | 文案、图片、产品参数由谁在哪一天提供,延期怎么处理 |
| 验收口径 | 用可观测指标:首屏时间、移动端适配尺寸、表单能收到邮件 |
| 不包含项 | 域名注册费、备案主体、短信费用、小程序认证费、第三方接口费用 |
一个实用原则:按交付物报价,不按「页面数」报价。页面可以无限拆,交付物拆不动。
二、企业官网:优先静态站,不要默认上 CMS
展示型官网(公司介绍、产品、案例、联系方式)优先静态站,Astro / Next / Hugo 都行:
- 构建产物就是 HTML,直接上 CDN,没有数据库和后台入口,攻击面接近零
- 首屏快,LCP 很容易压到 2.5 秒以内
- 部署在 Cloudflare Pages / Vercel,推代码自动发布,不需要维护服务器
只有这两种情况才建议 WordPress 或自建 CMS:非技术人员需要天天改内容,或者已经有内容团队和现成站点要迁移。否则 CMS 带来的插件漏洞、升级、备份,都是长期成本。
官网必做项(少一项都算没交付)
- 每个页面独立的
title/description,不能全站一套 sitemap.xml、robots.txt、canonical- 分享图(1200×630)和
og:/twitter:标签,否则微信里发出去是一片空白 - 结构化数据:
Organization/Person/Service/FAQPage/BreadcrumbList llms.txt:给 AI 搜索引擎一份站点索引,这是 GEO 的入门动作- 404 页、表单防垃圾提交(蜜罐字段 + 频率限制)、访问统计
- 图片压缩 + 懒加载;中文字体做子集,别整包加载
备案这件事要提前说
服务器在境内就必须备案,周期通常 1–3 周,这期间网站不能对外提供服务。用 Cloudflare Pages 这类境外托管不需要备案,但国内访问速度会有波动。给客户报价时,把「备案周期」写进排期,别等上线前一天才提。
三、后台管理系统:基于 gin-vue-admin 二次开发
后台系统最怕从零手写权限。我的选择是 gin-vue-admin:Go + Gin + Vue3 + Element Plus,自带 JWT、Casbin RBAC、菜单权限、代码生成器和文件上传。
买授权版的价值不在源码(社区版也能用),而在于:商用授权清晰、可以去水印、能拿到稳定更新。给客户交付时,这一点要写进合同,避免版权扯皮。
二次开发守住三条边界:
- 不改核心框架目录,业务代码放独立 module,后续升级才能合并
- 用代码生成器生成 CRUD 骨架,再改业务逻辑,不要手搓表格和表单
- 权限按角色配置,不按人配置;上线前把默认超管账号改掉
部署拓扑很朴素:
Nginx (443) → Go 服务 (127.0.0.1:8888) → MySQL 8 + Redis
↑
前端 dist 静态文件(同域 /)
必须做的四件事:数据库只监听内网、每日自动备份并做过一次恢复演练、管理后台加登录限流、全站 HTTPS。
四、小程序:卡住你的通常是配置,不是代码
| 环节 | 常见坑 |
|---|---|
| 主体与类目 | 电商、教育、医疗、金融需要额外资质;类目选错会被驳回 |
| 服务器域名 | 必须 HTTPS、已备案、不能带端口;每个月只能改几次,提前配好 |
| 隐私协议 | 收集手机号、位置、相册都要在隐私协议里声明,否则审核不过 |
| 登录态 | code2session 换 openid 必须在服务端做,前端存 openid 等于把身份送人 |
| 审核 | 诱导分享、虚拟支付、内容违规、功能与类目不符,是最常见的四类驳回 |
小程序的代码量通常不大,排期里要给审核留 3–7 天,并且准备一次驳回重提的余量。
五、上线前验收表
| 检查项 | 通过标准 |
|---|---|
| 移动端 | 375 / 390 / 414 三档宽度无横向滚动,按钮可点 |
| 首屏性能 | 4G 网络下 LCP < 2.5s,无布局抖动 |
| 表单 | 能真实收到提交,且重复提交被拦截 |
| 异常页 | 404 / 500 有友好页面,不暴露堆栈 |
| 备份 | 做过一次「删库→恢复」演练,记录耗时 |
| 监控 | 站点可用性、证书到期、磁盘使用有告警 |
六、交接清单:交付不是发个压缩包
客户必须拿到:代码仓库权限、域名与 DNS 账号、证书续期方式、服务器账号、备份文件位置、部署文档、一页纸运维手册。
一条硬标准:交付完成后,客户不依赖我也能重启、备份、换证书。做不到,就还不算交付。
这个站(OpsAI 实验室)就是按上面这套流程做的:Astro 静态站 + Cloudflare Pages + 结构化数据 + RSS / llms.txt,体感游戏放在 /game/ 同域部署。想看实际效果可以去 实验室,需要官网、后台或小程序的交付,直接走 技术咨询。