真正影响爬虫行为的是meta name="robots"、canonical、charset和viewport;keywords已废弃,description仅影响CTR而非排名;charset须为head首个标签且无BOM,viewport content不可含空格,SSR需预注入关键meta。

Meta 标签本身不提升“抓取权重”,搜索引擎不因你写了更多或更花哨的 meta 就多爬你几次;真正影响爬虫是否愿意来、来多少、抓什么的,是 meta name="robots"、canonical、charset 和 viewport 这几个实际起效的字段。
哪些 meta 标签真会影响爬虫行为
Google、Bing、百度等主流引擎明确表示:只读取少数几个 meta 字段来决定如何处理页面。其他字段(比如 keywords)要么被忽略,要么填错反而触发风控。
-
meta name="robots":控制索引与链接跟随。例如content="noindex, nofollow"会让爬虫直接跳过该页,连带不追踪里面的所有链接;而content="index, follow"是默认值,一般不用写 -
link rel="canonical":虽不是meta,但常和它混用。当存在多个相似 URL(如/article/123和/article/123?ref=utm),必须用canonical指明主源地址,否则爬虫可能分散权重、重复收录 -
meta charset="utf-8":必须放在最前面。若缺失或写成gbk,中文会乱码,爬虫解析正文失败,间接导致内容识别率归零 -
meta name="viewport":不直接影响排名,但 Google 实行移动优先索引(Mobile-First Indexing),如果页面在手机端渲染异常(比如文字缩成一团),LCP 和 CLS 指标恶化,爬虫会降低该页信任分,延缓重新抓取周期
meta keywords 现在还能用吗
不能。所有主流搜索引擎早在 2005–2007 年就已废弃 meta name="keywords" 的排名作用。你现在填它,唯一风险是:
- 被识别为模板站或低质内容(尤其新站冷启动阶段),拖慢首次索引速度
- 某些建站系统强制要求时,最多填 2–3 个最核心词,用英文逗号隔开,不加空格,例如:
content="TTS,音色克隆,网页版" - 开源项目页(如 GitHub Pages 或静态博客)可直接删掉整行,无任何副作用
meta description 不是 SEO 排名因子,但很关键
它不参与排序计算,但决定用户是否点进你的结果——也就是点击率(CTR)。CTR 低,搜索引擎会认为“这页不匹配用户意图”,后续减少抓取频次。
立即学习“前端免费学习笔记(深入)”;
- 长度严格控制在 150–160 字符(含空格),超长会被截断;中文按字数算约 75–80 字
- 首句必须自然包含主关键词,例如:
content="VoxCPM-1.5-TTS-WEB-UI是一款支持零样本音色克隆的中文语音合成工具..." - 避免通用话术:“本网站提供……服务”;要写差异化信息:是否纯前端?是否需注册?是否支持移动端?
- 每个页面的
description必须唯一;列表页、详情页、404 页不能共用同一段
容易被忽略的兼容性细节
很多问题不是出在“写没写”,而是“写在哪”“怎么写”。以下三点实操中高频出错:
-
meta charset="utf-8"必须是中第一个标签,且不能有任何前置内容(包括注释、空格、BOM);否则部分旧版爬虫会 fallback 到 ISO-8859-1,中文全变 -
meta name="viewport"的content值里不能有空格,例如content="width=device-width, initial-scale=1.0"正确,但content="width = device-width , initial-scale = 1.0"会导致 Safari 移动端缩放失效 - 动态生成页面(如 Next.js、Nuxt)需确保
description和canonical在服务端渲染(SSR)阶段就注入,而不是靠客户端 JS 补充;否则爬虫拿到的是空值或默认模板
真正影响爬虫抓取频率和深度的,从来不是堆砌元数据,而是稳定响应、结构清晰、URL 唯一、内容真实可读。把 robots、canonical、charset 这三处写对,比写十行 keywords 有用得多。



















