检查了一个收录半年不涨的网站,180个页面title一模一样、canonical指向了不带www的域名但网站用的是带www的、结构化数据JSON-LD里有3个语法错误,这三个代码问题不改,发多少内容都白搭
SEO代码三层模型:基础层写错扣分、增强层写对加分、高级层影响抓取效率
| 1 | 基础层(TDK + H标签 + canonical + robots + alt)——写对了是及格线,写错了直接扣分。大部分网站的SEO代码问题集中在基础层 |
| 2 | 增强层(结构化数据 + hreflang + Open Graph)——写对了能拿富摘要和社交分享优化,不写也不扣分,但写了能让你在搜索结果里比竞品多一块展示区域 |
| 3 | 高级层(preload + preconnect + dns-prefetch + 缓存策略)——影响Core Web Vitals和蜘蛛抓取效率,站群场景下批量配置收益最大 |
前段时间帮一个朋友看他的企业站,做了快一年,原创内容发了200多篇,外链也换了30多条,但百度收录量一直卡在40几条不涨。用Screaming Frog爬了一遍全站,三分钟就找到了原因:180个页面的title标签一模一样(全是"某某公司官网-专业某某服务"),canonical标签统一指向了https://xxx.com,但网站实际访问用的是https://www.xxx.com(带www和不带www是两个不同的URL),结构化数据JSON-LD里有3个语法错误——少了两个逗号、一个引号没闭合。百度爬虫来抓的时候,看到的是180个title完全相同的页面、canonical指向了一个根本不用的域名版本、结构化数据解析失败——这种情况下收录能涨才奇怪。
改完这三个问题后重新提交了sitemap,两周内收录从40几条涨到了160多条。一篇新内容都没发,只改了代码。这就是SEO代码的性价比——它不是锦上添花,很多时候它是"卡脖子"的那一环。
网站SEO代码按重要性和出错频率可以分成三层,每一层管的事不一样、出错后果也不一样。
一、基础层:六段代码,写对了是及格线、写错了直接扣分
基础层的代码搜索引擎每次抓取页面都会读取和校验,任何错误都会直接影响收录、排名和搜索展现。这六段代码必须逐个检查,一个都不能错。
Title标签(网页标题)
搜索引擎结果里那个蓝色的可点击标题。长度控制在30-35个中文字符以内(超出部分会被截断显示"…")。每个页面必须不同,格式建议"页面主题-品牌名"或"页面主题|品牌名"。全站统一title是最常见的低级错误。
Description(页面描述)
搜索结果里标题下面那两行灰色文字。长度控制在80-120个中文字符。虽然百度不保证一定用你的description作为摘要,但写好了能提高点击率。每个页面必须不同,包含页面核心关键词自然融入。
Keywords(关键词)
百度已经明确表示keywords标签对排名没有直接影响,Google在2009年就宣布不再使用。但写了不扣分、不写也不扣分。如果要写,每个页面3-5个相关关键词,不要堆砌、不要每个页面都一样。
H标签层级(最容易被忽略)
一个页面有且只有一个H1(通常是文章标题),H2用于大段落标题,H3用于更细分的子标题。常见错误:①全站所有页面H1都一样(比如都是网站名称);②一个页面里有多个H1;③H标签跳级使用(H2下面直接H4,跳过了H3)。

Canonical(规范链接)
告诉搜索引擎"这个页面的权威URL是哪个",用来解决重复内容问题。最常见错误是:①www和非www版本不一致(网站实际用www但canonical指了非www,反之亦然);②所有页面canonical都指向首页;③分页页面canonical指了第一页。canonical指错了等于主动告诉搜索引擎"请忽略这个页面的内容"。
Robots Meta标签
控制搜索引擎对当前页面的抓取和索引行为。致命错误:全站noindex(开发环境配置忘改,上线后所有页面搜索引擎都不收录)。检查方法:打开页面源码搜索"noindex",正常页面不应该出现。
基础层六段代码的检查有个规律:出错最多的不是"没写",是"写了但写错了"。Title每个页面都有,但180个页面全一样;canonical每个页面都有,但指向了错误的域名版本;H1每个页面都有,但全站统一用了网站名称。这类"有但错"的问题比"没有"更难发现,因为肉眼看页面完全正常,只有爬虫批量抓取后才能暴露。
<!-- 基础层SEO代码标准模板 --><head><title>页面主题关键词 - 品牌名</title><meta name="description" content="120字以内的页面描述,自然融入核心关键词"><meta name="keywords" content="关键词1,关键词2,关键词3"><link rel="canonical" href="https://www.xxx.com/当前页面URL"><meta name="robots" content="index, follow"></head><body><h1>页面主题标题(和title一致或高度相关)</h1><h2>大段落标题</h2><h3>子段落标题</h3><img src="图片地址" alt="描述图片内容的关键词"></body>二、增强层:三段代码,不写不扣分、写了能拿更多搜索展示位
增强层的代码搜索引擎不会因为没写而扣分,但写了且写对了,你的搜索结果会比竞品多出一块富摘要区域(星级评分、面包屑导航、FAQ折叠、产品价格等),点击率能提升15%-30%。
结构化数据(Schema / JSON-LD)
用JSON-LD格式标记页面内容类型。百度支持的类型包括:Article(文章)、BreadcrumbList(面包屑)、FAQ(问答)、Product(产品)、Organization(企业信息)、HowTo(步骤教程)。JSON-LD必须语法完全正确,一个逗号或引号的错误都会导致整段结构化数据被搜索引擎忽略。写完去Google Rich Results Test或百度结构化数据测试工具验证。
hreflang(多语言/多地区标记)
如果你的网站有多个语言版本或多个地区版本(如cn站和hk站),必须用hreflang标签告诉搜索引擎哪个版本对应哪个语言/地区。否则搜索引擎可能把cn站的内容推给香港用户,把hk站的内容推给大陆用户,或者判定为重复内容。
Open Graph / Twitter Card(社交分享标签)
控制网页在微信、微博、Facebook、Twitter等社交平台分享时显示的标题、描述和缩略图。不影响搜索排名,但影响社交传播的点击率。微信分享尤其依赖og:title和og:image标签。
<!-- 增强层SEO代码示例 --><!-- 结构化数据:Article类型 --><script type="application/ld+json">{"@context": "https://schema.org","@type": "Article","headline": "文章标题","description": "文章摘要","author": {"@type": "Organization","name": "品牌名"},"datePublished": "2026-07-28","dateModified": "2026-07-28"}</script><!-- hreflang多语言标记 --><link rel="alternate" hreflang="zh-CN" href="https://www.xxx.com/"><link rel="alternate" hreflang="zh-HK" href="https://www.xxx.hk/"><!-- Open Graph社交分享标签 --><meta property="og:title" content="页面标题"><meta property="og:description" content="页面描述"><meta property="og:image" content="https://www.xxx.com/images/封面图.jpg"><meta property="og:url" content="https://www.xxx.com/当前页面URL">增强层和基础层的关键区别:基础层的代码写错了搜索引擎会扣分(title重复、canonical错误),但增强层的代码写错了搜索引擎只是忽略——不扣分但也不加分。很多人因为增强层"错了也不扣分"就随便写或者干脆不写,但错过的是搜索结果里比竞品多一块展示区域的机会。尤其是结构化数据里的FAQ类型,能让你在搜索结果里直接展示问答折叠,占的屏幕面积是普通结果的2-3倍。
三、高级层:资源提示标签,影响蜘蛛抓取效率和Core Web Vitals
高级层的代码用户看不到、搜索引擎排名算法也不直接考核,但它影响搜索引擎抓取你网站的速度和效率——蜘蛛抓得快、抓得多,你的新内容就能更快被收录。
| 标签 | 作用 | 适用场景 | 对SEO的影响 |
|---|---|---|---|
| dns-prefetch | 提前解析第三方域名的DNS | 引用了外部CDN、统计代码、字体等第三方资源 | 减少DNS查询延迟,蜘蛛抓取更快 |
| preconnect | 提前建立TCP+TLS连接 | 确定会用到的第三方域名(比dns-prefetch更进一步) | 减少连接建立时间,适合关键第三方资源 |
| preload | 提前加载当前页面必需的资源 | 首屏关键CSS、关键字体文件、LCP图片 | 直接影响LCP指标,间接影响排名 |
| prefetch | 预加载下一个页面可能需要的资源 | 下一页的CSS/JS、用户可能点击的链接 | 提升站内浏览体验,降低跳出率 |
<!-- 高级层资源提示标签 --><link rel="dns-prefetch" href="//hm.baidu.com"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preload" href="/css/critical.css" as="style"><link rel="prefetch" href="/page-2/">高级层代码在站群场景下的价值尤其明显。站群页面量通常较大(几百到几千个页面),百度蜘蛛分配给每个站点的抓取预算是有限的。如果你的页面加载慢、资源请求多,蜘蛛在一个抓取周期里能抓的页面数就少,新内容的收录速度就慢。preconnect和dns-prefetch能减少每次抓取的网络开销,preload能加速首屏渲染,整体上让蜘蛛在同样的时间里抓更多页面。
四、站群场景下的SEO代码批量审计:手工查不完,靠爬虫工具批量扫
一个站检查SEO代码花半小时,20个站就是10个小时。而且手工检查容易漏——人肉看源码只能检查当前页面,看不到全站所有页面的title是否重复、H1是否缺失、canonical是否统一。
Screaming Frog(桌面爬虫)
输入域名,自动爬取全站所有页面,输出每个页面的title、description、H1、canonical、结构化数据状态。一键导出Excel,快速发现"全站title重复""H1缺失""canonical不一致"等问题。免费版爬取500个URL,付费版不限量。站群审计必备工具。

百度搜索资源平台
在"网站体检"或"移动适配"模块里提交站点,百度会告诉你哪些页面存在TDK问题、结构化数据问题。这个检测直接来自百度自己的标准,比第三方工具更权威。缺点是只能看百度反馈的问题,不能自定义检测规则。
Chrome扩展(SEO Mate等)
浏览页面时一键查看当前页面的TDK、H标签、canonical、robots等SEO信息。适合单页面快速排查,不适合全站批量审计。
结构化数据测试工具
Google Rich Results Test(需要科学上网)和百度结构化数据测试工具。把JSON-LD代码粘贴进去,立刻告诉你有没有语法错误、哪些字段缺失、哪些类型百度支持。增强层代码写完后必测。
站群SEO代码审计的标准流程:先用Screaming Frog对每个站做全站爬取→导出报告→筛选出title重复的页面、H1缺失的页面、canonical不一致的页面→批量修复→修复后重新爬取验证。这套流程做一次全站群大约需要半天,但半年做一次就够了。SEO代码不像内容需要频繁更新,配对了之后除非改版或换主题,否则不会自己变错。
title重复率
>30%
未审计网站的常见比例
H1缺失率
15-25%
未审计网站的常见缺失
修复后收录提升
2-4倍
基础层代码修复后
canonical错误率
10-20%
www/非www不一致等
站群规模大了之后,手工逐站爬取+导出+对比的工作量确实不小。用UC建站系统的话,HTML直出的架构天然保证了每个页面的SEO代码结构可控——模板统一管理TDK标签的生成规则(不同页面自动生成不同的title和description),canonical标签自动对齐到正确的域名版本,结构化数据按页面类型自动注入对应的JSON-LD模板。技术审计只需要关注"有没有"而不是"对不对",因为生成规则保证了对的部分。人工精力集中到增强层的手工定制(比如FAQ结构化数据的内容编写),基础层交给系统自动保障。
最后说一句。SEO代码是网站优化里最"便宜"的一项投入——不需要花钱买工具、不需要持续产出内容、不需要维护外链关系。它只需要你花半天时间,打开爬虫工具,把三层代码逐个检查一遍,把写错的改对、把缺失的补上。很多站收录卡住、排名上不去,问题根本不在内容和外链上,在搜索引擎抓取页面的那一刻就因为代码问题被扣了分。内容写得再好,title全一样、canonical指错了、结构化数据解析失败了,百度看到的就不是你想让它看到的东西。
