一、三个现场:合规问题往往藏在一句文案里
2026 年,市场监管部门对网络交易的抽查已经常态化,职业打假人对企业官网、公众号、小程序的投诉量也在持续上升。我们给十堰本地企业做网站和小程序验收时,"广告合规"这一项从 2023 年的"顺带提一句",变成了现在每次必查的固定环节。下面三个场景,是我们这两年在十堰客户项目里反复遇到的类型。
场景一:首页横幅写着"十堰最专业的网站建设公司"
这是最高频的问题。《广告法》第九条明确禁止使用"国家级""最高级""最佳"等用语,也禁止使用"第一""顶级""绝无仅有""100% 有效"这类变相绝对化表述。对应的罚则在第五十七条:责令停止发布广告,对广告主处二十万元以上一百万元以下罚款,情节严重的可以吊销营业执照。实务中首次违规多以责令改正为主,但一旦被立案,配合调查、提交整改报告、行政处罚信息公示带来的隐性成本,远远高于改一句文案。
更麻烦的是,官网的首页大图往往是设计师直接排进代码里的,运营改不了;等到被投诉,才发现这句话在三个页面、两个版本的模板里各写了一遍。
场景二:小程序里挂着一张已经过期的 ISO 9001 证书
《广告法》第十一条规定,广告使用数据、统计资料、调查结果、文摘、引用语等引证内容的,应当真实、准确,并表明出处;引证内容有适用范围和有效期限的,应当明确表示。一张三年前到期、或者认证范围只覆盖"某一类产品的销售"却用来背书"全部服务"的证书,就属于典型的虚假或引人误解的宣传,适用第五十五条,可处广告费用三倍以上五倍以下罚款,广告费用无法计算或明显偏低的,处二十万元以上一百万元以下罚款。
证书类素材的通病是"上线时是对的,放两年就错了",而没有任何人负责在到期那天把图撤下来。
场景三:案例页用了客户的现场照片和微信聊天截图
这类问题和技术无关,却最容易引发民事纠纷。客户厂区照片涉及他人的经营场所与肖像,微信聊天截图里往往带着对方姓名、手机号、头像,既可能侵犯肖像权(《民法典》第一千零一十九条),也可能构成对个人信息的违法处理。正确做法是:使用前取得书面授权,截图必须打码处理手机号、姓名、头像,并在案例页加一句"已获客户授权发布"。
这三个场景没有一个是技术难题,但它们都指向同一个结论:合规不能靠人盯,必须变成发布流程里的一个检查点。
二、法规底稿:做技术的人必须记住的五条
- 《广告法》第九条:不得使用"国家级""最高级""最佳"等用语,不得使用或变相使用国旗、国歌、国徽、军旗、军歌、军徽,不得使用国家机关和国家机关工作人员的名义或形象。
- 《广告法》第十一条:引证内容必须真实、准确并表明出处;有适用范围和有效期限的,必须明确表示。
- 《广告法》第二十四条、第四十六条:教育培训广告不得对升学、通过考试、获得学位作保证性承诺;医疗、药品、医疗器械、保健食品、特殊医学用途配方食品广告发布前须经审查,并标明批准文号。
- 《互联网广告管理办法》(2023 年 5 月 1 日施行):第九条要求互联网广告具有可识别性,竞价排名结果应显著标明"广告";第十条要求弹窗广告显著标明关闭标志、确保一键关闭。
- 《网络交易监督管理办法》第十二条:网络交易经营者应当在其网站首页或者从事经营活动的主页面显著位置,持续公示营业执照信息、与其经营业务有关的行政许可信息,或者上述信息的链接标识。
对十堰的建站和软件开发团队来说,最后一条经常被漏掉:很多企业官网底部只有一个"版权所有"和备案号,没有营业执照公示入口。这不是美观问题,是明确的可处罚项。
三、官网自查清单:12 项,逐条打勾
- 首页、关于我们、产品页是否出现"最""第一""顶级""国家级""独家""唯一"等绝对化用语;
- "XX 行业领导者""销量第一""市场占有率 80%"这类表述是否有可核查的第三方数据来源与统计口径;
- 所有引用数据是否标注了出处、统计时间、样本范围;
- 荣誉资质区的每一张证书是否在有效期内,认证范围是否与实际宣传的业务一致;
- 底部是否公示营业执照(或可点击的公示链接)、ICP 备案号并链接到工信部备案系统;
- 涉及许可经营(食品、医疗器械、人力资源服务、增值电信业务等)是否公示许可证编号;
- 案例与客户 logo 是否有授权,是否出现"合作客户"与实际仅为"询过价"的夸大;
- 价格宣传是否写明计价单位、包含项与不包含项,"XX 元起"是否真实存在该档位;
- 赠品、优惠活动是否写清品种、规格、数量、期限(《广告法》第八条);
- 表单页、留言页是否展示隐私政策,并取得用户勾选同意;
- 页面是否含"点击领取""限时秒杀"等诱导性弹窗,且无法一键关闭;
- 友情链接、合作媒体区是否链接到已失效或被劫持的域名。
四、小程序自查清单:8 项,重点在"资质"和"类目"
- 小程序服务类目与实际经营内容是否一致,是否上传了对应行业的资质(餐饮需食品经营许可证,医疗健康需相应许可);
- 首页是否展示主体名称,是否可跳转"关于我们"查看营业执照;
- 商品详情页的"原价""划线价"是否真实成交过,是否存在虚构原价;
- 用户评价是否被选择性删除或仅展示好评;
- 诱导分享、诱导关注("分享到 3 个群解锁")是否已清理,这是微信平台的明确违规项;
- 抽奖、砍价活动的规则是否完整公示,是否写明开奖时间与奖品数量;
- 收集手机号、位置、相册前是否有单独授权说明,是否提供注销入口;
- 客服入口是否可达,是否公示投诉渠道与处理时限。
五、把合规写进代码:三层拦截
清单只能解决"知道要查",解决不了"每次都能查到"。下面是我们给十堰客户项目实际部署的三层方案,从编辑器到构建流水线逐层收紧。
第一层:编辑器保存前实时提示
在后台富文本编辑器里挂一个轻量检测,命中可疑词只提示、不阻断。原因很实际:如果直接禁止保存,运营会绕开系统,把文案发给技术人员手改,流程反而失控。提示的文案要写清楚"命中哪条规则、建议怎么改",例如"最好"改为"较好"、"第一"改为"较早一批"。
第二层:接口层强制校验并留痕
真正拦得住的是接口层。所有文章、产品、案例的写入接口统一走一次规则校验,命中高危词直接返回 422,同时把命中记录写入审核日志。规则用"正则 + 白名单"实现,重点是白名单——纯正则会误杀"第一时间响应""最后一公里""最终解释权"这类正常表达。
import re
RULES = [
(r"国家级|世界级|最高级|最佳|顶级|绝无仅有|独一无二|全网最低|史无前例", "绝对化用语(广告法第九条)", "high"),
(r"最(好|优|低价|专业|先进|权威|大)", "疑似绝对化用语", "medium"),
(r"第一品牌|销量第一|排名第一|行业第一", "排名类断言,需第三方数据出处", "high"),
(r"\d{2,3}%\s*(有效|治愈|成功|提升)", "效果承诺类表述", "high"),
]
# 白名单:命中这些片段时先剔除再匹配,避免误杀
WHITELIST = ["第一时间", "最后一公里", "最终解释权", "最近", "最新"]
def scan(text):
hits = []
buf = text
for w in WHITELIST:
buf = buf.replace(w, " ")
for pattern, reason, level in RULES:
for m in re.finditer(pattern, buf):
hits.append({
"word": m.group(0),
"reason": reason,
"level": level,
"position": m.start(),
})
return hits
这套规则不到 30 行,但覆盖了我们实际遇到的八成问题。返回结果里带 position,前端就能在原文里高亮定位,运营改起来不用通读全文。
第三层:构建期全量扫描
官网如果是 Next.js 这类静态生成的项目,可以在 npm run build 之前加一个扫描脚本,把 content/ 目录下的 Markdown 和 JSON 全量过一遍,命中高危词就让构建失败。这一步的价值在于兜底:无论内容是从后台录入、从旧站迁移,还是从 Word 直接粘贴,都逃不过构建这道闸门。
配套:资质证书的到期提醒
证书问题靠人记必然出错,做成数据结构就简单了。建一张证书表,把有效期和认证范围都存成字段:
CREATE TABLE compliance_certificate (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(120) NOT NULL, -- 证书名称
issuer VARCHAR(120), -- 发证机构
cert_no VARCHAR(80), -- 证书编号
scope TEXT, -- 认证范围
valid_from DATE NOT NULL,
valid_to DATE NOT NULL,
file_url TEXT,
owner VARCHAR(40), -- 责任人
status SMALLINT DEFAULT 1 -- 1有效 0已下架
);
再配一个每天 9 点跑的定时任务,提前 60 天、30 天、7 天分别推送一次企业微信机器人消息,责任人 @ 到人。消息体只需要三行:证书名称、到期日、关联页面链接。这件事做完之后,"证书过期"这一类问题在我们的项目里基本归零。
六、被投诉之后的 48 小时处置流程
- 第 1 小时:收到市场监管部门或平台通知后,先下线涉事页面,但保留下线前的 HTML 快照和截图,用于说明"整改前状态";
- 第 4 小时:内部核查三件事——文案是谁提交的、审核记录在哪、资质文件是否真实有效;
- 第 24 小时:出具书面整改说明,逐条对应投诉内容写清"原表述—问题定性—修改后表述",附修改前后截图;
- 第 48 小时:把这次命中的词补进规则库,并在周会上过一遍,避免同类问题在别的项目重复出现。
能不能拿出完整的审核留痕,直接决定处置是被认定为"及时整改"还是"拒不配合"。建议审核日志至少保存三年,字段包括:内容 ID、提交人、审核人、审核时间、命中规则、处理结果、版本号。这套表结构在后续应对职业打假人时,比任何解释都有说服力。
七、投入产出:一次整改和一套流程的账
- 纯人工逐篇检查:一篇产品文案 10–15 分钟,一个月更新 20 篇,就是 3–5 个小时的纯人力,而且人一累就会漏;
- 脚本初筛 + 人工复核:初筛是毫秒级,人工只看命中项,单篇压缩到 2–3 分钟,且新人也能上手;
- 一次广告法立案:罚款区间二十万元起,加上整改人力、行政处罚信息公示对招投标的影响,成本量级完全不同。
对十堰的中小企业来说,第三层的构建扫描和证书提醒,加起来不过是一个下午的开发量,却能长期兜住最容易出事的两类问题。
八、写在最后
十堰企业做官网和小程序,广告合规不是"上线之后再补"的一份文档,而是发布流程里的一个检查点。我们给十堰客户交付项目时,默认会把这份清单跑一遍:文案过规则库、资质进证书表、营业执照上页脚、审核记录进日志。做完这四件事,剩下的大部分精力就可以安心放在业务本身,而不是担心某天收到一封投诉函。
如果你的网站或小程序已经上线两三年,从没做过这类检查,建议先从最容易出问题的三处入手:首页大图文案、荣誉资质区、商品详情页的价格表述。这三处改完,风险就降了一大半。
