meta标签必须放在<head>中,浏览器只解析<head>内的meta;基础三标签为charset、viewport、description;keywords已失效;robots默认不加,避免noindex误用。

meta 标签该加在 <head> 里,不是 <body>
浏览器只解析 <head> 中的 <meta>,放在 <body> 里完全无效,连 SEO 工具都扫不到。常见错误是复制别人代码时没注意嵌套位置,或者用可视化编辑器拖拽错区域。
实操建议:
- 确认所有
<meta>都在<html><head>...</head></html>范围内 - 顺序无所谓,但建议把
charset放最前(避免乱码影响后续解析) - 不要重复添加相同
name或property的<meta>,搜索引擎会取第一个
必须加的三个基础 <meta>:字符集、视口、描述
没有它们,页面可能乱码、在手机上缩放异常、搜索结果不显示摘要——这三类问题占个人页 SEO 失效的 70% 以上。
标准写法(直接复制可用):
立即学习“前端免费学习笔记(深入)”;
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="前端工程师张三的个人主页,分享 JavaScript 实战技巧与开源项目">
注意点:
-
charset必须是UTF-8,其他值(如gbk)会导致中文显示为方块 -
viewport的initial-scale=1.0不能省,否则 iOS Safari 默认缩放为 0.5 -
description控制搜索结果摘要,长度建议 50–160 字符,超过会被截断
name="keywords" 已失效,别再加
Google 自 2009 年起就忽略 name="keywords",百度也早在 2013 年停止使用。现在加它不仅没用,还会让 HTML 显得过时,部分静态站点生成器甚至会警告“废弃 meta”。
替代方案:
- 关键词自然融入
<h1>、<p>和图片alt属性中 - 用
<meta property="og:title">等 Open Graph 标签控制社交分享文案(如果需要) - 确保
<title>包含核心词,比如<title>张三 | 前端开发博客</title>
个人页要不要加 robots?默认不用动
新上线的个人页通常希望被收录,而 <meta name="robots" content="noindex"> 会直接屏蔽所有搜索引擎。除非你明确不想被搜到(比如测试页、简历草稿),否则不要加。
容易踩的坑:
- 从模板复制代码时,误保留了
noindex(尤其是一些“开发者博客 starter”模板) - 本地开发时加了
noindex,上线忘记删 - 用 Netlify/Vercel 部署时,在
_headers或vercel.json里又配了一次X-Robots-Tag: noindex,双重屏蔽
上线前用浏览器打开页面,右键「查看页面源代码」,搜 robots,没结果才是安全的。










