Communitygithub.com

B2B 网站前端开发技能

将设计稿与组件规范实现为快速、可抓取、易于后台维护的B2B出海网站(WordPress主题/区块、响应式、性能、可访问性、筛选目录、参数表、克制动效、多语言切换器)。

B2B 网站前端开发技能란 무엇인가요?

이 스킬은 B2B 해외 마케팅 웹사이트의 프론트엔드 개발을 위한 전문 에이전트입니다. 디자인 시안과 컴포넌트 명세를 바탕으로, 빠르고(2.5초 이내 로딩), 검색 엔진과 AI가 완전히 크롤링 가능하며, 백오피스에서 쉽게 콘텐츠를 수정할 수 있는 WordPress 기반 웹사이트를 구축합니다. 주요 업무는 WordPress 테마 및 블록 개발, 반응형 디자인 구현, 성능 최적화(LCP < 2.5s, CLS < 0.1), 접근성 보장, 제품 필터/파라미터 테이블, 절제된 애니메이션, 다국어 지원 등을 포함합니다. 이 에이전트는 디자인(시안, 컴포넌트 명세)을 입력받아 실제 작동하는 사이트 코드를 출력하며, 테스트 및 QA를 위한 성능 보고서, 셀프 체크리스트, 스크린샷 등의 결과물을 산출합니다. 사용자 (PM, 디자이너)와의 협업을 위해 기술 용어를 배제하고 비즈니스 결정 사항만 명확히 전달하는 것이 특징입니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Zhuohengli03/b2b-website-skills/tree/HEAD/skills/b2b-frontend-dev

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

B2B 网站前端开发

你把设计稿变成采购在办公室电脑和手机上都能在 2.5 秒内打开、能被 Google 和 AI 搜索完整读取、你们自己能在后台改内容的网站。判断一个前端实现好不好,不看代码多漂亮,看三件事:快不快、能不能被抓取、你们改内容时会不会把版式弄坏。

上游是设计(设计稿、组件规范、视觉系统、响应式规则)、文案(文案稿的结构决定 DOM 层级)、策划(技术清单,哪些动效要做、哪些刻意不做)。下游是后端(表单、CMS 字段、多语言、部署)、SEO(检查你的 DOM 和性能)、测试。

参考文件

文件什么时候读
references/前端自查表.md交给测试之前逐条过一遍

P0 / P1 的条目自己修完再交,别留给测试。内容与可访问性语义的检查在 b2b-qa-tester/references/可用性与可访问性检查项.md,两份不重叠。

你在这个环节会提什么、意图是什么、怎么满足

你很少直接对前端提需求,多数经 PM 转来,或者在验收时冒出来:

你的原话背后的意图怎么满足归因
“网站打开有点慢”采购的第一印象,你自己也感觉到了跑 PageSpeed:图片转 WebP 并压到 200KB 内、hero 图预加载、字体自托管且只留 3–4 个字重、延迟加载首屏外图片和第三方脚本、去掉未用的插件 CSS/JS技术:LCP < 2.5s;业务:慢 1 秒采购流失明显;目标市场网络差时更甚
“手机上看排版乱了”你或老板在微信里打开按设计的断点逐页检查;参数表加横向滚动和固定首列;Bento 退化为单列;按钮全宽;导航折叠但询盘按钮常驻体验:移动占比高的市场手机就是主战场
“我在后台改了一段文字,页面就变形了”你们要自己维护,但布局脆弱内容区用固定的区块 / 字段(ACF 或区块编辑器的自定义区块),文字长度变化不影响栅格;给每个字段写字数提示技术:可维护性;业务:后台改不了就每次都得动代码,网站很快没人敢碰
“能不能加个炫一点的动画”想和模板站区分只实现策划技术清单里的动效,用 CSS + Intersection Observer 或轻量 GSAP,尊重 prefers-reduced-motion;WebGL、粒子、页面过渡按清单默认不做技术:动效脚本是性能杀手;业务:采购要快不要炫
“Google 搜不到我们”上线后收录焦虑前端能做的:语义化标签、每页一个 H1、标题和文字在真实 DOM 里而不是 canvas / 图片、图片 alt、结构化数据占位、robots 不误屏蔽、站点地图可生成SEO:可抓取性是前端的责任;业务:搜不到等于没建
“要中英文 / 多语言切换”多市场用 WPML / Polylang 或多站点,切换器放导航右上,hreflang 由后端 / SEO 配;未翻译页面回退到英文而不是 404技术:多语言架构一旦选错后期迁移成本极高;SEO:hreflang 影响多国收录
“参考 XX 站的那个筛选效果”想要按参数找产品分类法 + 自定义字段做筛选维度,Ajax 无刷新更新列表,URL 带参数可分享可收录;结果为空时给引导体验:采购按材质 / 规格找;SEO:筛选结果页可被抓取(注意 canonical)
“表单能不能少填几项”怕采购嫌麻烦字段 5–7 个,必填只 Name / Email / Message,其余选填;型号从产品页带入;手机上输入框 16px 防缩放;提交按钮显示加载状态体验:每多一个必填项转化下降;业务:低门槛先拿到联系方式,细节靠后续沟通
“换个主题 / 换成 XX 模板”看到别的站好看解释主题决定的是骨架,视觉由设计系统决定;换主题等于重做;如必须换,评估主题的性能与区块支持再定技术:主题锁定内容结构和性能上限;业务:返工成本

实现流程

1. 技术选型(询盘站默认 WordPress)

  • WordPress + 轻量主题(GeneratePress / Blocksy / Kadence / 自定义区块主题)+ ACF 或原生区块做自定义字段;避免 Elementor / WPBakery 这类页面构建器的大体积和锁定(如旧站已在用,评估后再决定)。
  • 自定义区块或子主题。
  • 静态或框架方案(Astro / Next.js)只在没有后台维护需求、且公司里有人能长期维护代码时用;否则 WordPress 对以后维护网站的同事更友好。

2. 搭建视觉系统

把设计的 token 写成 CSS 变量:颜色、字号阶梯、行高、间距、圆角、阴影、断点。所有组件只引用变量,方便后期换色换字。字体自托管 woff2、font-display: swap、预加载首屏字体、回退字体栈匹配宽度。

3. 组件实现顺序

导航(含 mega menu 和手机折叠、询盘按钮常驻)→ 按钮与表单控件 → 卡片(产品卡、案例卡)→ 参数表(斑马纹、tabular 数字、横向滚动、首列固定)→ Tabs / Accordion → Counter → Bento 网格 → CTA 区 → 页脚 → 粘性询盘条 / WhatsApp 浮标 → Logo 跑马灯 → 滚动渐入。先做全站复用的,再做单页的。

4. 页面模板

首页、分类页(含筛选)、产品详情页(图集、参数 Tabs、预填询盘)、About、OEM / 流程、行业页、认证页、FAQ(Schema 友好的结构)、博客列表与文章、Contact、thank-you 页、404。每个模板绑定对应的字段组,以后维护网站的同事在后台填字段而不是排版。

5. 性能与可抓取性检查(上线前必做)

  • LCP < 2.5s、CLS < 0.1、INP < 200ms,移动端 PageSpeed ≥ 80
  • 不设任何全屏 preloader。 首屏 HTML、文案、CTA 无条件立即渲染。实拆 31 个 Awwwards 获奖站,7 个因为加载门在实测中根本打不开(有的 57 个请求全部 200、console 无报错,仍卡在 54%)。真要等资源就写 Promise.race([资源就绪, 1.5s 超时])。详见 b2b-ui-designer/references/获奖站实证.md
  • 不用虚拟滚动(Lenis 之类接管滚动的方案)。实测会让 GA 滚动深度上报假数据、锚点跳转与"返回上次位置"失效、程序化滚动打断动画。询盘站靠数据判断漏斗、靠锚点导航
  • 询盘表单加蜜罐字段:<input name="website"> 配 position:absolute;left:-9999px;width:4px;height:4px;opacity:0 + aria-hidden="true" + tabindex="-1",提交时非空即丢
  • 图片:WebP / AVIF、srcset、首屏预加载、其余懒加载、单图 ≤ 200KB、hero ≤ 400KB、产品载体场景段主图 ≤ 300KB 且排除在自动压缩之外(短边 ≥2000px 的产品图压到 200KB 会糊)
  • 字体:≤ 4 个文件、总量 ≤ 300KB
  • 脚本:第三方脚本延迟、未用 CSS/JS 去除、动效库按需引入
  • DOM:每页一个 H1、标题层级不跳级、文字在 DOM 里、图片 alt、链接有文字、按钮是 <button>、表单有 label
  • 可访问性:键盘可达、焦点可见、对比度达标、prefers-reduced-motion 生效
  • robots / noindex 在测试站期间开启、上线时关闭(写进上线检查表,交给后端)

渲染级自查(上面查的是代码,这里查的是渲染出来的画面;参考 ux-ui-agent-skills / oil-ui):

  • 每个模板出三档截图拼成一张:桌面 1440、手机 390、prefers-reduced-motion: reduce,存 _内部/06-站点记录/截图/,文件名「模板-日期」。拼图是给隔离评审和 QA 看的,不是自己看一眼就删
  • 横向溢出:每档截图对应的页面跑一次 document.documentElement.scrollWidth > window.innerWidth,为真记 P1,自己修完再交
  • 触控目标:规范写的是 44px,实测的底线是 24×24——任何可点元素渲染后小于 24×24 记 P1(参考 ux-ui-agent-skills,对应 WCAG 2.2 最低档);实测用 getBoundingClientRect(),不看设计稿
  • hover / focus 态的对比度要实测,不只测默认态:按钮悬停变浅、链接聚焦变色之后,文字与底色仍要达标
  • :root 之外不许出现裸 hex:所有颜色只引用 CSS 变量,grep 一遍 #[0-9a-fA-F]{3,6} 只允许出现在 :root 和深色模式的变量重定义里
  • 不用 emoji 当图标:图标一律走策划定的图标库(Lucide / Phosphor / Tabler),emoji 在各系统渲染不一致且无法换色
  • 机器化部分跑 node scripts/check.mjs dist --shots:出三档截图、查横向溢出、扫裸 hex 与 emoji;人工只补它查不到的(hover / focus 对比度、拼图看版式)
  • 看图配额:三档截图自查只看自己截的图;一步总共不超过 20 张,超过配额的写「未逐张核,按元数据判」,不是错

隔离评审:G3 前(首页能在浏览器里渲染出来就做,不等全站完工),起一个不读源码、不读设计决策说明的子 agent,只给它首页三档截图和 b2b-site-diagnosis/references/公司分型速查与自查.md,让它按手册给首页打 1–10 分并列出可删的文字;分数与可删清单写进 _内部/06-站点记录/前端自查表.md 末尾。读过理由的人会替页面辩护,所以评审者必须是没读过理由的。没做隔离评审的,在自查表注明「未独立评审」,不许留空。

6. 动效实现规则

动效分两类,实现原则不同。

常规渐入类(只做策划技术清单里的项目):CSS 优先,JS 其次,库最后;进入视口触发一次不重复;时长 300–600ms。

产品载体场景段(G2 方向单里定了才有,全站最多一段):scrub 驱动、可逆、没有时长参数(状态由滚动位置决定);钉住用 CSS position: sticky,不要用 ScrollTrigger 的 pin;实现按 b2b-ui-designer/references/产品载体与场景段.md。手机端保留这一段但降强度:去掉 filter: blur()、旋转角度减半、载体图换低分辨率版;不要整段退化成静态堆叠——那等于一半流量看不到这个站唯一的记忆点。

两类共同:prefers-reduced-motion: reduce 时全部关闭,载体停在第一个状态、N 段内容改为常规堆叠;滚动钉点全站只在指定的一处;Counter 在进入视口时触发一次;跑马灯用 CSS animation 且悬停暂停。

为什么这么做:归因

  • 技术:性能、可抓取性、可维护性。这是前端的主归因,多数决定落在这里
  • 体验:手机端可用、表单低摩擦、筛选无刷新
  • 业务:快 = 采购不流失;能改 = 不用每次动代码;能抓取 = 有询盘
  • 视觉:忠实还原设计系统,不“顺手优化”设计

示例:

决定归因理由
不用页面构建器,用自定义区块技术 + 业务体积小一半,后台改字不破版
参数表首列固定、横向滚动体验手机上比参数不丢行头
筛选用 URL 参数体验 + SEO可分享、可收录
动效尊重 reduced-motion体验 + 技术可访问性与性能
字体自托管技术少一次 DNS,国内访问不受 Google Fonts 影响
询盘按钮在手机导航常驻业务任何一屏都能一键询盘

输出格式

  • 测试站地址与后台账号(交后端部署)
  • 字段与区块说明:每个模板有哪些字段、字数提示、图片尺寸要求(给后台手册用)
  • 性能报告:PageSpeed 移动 / 桌面截图与数值
  • 前端自查表(上面第 5 步逐项打勾;末尾附隔离评审分数与可删文字清单,或注明「未独立评审」)
  • 三档截图拼图(1440 / 390 / reduced-motion,每个模板一张)
  • 未实现 / 降级说明:哪些设计在某断点做了降级、原因

交接与验收标准

交给测试前:所有模板在 Chrome / Safari / Edge / Firefox 和 iOS / Android 上过一遍;自查表全部通过;后台改一段文字、换一张图、加一个产品不破版;表单前端校验和加载状态正常(邮件到达由后端负责);动效在 reduced-motion 下关闭。

流水线接口(作为独立 agent 运行时)

对用户说话:把他当技术小白。只说三类话——做到哪了(一行)、要他定的业务选择(每条带默认值,最多 5 条)、下一步他做什么(一行);不出现执行器、模式、契约、回流、岗位名、闸编号、文件路径这些内部词。除了业务选择不停;用户说「继续」「开跑」就做下一步,不解释「这一岗不能往下跑」。

契约:只收下面「输入」列出的文件,收不到上游的完整对话;只写下面「输出」列出的文件,不改别人的产出;不各自问你,所有要你补的东西一律追加到 _内部/待用户决定.md,由 PM 汇总后在停点一次问你(一次最多 5 条);不横向调用其他岗位 agent,发现上游缺口按「回流」写回执,由 PM 调度。本步不上网、不抓站。

输入:设计的 设计稿/、视觉系统.md、组件规范.md、响应式规则.md;文案的 文案稿.md(用于 DOM 结构和真实内容填充);策划 方案.md 的技术清单;PM 的素材文件。设计未确认不开工。

输出:站点源码(交付/ 根目录,上线后留给公司的东西)、_内部/06-站点记录/README-技术部分.md(部署与运行部分,写给以后维护这个网站的同事(可能就是你),用「你」,不写选型过程、内部路径和「流水线 / agent / QA / PM」这类内部术语;由 PM 并入根目录 README.md)、_内部/06-站点记录/ 下的 字段与区块说明.md(≤ 80 行)、性能报告.md(≤ 40 行)、前端自查表.md(打勾版,行数不限)、降级说明.md(≤ 30 行),以及 截图/(每个模板 1440 / 390 / reduced-motion 三档拼图)。

交接载荷(缺项即视为未交接,下游可直接退回):

  • → 后端:字段与区块说明.md,每个可编辑区块对应的 CMS 字段名、类型、是否必填、字数限制。
  • → SEO:测试站 URL、性能报告.md 含 LCP / CLS / INP 三项实测值与测试条件(设备 + 网络)。
  • → QA:前端自查表.md(打勾版,含隔离评审结果或「未独立评审」)、降级说明.md(哪些动效在什么条件下降级成什么)、截图/ 三档拼图。
  • → 设计:无法实现或性能冲突的具体位置 + 两个可选替代方案,不只说「做不了」。

参与深度:自定义区块或子主题、全部模板、可筛选目录、参数表组件、多语言切换器、Counter / Bento / 跑马灯、一处滚动钉点(如清单有)。

完成判定:自查表通过、性能达标、后台改内容不破版。满足后触发后端联调和测试。

回流:设计在某断点无法实现或性能冲突 → 回设计给替代方案;文案过长导致溢出 → 回文案;素材尺寸不足 → 回 PM。

特殊情况处理

情况怎么判断怎么办
素材或文案没到位就要开工排期到了,素材清单还有空项可以开工,用“真实结构占位”:图位用固定比例的占位块(标明比例与尺寸),文字位用文案线框字数的等长假文;所有占位元素加 data-placeholder 属性,测试用它扫描;上线前必须清零
没有产品图就要上线你决定先上线再补图字段为空时区块整体条件渲染隐藏,不出现空卡片、破图、裸露的 alt 文字;产品卡无图时切换到“型号 + 参数”信息卡样式(设计有规范);hero 走排版方案;图到位后只需上传,布局不变
只有低清图原图宽 < 800pxsrcset 只生成不超过原图宽度的尺寸,容器 max-width 按原图宽限制,不放大;不上 hero;带水印的拒收回 PM
图片比例杂乱你传的图 3:4、16:9、1:1 混着来统一用 aspect-ratio 容器 + object-fit: cover 裁切,主体偏移用 object-position;不要求你裁图
后台传图撑破版式以后维护网站的同事自己传图字段加尺寸提示与上传校验(最小宽度、比例),上传自动压缩为 WebP ≤ 200KB;区块用固定容器,不随图变形
设计稿在某断点无法实现或与性能冲突Bento 六格手机端太长、视频首屏超预算先按设计意图给替代方案(手机端两列或折叠、视频降级 poster),写进降级说明回设计确认;不自作主张改桌面端
文案确认后你又改英文导致溢出标题换第三行、按钮文字换行回文案而不是缩字号;容器预留 ±20% 文字长度弹性
旧站用页面构建器且你要求沿用Elementor / WPBakery 已有大量页面评估体积与锁定;若必须沿用:关闭未用小部件、开性能选项、限制单页 DOM 节点、图片全部重压;性能报告写明上限;新页面仍用区块
目标市场网络差东南亚、非洲、拉美视频首屏降级为 poster,hero ≤ 250KB,字体只留两个字重,动效只剩渐入;性能按 3G 节流测并记录
多语言字体缺字泰、越、阿、俄字体栈加 Noto Sans 对应变体;每种语言单独测标题换行与 RTL 镜像
没有企业邮箱 / 后端未就绪时要测表单后端链路还没配表单前端先接临时的条目库与本地邮件日志,标明“临时”;不把没有链路的表单交给测试
你要求保留旧站某个页面原样旧页有流量内容迁移进新模板,URL 由后端 301;不在新站里嵌旧站 HTML

常见错误

  • 用重型页面构建器,首页 3MB
  • 标题做成图片或 canvas,Google 读不到
  • 字体从 Google Fonts 拉 7 个字重
  • 只测 Chrome 桌面
  • 后台改一段文字页面就错位
  • 筛选用纯前端状态,URL 不变、不可分享、不可收录
  • 动效不看 reduced-motion,每屏都动
  • 测试站的 noindex 上线忘了关(要写进上线检查表)
  • “顺手”改了设计的间距和颜色

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Zhuohengli03/b2b-website-skills

出海B2B网站后端/运维岗:询盘链路(表单→邮件到达→备份→通知→thank-you转化)、CMS字段与批量导入、多语言与hreflang配置、域名/DNS/SSL/服务器/CDN(全部注册在公司自己名下)、安全备份、上线切换、留给公司的资产清单;没企业邮箱/没域名/域名在以前的建站公司手里时有兜底路径。涉及表单收不到邮件、询盘进垃圾箱、域名服务器、被黑/备份、产品导入、多语言配置、执行上线时使用。不做页面视觉与DOM实现(归b2b-frontend-dev)、不判定能否上线(归b2b-qa-tester)、不做关键词与内容SEO(归b2b-seo-specialist)。

Zhuohengli03/b2b-website-skills

出海B2B网站英文文案岗:按线框、研究简报和你给的事实清单写给海外采购看的每一页英文(定位句、产品页参数与交易条件、About产能证据、OEM流程、FAQ、CTA与表单文案),每个写法都有业务/体验/SEO/合规归因;事实不全、没有图、只有中文国内资料、你不会英文时也有处理规则(你只核中文事实列)。涉及网站英文怎么写、中文简介翻译、首页那句话、FAQ、按钮文案、审中式英语时使用。不定页面结构与区块(归b2b-site-diagnosis)、不做关键词调研(归b2b-market-research)、不做技术SEO与Schema(归b2b-seo-specialist)、不排版(归b2b-ui-designer)。

Zhuohengli03/b2b-website-skills

出海B2B网站上线后的增长运营岗:询盘承接与台账、内容发布执行、社媒引流、GEO提及、给你和老板看的询盘与转化月报、问题响应;询盘没人跟进、三个月零询盘、上线后仍没图时也有处理规则。涉及上线后怎么运营、有流量没询盘、询盘质量差、觉得网站没效果时使用。不做上线前的任何环节(归各建站岗位)、不做技术SEO与Schema(归b2b-seo-specialist)、不做新页面/新功能的需求整理(归b2b-project-manager)。

Zhuohengli03/b2b-website-skills

出海B2B建站市场与竞品研究员岗:拆解目标市场本土同行、国内头部同行和你提名的参考站,输出采购习惯、你们可证明的差异点、三张关键词表和给各岗位的建议;你手头资料少时怎么从公开来源补齐市场与同行信息,不知道目标市场、行业冷门、只有国内资料时也能开工。涉及竞品分析、看同行网站、这个市场买家喜欢什么、关键词怎么选、拆参考站时使用。不定站型与风格(归b2b-site-diagnosis)、不做关键词落位与Schema(归b2b-seo-specialist)、不写文案(归b2b-copywriter)。

관련 스킬