不折腾黑帽,先把每篇页面的 head 写对、让爬虫和 AI 都能读懂你的内容。
SEO 基础就是三件事:① 每页写对 title、meta description、canonical、Open Graph 这几个 head 标签,把页面是什么、规范地址在哪说清楚;② 用 JSON-LD 结构化数据(Article / FAQPage / WebSite)按 schema.org 词汇标注页面类型,帮搜索引擎和 AI 系统理解内容;③ 用 sitemap.xml 列出全部页面、用 robots.txt 规范抓取范围,再配合清晰的内链和 H1–H3 标题层级。底层 HTML 写法参见 MDN meta 元素文档。
它们决定了搜索结果里显示什么、权重归哪个 URL、分享出去长什么样
页面最重要的标签,建议 30 字以内,主题词放前面、品牌放后面。每页唯一,别所有页面都用站名当标题。写法见 MDN head 元素。
120–150 字,开头即核心答案并自然带关键词。它常被用作搜索结果的描述行,直接影响点击率,见 MDN meta。
<link rel="canonical"> 告诉爬虫这个内容的规范 URL 是哪一个,把重复页面的权重集中到一处,写法见 MDN rel 属性。
如 og:title、og:description、og:image 控制分享到社交平台/聊天时的标题与摘要,协议见 ogp.me。
这四个标签有先后逻辑:title 决定"这是什么",meta description 决定"为什么要点进来",canonical 决定"权重算给谁",Open Graph 决定"分享出去好不好看"。它们都写在页面 head 里,由 MDN 定义的 head 区域承载,爬虫和社交平台都优先从这里读取页面元信息。每页都要独立填写,不要全站复用同一份 title 和 description。
用机器可读的方式告诉搜索引擎:这篇文章讲什么、有哪些问答
| JSON-LD 类型 | 用在什么页面 | 主要作用 |
|---|---|---|
Article / TechArticle | 博客文章、技术教程页 | 标注标题、作者、发布日期,让内容被正确识别为文章 |
FAQPage | 带问答折叠区的页面 | 把问答对结构化,有机会在搜索结果展示成富摘要 |
WebSite | 首页 / 整站 | 声明站点名称与地址,辅助站点级展示 |
JSON-LD 用 <script type="application/ld+json"> 内嵌在 head 里,词汇表来自 schema.org,结构化数据的基本概念见 MDN 结构化数据文档。注意 JSON 内部引号要正确转义,且必须是合法 JSON。
一份清单帮爬虫发现页面,一份规则告诉爬虫哪些能抓
按 sitemaps.org 协议列出全部重要 URL 与最近更新时间,新站尤其需要它,否则爬虫要靠内链慢慢发现。
放在站点根目录,用 User-agent、Disallow 控制抓取范围,并可用 Sitemap: 指令指向你的 sitemap,规范见 robotstxt.org。
相关文章之间互相链接,既是给用户看的导航,也是给爬虫的路径。新页从首页和热门文章获得内链,收录更快。
每页一个 H1,H2/H3 按内容大纲递进,层级清晰既利于阅读也利于搜索引擎理解文章结构。不要把整段内容塞进一个 H1,也不要跳级(H1 直接跳到 H3)。
实操顺序建议:先写好每页的 head 四标签,再补 sitemap.xml 并在 robots.txt 里声明 Sitemap: 指向,然后检查站点内重要页面是否都至少被一个入口链接到。内链和标题层级不产生直接流量,却决定了爬虫能不能顺着你的网站把页面走遍——这是收录的基础,比任何花哨技巧都重要。
把占位符换成自己的内容即可,单页即可上线
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 标题:主题 + 品牌 -->
<title>页面主题词 | 站点名</title>
<!-- 120-150 字,开头即核心答案 -->
<meta name="description" content="一句话说清本页讲什么,自然带上目标关键词。">
<!-- 规范地址:本页唯一 canonical -->
<link rel="canonical" href="https://example.com/page.html">
<!-- Open Graph -->
<meta property="og:type" content="article">
<meta property="og:title" content="页面主题词">
<meta property="og:description" content="分享摘要。">
<meta property="og:url" content="https://example.com/page.html">
<meta property="og:locale" content="zh_CN">
<!-- JSON-LD 结构化数据:Article -->
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Article",
"headline":"页面主题词"}
</script>
</head>