网站 SEO 技术优化清单:抓取、性能与 AI 检索
SEO 技术优化需在抓取、渲染、结构化数据、日志监控与内容内链五个层面建立可回归的检查项:修好 robots 与 sitemap、保证首包 HTML 含正文且 Core Web Vitals 达标、用结构化数据助 AI 检索,并靠爬虫日志快速定位问题。
- robots.txt 返回 200 且为 text/plain,sitemap 只放可索引 URL
- 正文用 SSR 或 SSG,关掉 JS 后首包 HTML 仍含关键词
- LCP ≤ 2.5s、INP ≤ 200ms、CLS ≤ 0.1,均按 p75 衡量
- 用 TechArticle、BreadcrumbList 标注,每个 h2 只答一个问题
- 校验 Googlebot 反向 DNS,日志统计抓取路径与 5xx 比例
SEO 在 2026 年已经不是“改改 title、堆堆关键词”的工作。搜索引擎的抓取预算更紧,Core Web Vitals 直接影响排序,AI 搜索又要求页面内容能被模型准确抽取和引用。与此同时,产品侧的趋势也在变化:像 Formstep 这类工具的思路是“在用户提交前就用规则和 AI 校验,减少来回沟通”,这给 SEO 一个很好的类比——把校验前置到上线之前,而不是等搜索引擎报错、等流量掉了再排查。
下面这份清单按“抓取 → 渲染 → 结构化 → 监控 → 内容”的顺序组织,每一项都给出可执行的验证命令或代码,适合直接贴进团队的发布检查流程。
一、抓取与索引:先把入口修干净#
抓取层的问题最容易被忽略,因为它在浏览器里完全看不出来。先把三件事做对:robots.txt 可访问且不误伤、sitemap 覆盖所有需要收录的 URL、canonical 自指且唯一。
- robots.txt 返回 200 且 Content-Type 为 text/plain,不要返回 SPA 的 index.html;
- sitemap 只放 200 状态、可索引、非 canonical 指向别处的 URL;
- 分页、筛选参数页用 canonical 或 noindex 收敛,避免产生大量近似页;
- 全站 301 链不超过一跳,HTTP 到 HTTPS、带 www 到不带 www 只保留一个方向。
示例说明:以下代码仅用于逻辑验证,生产环境需补充异常处理、超时与重试、日志与监控告警及降级策略。
User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin/
Disallow: /*?utm_
Sitemap: https://www.api.plus/sitemap.xmlsitemap 建议由程序生成,lastmod 使用内容真实更新时间,而不是每次构建都刷新,否则搜索引擎会逐渐忽略这个字段:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.api.plus/doc/get</loc>
<lastmod>2026-10-20</lastmod>
<changefreq>weekly</changefreq>
</url>
</urlset>如果是新页面或更新频繁的文档,可以同时接入 IndexNow,向 Bing 等引擎即时推送 URL,缩短发现周期。注意 IndexNow 只是加速发现,不保证收录。
二、渲染与性能:首屏 2.5 秒内可读#
移动端优先索引下,爬虫拿到的是首包 HTML。依赖客户端 JS 才能渲染正文的页面,即使能进入渲染队列,也会消耗额外的抓取预算。技术文档、接口说明这类内容优先用 SSR(Server-Side Rendering,服务端渲染) 或 SSG,至少保证标题、正文、内链出现在原始 HTML 中。
验证方法很直接:关掉 JS 抓一次首包,看正文关键词是否存在。
curl -s https://www.api.plus/doc/get | grep -o 'IP' | head -n 3性能指标关注三个:LCP ≤ 2.5s、INP ≤ 200ms、CLS ≤ 0.1(均为 p75)。静态资源用长缓存加内容哈希,HTML 用短缓存或协商缓存:
location ~* \.(css|js|png|jpg|webp|avif|woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
access_log off;
}
location = /index.html {
add_header Cache-Control "no-cache";
}LCP 元素通常是首屏大图或标题。图片不要统一加 loading="lazy",首屏图应显式提高优先级并预留尺寸,避免 CLS:
<img src="/static/hero.webp" width="1200" height="630"
fetchpriority="high" decoding="async" alt="API 文档首页">做图片优化压测时,可以拿 随机动漫壁纸接口 返回的高清图作为真实测试样本,观察不同尺寸下的 LCP 与解码耗时。INP 方面,重点排查长任务:把大段同步计算拆到 requestIdleCallback 或 Web Worker,事件监听尽量用委托而不是给每个节点绑定。
三、结构化数据与 AI 可读性:让页面被正确引用#
结构化数据有两个作用:一是争取富媒体结果,二是帮助 AI 搜索准确理解页面实体。技术文档站建议至少覆盖 TechArticle、BreadcrumbList,教程类页面可以加 HowTo。需要提醒的是,FAQ 富媒体结果目前主要面向权威政府与健康类站点展示,普通站点加了不一定有展现,但对语义理解仍有价值。
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "GET示例接口 使用指南",
"datePublished": "2026-10-29",
"dateModified": "2026-10-29",
"author": {"@type": "Organization", "name": "API.PLUS"},
"mainEntityOfPage": "https://www.api.plus/doc/get"
}面向 AI 检索,页面结构比关键词密度更重要:每个 h2 只回答一个问题;结论写在段首;表格和代码块带上下文说明;接口参数用表格而不是散落在段落里。部分站点开始提供 llm(Large Language Model,大语言模型)s.txt 作为给大模型的站点说明,但它目前不是正式标准,建议作为探索项,不要把核心信息只放在里面。
四、爬虫日志与监控闭环#
Search Console 的数据有延迟,日志是更快的信号源。重点看三件事:Googlebot 抓取频次、状态码分布、抓取路径是否集中在低价值页面。注意不要只信 User-Agent,必须做反向 DNS 校验,否则日志里会混入大量伪装爬虫。
下面脚本统计日志中 Googlebot 的抓取路径 Top 10,并调用 GET示例接口 补充来源归属地,便于识别异常流量:
import re, socket
from collections import Counter
import requests
API = 'https://www.api.plus/api/get'
KEY = 'YOUR_KEY'
pattern = re.compile(r'(\S+) \S+ \S+ \[.*?\] "GET (\S+) .*?" (\d{3})')
paths, ips = Counter(), Counter()
for line in open('/var/log/nginx/access.log', encoding='utf-8', errors='ignore'):
m = pattern.search(line)
if not m:
continue
ip, path, status = m.groups()
try:
host = socket.gethostbyaddr(ip)[0]
except Exception:
continue
if host.endswith('.googlebot.com') or host.endswith('.google.com'):
paths[path] += 1
ips[ip] += 1
for path, n in paths.most_common(10):
print(n, path)
for ip, _ in ips.most_common(5):
r = requests.get(API, params={'apikey': KEY, 'ip': ip}, timeout=5)
print(ip, r.json().get('data', {}).get('country'))把结果接进监控:如果某天 Googlebot 抓取的 5xx 比例上升,或者抓取集中在 /api/ 这类不该收录的路径,就说明 robots 或内链出了问题。表单、回调这类写操作接口可以用 POST 示例接口 做联调,确认返回结构稳定,避免爬虫触发无意义的写请求。
五、内容与内链:把站点组织成可遍历的图#
- 每个页面至少有一个从首页出发、三跳以内可达的内链路径;
- 锚文本描述目标页主题,避免全站统一用“点击这里”;
- 面包屑同时输出可见 HTML 和 BreadcrumbList 结构化数据;
- 文档页底部放相关接口推荐,形成主题聚类;
- 定期用抓取工具找孤岛页面和死链,修复后提交 sitemap 更新。
多语言站点需要 hreflang 成对互指并包含 x-default,canonical 始终指向当前语言版本自身,不要把所有语言都 canonical 到英文页。
六、上线前检查表#
| 检查项 | 验证方式 | 通过标准 |
|---|---|---|
| robots.txt | curl -I /robots.txt | 200,text/plain |
| sitemap | Search Console / IndexNow | 已提交,无 404 |
| 主内容 SSR(Server-Side Rendering,服务端渲染) | curl 后 grep 关键词 | 首包 HTML 含正文 |
| LCP | CrUX / Lighthouse | p75 ≤ 2.5s |
| INP | CrUX | p75 ≤ 200ms |
| CLS | CrUX | p75 ≤ 0.1 |
| 结构化数据 | 富媒体结果测试 | 无严重错误 |
| 爬虫抓取成功率 | 日志分析脚本 | 2xx 占比 > 95% |
七、总结#
SEO 技术优化本质上是一个工程问题:把抓取入口、渲染路径、结构化语义和监控指标都变成可验证、可回归的检查项,而不是依赖人工感觉。上面清单里最值得先做的是日志分析脚本和首包 HTML 检查,它们能最快暴露真实问题。更多接口实践可以浏览 API 文章中心,遇到调用或联调问题可通过 技术支持 反馈。需要动手验证的话,可在 API.PLUS 注册获取免费 API Key,用真实接口跑通本文的日志分析与性能测试示例。