SEO 需要了解的语义化标签知识很少,大家需要知道其背景就好,以及看下列一些简单的 HTML 标签,灵活运用在 SEO 中。
什么是语义标签?以及为什么要注意它
语义化 HTML(Semantic HTML),也称为语义标记(semantic markup),是一种编写 HTML 的方式或者,它强调内容的含义而不是其外观。
语义化标签通过清晰地定义网页中的不同部分和布局,使 HTML 更易于理解,在 AI 时代尤其重要。它可以帮助 AI 信息聚合、搜索引擎和用户设备确定网页的重要性和上下文,从而带来更好的可访问性和用户体验。并且,浏览器对这些带语义的标签都有默认的样式和行为。所以即便在 CSS/JS 加载失败的情况下,也能有比较好的展示效果。
例如,使用 <article> 括起博客文章或新闻项,可以清楚地向开发人员和机器表明,所包含的内容是独立的信息。类似地,<header> 和 <footer> 分别定义页面的页眉和页脚部分,提供清晰的结构线索,具体见下。
借用 Semrush 的示例图片,更清晰地展示一下:

前端之争
语义化标签可以让 HTML 变成更加纯粹的语义框架,使用 CSS 去填充样式、降低耦合。
在前端开发领域中,W3C 的标准是有点有心无力的,比如语义化标签规范已经出来了十年了,愿意遵循或者知道这个规范的人其实不多。
但规范永远都是人来遵守的,比如变量命名方式叫 abc 随便都可以,但还是要考虑给予其他人或系统方便,所以才有了各种命名法。
如果你不了解,在开发中采用或不采用语义化的还有一些常见的坑点,比如:
-
命名冲突:Vue.js 组件和语义化 HTML 标签之间潜在的命名冲突。组件命名为 <article>,因为它可能会与语义标签 <article> 冲突。
-
语义化标签自带隐式处理:比如 p 标签里面不能再嵌套块元素
-
DOM 大小增加:过多的 div 会增加 HTML DOM 的大小,从而可能影响页面加载速度,一般还要配合 Flexbox 和 Grid 等现代布局技术,减少不必要的嵌套。
Linus 个人的看法是,不要为了用而用,准确使用才可以。
需要了解的语义标签 - 这些就够了
高质量的内容是 SEO 最重要的一点,但如何好好使用,只需要了解这些就够了。以下是一些基本语义标签及其用法的列表:
|
标签
|
用法
|
|
<h1> - <h6>
|
定义不同级别的标题,<h1> 代表最重要的标题,<h6> 代表最不重要的标题。
|
|
<p>
|
定义段落。
|
|
<ul>
|
定义无序列表。
|
|
<ol>
|
定义有序列表。
|
|
<li>
|
定义列表项(用于 <ul> 和 <ol> 内部)。
|
|
<a>
|
定义超链接。
|
|
<strong>
|
强调文本的重要性,表示内容的重要性。
|
|
<b>
|
加粗文本,仅用于视觉上的强调。
|
|
<em>
|
强调文本,表示内容的强调语气。
|
|
<i>
|
使文本斜体,通常表示专业术语或外语短语等。
|
|
<img>
|
定义图像,alt 属性提供替代文本描述。
|
以下是不一定要遵循的列表,看情况而定:
|
Tag 标签
|
Description 描述
|
|
<article>
|
Defines independent, self-contained content 定义独立、自包含的内容
|
|
<aside>
|
Defines content aside from the page content 定义页面内容之外的内容
|
|
<details>
|
Defines additional details that the user can view or hide 定义用户可以查看或隐藏的其他详细信息
|
|
<figcaption>
|
Defines a caption for a <figure> element 定义 <figure> 元素的标题
|
|
<figure>
|
Specifies self-contained content, like illustrations, diagrams, photos, code listings, etc. 指定独立的内容,例如插图、图表、照片、代码列表等。
|
|
<footer>
|
Defines a footer for a document or section 定义文档或部分的页脚
|
|
<header>
|
Specifies a header for a document or section 指定文档或节的标题
|
|
<main>
|
Specifies the main content of a document 指定文档的主要内容
|
|
<mark>
|
Defines marked/highlighted text 定义标记 / 突出显示的文本
|
|
<nav>
|
Defines navigation links 定义导航链接
|
|
<section>
|
Defines a section in a document 定义文档中的一个部分
|
|
<summary>
|
Defines a visible heading for a <details> element 定义 <details> 元素的可见标题
|
|
<time>
|
Defines a date/time 定义日期 / 时间
|
可以在此处参考所有的 HTML Tag Reference。