这一页的 <head> 全文

直接看源码标签页的图标、标题,以及下面两种「别人怎么展示你的页面」。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>示例 16:head 里的元信息与分享卡片</title>
  <meta name="description" content="这一页把 viewport、title、description、canonical 与 OG 的实际效果摆在明面上。">
  <link rel="canonical" href="https://example.com/tutorials/html/demos/16-head-seo.html">
  <meta property="og:type" content="article">
  <meta property="og:title" content="HTML 教程:从第一个标签到语义化页面">
  <meta property="og:description" content="19 章循序渐进,每章配可直接运行的示例。">
  <meta property="og:image" content="…1200x630 的图…">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="theme-color" content="#e34f26">
  <link rel="icon" href="/favicon.svg">
</head>

viewport 那一行到底在说什么

width=device-width 告诉浏览器「按设备逻辑宽度排版」,initial-scale=1 是初始不缩放。漏写这一行,手机会把页面按 980px 宽排版再整体缩小——文字小得看不清,且媒体查询完全失效(它看到的宽度永远是 980,而不是 375)。

不要再加的:user-scalable=no / maximum-scale=1。它禁止用户双指放大,是可访问性错误,也已被浏览器忽略。

搜索结果里的样子

example.com › tutorials › html
示例 16:head 里的元信息与分享卡片
这一页把 viewport、title、description、canonical 与 Open Graph 的实际效果都摆在明面上,方便逐条对照。
标签建议
<title>每页唯一、30 个汉字以内、核心词靠前。「本站名 - 文章名」是常见格式,过长会被截断。
description不会直接提升排名,但决定用户看不看你的摘要,80–120 字。缺失时搜索引擎自己拼,通常拼得很难看。
canonical同一内容的多个 URL(带排序参数、分页、http/https)指向唯一的规范地址,避免权重被分散。
robotsnoindex 用于搜索结果页、内部预览页;别写 none 之类拼错的值。
hreflang多语言版本互相声明,各语言页面都要写且要互指。

分享到社交平台时的卡片

Open Graph 分享卡片配图
example.com
HTML 教程:从第一个标签到语义化页面
19 章循序渐进,每章配可直接运行的示例。

og:image 必须是绝对 URL且尺寸约 1200×630;相对路径在多数平台不会报错,只是卡片没有图。上面这张图为了自包含用了内联 SVG,实际部署请换成可访问的 jpg/png —— 部分平台不支持 SVG 作为 og:image。

剩下的常用项

标签作用
theme-color手机浏览器地址栏/任务栏配色,深色模式下再给一个 media="(prefers-color-scheme: dark)" 版本
link rel="icon"标签页图标;SVG 图标已为主流浏览器支持,同时保留一个 /favicon.ico 兜底最省事
link rel="alternate" type="application/rss+xml"RSS 订阅地址
link rel="preconnect"提前和已知要请求的第三方域名握手,只给确定要用的域名,别贪多
<meta name="format-detection" content="telephone=no">禁止 iOS 把数字自动变成电话链接