不该写,直接删掉。Google 自 2009 年起明确不使用 meta name="keywords" 做排名依据,Bing、百度等主流引擎也早已忽略它;写了不仅无效,还可能被工具警告或识别为垃圾信号。

meta name="keywords" 标签现在还该写吗
不该写,直接删掉。Google 自 2009 年起明确不使用 meta name="keywords" 做排名依据,Bing、Yandex、百度等主流搜索引擎也早已忽略它。写了不仅没用,还可能被 Lighthouse 或 SEO 工具报 Warning: keywords meta tag ignored,甚至被识别为 keyword stuffing 垃圾信号。
常见错误现象包括:content="前端,html,css,js,教程,入门" 这类逗号堆砌;多个页面复用同一组词;在 CMS 模板里全局插入却未按页定制。
实操建议:
- 静态 HTML:直接从
中删除整行<meta name="keywords" content="..."> - CMS 或框架(如 WordPress、Hugo):禁用相关插件,或在模板中注释掉,例如
<!-- <meta name="keywords" content="xxx"> --> - 极少数合规场景(如政府备案表单强制要求):只填一个空值或占位符,如
<meta name="keywords" content="">或<meta name="keywords" content="none">,绝不堆词
meta name="description" 怎么写才有效
meta name="description" 不影响排名,但决定搜索结果页(SERP)里用户看到的摘要文案,直接影响点击率。它必须存在、唯一、精准,且长度严格控制。
常见错误现象:content 为空或与正文严重不符;超过 160 字符被截断;开头写“欢迎访问…”“本站提供…”;多个页面复用同一段描述。
实操建议:
- 长度控制在 155–160 个 Unicode 字符内(中文按字数算,英文按字符数算),可用
str.length或在线工具校验 - 开头直击主题,带动词和具体问题,例如:
content="React.memo 依赖数组漏写 props.callback 导致缓存失效的 3 种排查方法" - 每页独立撰写,首页、文章页、分类页、分页(如
/page/2)不可复用;内容雷同的列表页可省略该标签,让搜索引擎自动提取正文 - 避免双引号
"、尖括号、特殊符号(如• ★ »)、emoji 和全大写,防止 HTML 解析失败或被降权
charset 和 viewport 是不是比 description 还重要
是的,meta charset 和 meta name="viewport" 属于基础生存项,优先级高于 description。缺了它们,页面连正常显示和索引都成问题。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
常见错误现象:meta charset 缺失或位置靠后 → 中文乱码、调试器显示异常符号;viewport 缺失 → iOS 微信内页文字小到无法阅读、按钮点不准;加了 user-scalable=no → iOS 16+ 被系统限制,且违反 WCAG 可访问性规范。
实操建议:
-
meta charset必须放在最开头,只写一次:<meta charset="UTF-8"> -
meta name="viewport"推荐固定写法:<meta name="viewport" content="width=device-width, initial-scale=1.0">,不要加user-scalable或maximum-scale - 这两项应和
<title></title>、meta name="description"一起作为每个 HTML 文件的标配头部模块,顺序建议为:charset→viewport→title→description
动态站点中 description 容易被覆盖或失效
Next.js、VuePress、Hugo 等框架常通过模板或 front matter 注入 meta name="description",但 SSR 渲染时机、hydration 不一致、插件冲突都可能导致你写的值没生效,或者被默认值覆盖。
常见错误现象:检查源码发现 meta name="description" 是空的、是首页描述、或是框架默认文案;Lighthouse 报 Document does not have a meta description;搜索结果中展示的是正文第一段而非你写的摘要。
实操建议:
- Next.js:在
getStaticProps或getServerSideProps中通过next/head显式注入,避免依赖useEffect客户端渲染 - VuePress / VitePress:确认主题是否读取了
description前置数据;自定义主题时检查Head组件是否正确绑定page.description - Hugo:确保模板中使用
{{ .Params.description }}而非硬编码,默认 layout 不会自动读取 front matter 的description - 上线前务必查看「网页源代码」(不是开发者工具 Elements 面板),确认最终输出的
<meta name="description">是否真实存在且内容正确
真正要盯住的不是 keywords 标签是否存在,而是 description 是否每页唯一、是否准确匹配当前 URL 的核心价值、是否在源码中真实输出——这些细节一旦出错,搜索引擎根本不会给你展示机会。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










