站内优化(On-Page SEO 或页面 SEO 优化)是指网站内部一切影响搜索引擎排名的优化措施,包括代码、内容、结构和用户体验。相比站外优化(如外链、社交信号、品牌曝光等),站内优化更可控,也更容易见效,是我们做seo优化最重要的一环
为什么站内优化至关重要?
- 帮助 Google 更快理解页面主题与结构
- 提升用户体验,延长停留时间,减少跳出
- 提高索引效率与关键词排名
一句话总结:站内优化是提升排名最快的方式,也是新站起步的基础核心。
站内优化的三大核心模块
技术优化
页面速度
- 使用高性能服务器,例如 Cloudways 云主机
- 配置 CDN:推荐免费 Cloudflare CDN,或使用高速 FlyingCDN
- 缓存优化插件:推荐 Flyingpress 或 WP Rocket,可搭配 Perfmatters 精细化禁用JS/CSS
- 图片压缩:使用 TinyPNG + ShortPixel
索引优化
- 提交 Sitemap:Rank Math 教程、Yoast 教程
- 配置 Robots.txt、检查 Indexability:快速收录指南
- 工具检测:Pingdom、PageSpeed Insight、GTmetrix
内容优化
今年的SEO排名因素中持续产出令人满意的内容这个因素占比不断上升,达到23%。
关键词研究与布局
- 关键词挖掘:Semrush 教程
- 出词与排名查询:GSC 教程
- 页面布局策略:关键词布局指南
SEO文案与结构
结构化数据 + 多语言
- Schema markup
- 多语言插件对比
用户体验优化
内链优化
- 锚文本优化技巧
- Dofollow 与 Nofollow 选择
- 手动布局 vs 自动推荐模块
- 链接深度合理分布,避免孤岛页面
- 检查与修复死链/坏链:建议使用 [Broken Link Checker 插件] 或 Ahrefs 报告手动筛查
提升可读性与停留时间
- 合理分段、增加列表元素、图文并茂
- 页面转化型设计:引导点击、嵌入视频、鼓励互动
- 降低跳出率:优化 dwell time
- UGC 策略引导 + Sitelink 优化
结构化数据(Schema)是一种提供网页相关信息并对网页内容进行分类的标准化格式。
搜索引擎在读取和理解我们网页内容的时候并不是全能,一切都能读的懂的,例如图片,谷歌无法从图像本身提取语义信息,因此需要通过 alt 标签和结构化数据明确内容,所以要想图片SEO效果好,一定要让谷歌懂你图片的内容,做好alt,才有机会去排名。而结构化数据也是一样,视频,faq,作者信息这些数据谷歌虽然明面上懂的这些字,但不一定完全能判断属于哪种类型,所以我们需要给它提示,告诉它这部分数据常见问题,这部分是视频等等,帮助它把我们的内容去分门别类。例如作者信息,姓名=张三,年龄=28岁,性别=男,注册日期=2018.08.08这样搜索引擎就非常清楚我们的内容了。

做好结构化数据,增加AI抓取率
结构化数据是一种遵循固定格式的数据,字段明确,保存在关系型数据库中。
非结构化数据则是没有格式的数据,例如平时我的文本,word,图片,pdf等。
而半结构化数据页是处于两者之中,既有部分格式,又不固定,可灵活扩展。
类型 | 是否有固定格式 | 示例 |
结构化数据 | 有 | 表格、数据库、schema标记内容 |
非结构化数据 | 无 | Word文档、PDF、图片、视频 |
半结构化数据 | 部分结构 | JSON、XML、日志数据 |
结构化数据有几种?
• Article(文章)
• FAQPage(常见问题)
• VideoObject(视频)
• Breadcrumb(面包屑)
• Author / Person(作者)
• Product(产品)
• Review(评论)
• Rating(评分)
• Offer(价格与库存)
• ImageObject(图片)
常用结构化数据类型
1.面包屑导航
面包屑导航breadcrumb,是结构化数据的一种,体现在代码上是 @type”: “BreadcrumbList
例如我某篇文章的面包屑结构化数据就会是:
{"@type":"BreadcrumbList","@id":"https://www.ylsseo.com/how-to-choose-web-build-supplier/#breadcrumb"

2.评分,评价
评价评分类的结构化数据相对来说是最吸引用户逗留并且点击的类型。

谷歌站长工具里面有时提示的aggregaterating,review问题就是出现在这些地方没填写好。
推荐的评价评分工具有KK Star (我和奶爸都在用),Rate My Post(Nora在用)
3.视频VideoObject
利用rank math pro版本批量添加videoObject结构化数据。特别要注意thumbnailURL问题,如果谷歌富媒体工具无法抓取测试到,请在rankmath的video schema thumbnailURL填写原视频的URL,如下图。


4.ImageObject(图片)
图像SEO不仅title,alt要认真去做,结构化数据也要设置,这样就能增加我们图片出现在serp的几率,获得更多的点击和曝光。

5.Author / Person(作者)
WordPress后台用户编辑下面,就有作者的结构化数据的输入框。建议大家用个人IP或者品牌去命名。

还有社媒捆绑,可以输入自己所有的社媒,最底部的addtional profile URLs输入其他社媒链接如领英,pinterest,一行一条url。
加速entity的生成。

6.产品
B2C网站产品结构化数据非常重要,特别是hasmerchantreturnpolicy或者shipping detail,offer之类的问题都是因为这里数据没有填写完整或者gmc商家中的退货政策没填。

为什么要向网页添加结构化数据?
1.增加点击率
添加结构化数据可让你获得对用户更有吸引力的搜索结果,增加点击几率,并可能会鼓励用户与你的网站进行更多互动,更多互动则代表用户可能会在你的网站上停留更多时间,从而增强提高排名的可能性。
2.强化 E-E-A-T 信号,提高 SERP 曝光机会
结构化数据可以明确表达页面的作者、创作时间、内容结构等信息,这些都属于 E-E-A-T(经验、专业度、权威性、可信度) 评估的重要组成。
通过结构化数据强化网站的可信标签,可以帮助谷歌更精准地识别你是谁,从而优先展现你的内容。
3.提前适配 Google SGE(生成式搜索体验)
Google 正在全球范围内推进 SGE(Search Generative Experience),即通过 AI 对搜索结果进行聚合总结展示。
结构化数据提供了清晰、结构化的信息,更容易被 AI 模型抓取并纳入生成内容。
如何添加结构化数据
1.正确支持的结构化数据格式
JSON-LD*(推荐)
嵌入 HTML 网页 <head> 和 <body> 元素的 <script> 标记中的 JavaScript 表示法。此标记不与用户可见文本交错显示,使嵌套数据项更易于表达,例如,Event>MusicVenue>PostalAddress>Country。 此外,Google 可以读取通过 JavaScript 代码或内容管理系统中的嵌入式微件等动态注入网页内容的 JSON-LD 数据。
微数据
一种开放社区 HTML 规范,用于在 HTML 内容中嵌套结构化数据。与 RDFa 一样,它会使用 HTML 标记属性为您想以结构化数据形式显示的属性命名。它通常用在 <body> 元素中,但也可用在 <head> 元素中。
RDFa
一种 HTML5 扩展功能,通过引入与您要向搜索引擎描述的用户可见内容对应的 HTML 标记属性来支持关联的数据。RDFa 通常用在 HTML 网页的 <head> 和 <body> 部分中。
2.Wordpress结构化数据插件
RankMath SEO(自动生成产品,文章,FAQ等结构化数据)



Yoast SEO(基础的Schema)

Schema Pro(高级的自定义Schema方案)有预算可以上,不过还是不推荐,太贵了。
2.手动写代码
如果你想自己控制 Schema,可以手动添加 JSON-LD 代码。添加到主题文件编辑器的function.php最下面。(黑体的要改成自己产品或文章类别路径)
示例产品(reception desk)
add_action('wp_head', 'add_schema_to_reception_desk_category');
function add_schema_to_reception_desk_category() {
if (is_singular('product') && has_term('reception-desk', 'product_cat')) { // 检查是否属于指定分类
echo '<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "' . get_the_title() . '",
"description": "' . get_the_excerpt() . '",
"image": "' . get_the_post_thumbnail_url() . '",
"brand": {
"@type": "Brand",
"name": "UReceptionDesk"
},
"offers": {
"@type": "Offer",
"price": "' . get_post_meta(get_the_ID(), "_price", true) . '",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "' . get_permalink() . '"
}
}
</script>';
}
}

这段代码告诉搜索引擎:
这是一个产品页,标题,描述,图片,价格,是否有库存等等。
如果你用 Google Tag Manager,也可以用自定义 HTML 标签插入 JSON-LD。(也就是上面那段代码)
一个页面可以添加几种结构化数据?
只要你有相应的结构化数据内容,可以添加多种。

如何检查Schema是否成功设置?
1.用Google官方工具
Rich Results Test(检测是否能触发富媒体结果)

Schema Markup Validator(检查 JSON-LD 代码是否正确

2.手动查看网页源代码
打开页面 → 右键“查看源代码” → 搜索 @context 或 application/ld+json

找到 Schema 代码块,检查是否正确。
3.模拟Google爬虫
使用命令行工具测试 Google 抓取情况:
curl -A "Googlebot" https://example.com


如果 Schema 正常,Googlebot 应该能识别它。(如同上图)
如何提升用户停留时间(Dwell Time)
1.外部链接新窗口打开
在文章或页面中,合理地使用新窗口打开外部链接(Open in New Window)可以有效延长用户停留时间。具体方式包括:
外部链接新窗口打开:当用户点击外部链接时,使用 target=”_blank” 让链接在新窗口打开,这样即使用户浏览外部网站,他们的原始页面仍然保留,方便他们返回。即使外部页面不符合用户需求,他们也需要关闭新窗口,这无形中增加了网站的停留时间。
菜单导航新窗口打开:对于网站顶部或侧边栏的导航菜单,某些重要页面(如博客、资源中心、下载页)可以设置为新窗口打开,以确保用户不会因跳转而离开当前页面。
内部链接保持站内流转:相比外部链接,站内的内部链接应尽量保持直接跳转(不新开窗口),鼓励用户在站内持续浏览,形成“沉浸式”阅读体验。例如,相关文章、推荐内容等应直接跳转,以减少用户因窗口过多而流失。

2.优化侧边栏推荐内容
侧边栏(Sidebar)是吸引用户继续浏览的重要区域,它可以根据页面类型和用户兴趣提供个性化推荐内容(推荐侧边栏内容如果比较重要,放在左侧):
根据分类调整侧边栏内容:不同分类的页面可以展示不同的侧边栏内容。例如,在博客文章页可以显示“最新文章”“相关话题推荐”,而在产品页面可以展示“热门产品”“相关教程”。
动态展示不同的内容:如果所有页面的侧边栏内容都一样,用户可能很快失去兴趣。而如果侧边栏内容是根据用户所在的分类或文章主题动态变化的,用户会更有可能继续点击,延长停留时间。
利用视觉吸引力:除了纯文本的推荐,侧边栏可以结合缩略图、带有CTA(Call-to-Action)的按钮等方式,提高点击率。
3.构建内部链接闭环
为了最大化用户在站内的浏览时间,可以通过合理的内部链接设计,使用户不断在站内跳转,保持流畅的阅读体验:
在正文中自然插入内部链接:在合适的地方插入相关内容的内部链接,吸引用户继续阅读。例如,在介绍某个概念时,可以引导用户阅读更详细的相关文章。
使用“下一篇推荐”或“相关推荐”:在文章末尾或正文段落间插入“你可能还喜欢”类型的推荐,吸引用户继续阅读。
增加面包屑导航(Breadcrumbs):面包屑导航不仅有助于SEO优化,还能让用户更方便地浏览相关内容,而不至于迷失方向。

4.增加交互元素
除了基本的链接优化,还可以通过增强交互方式来延长用户停留时间:
嵌入互动内容:比如问卷调查、小测验、评论区互动等,增加用户的停留时间。
使用多媒体内容:在合适的地方加入短视频、信息图(Infographic)或GIF,增强内容的吸引力。
增加进度条或阅读时间指示:一些网站会显示“预计阅读时间”或“当前阅读进度条”,可以让用户更有意愿继续阅读。以下是阅读时间和阅读量的代码。
// 计算文章阅读时间(包含文字、图片、视频)
function get_reading_time($post_id) {
$content = get_post_field('post_content', $post_id);
// 计算文章字数
$word_count = str_word_count(strip_tags($content));
$reading_time_text = ceil($word_count / 200); // 200 词/分钟
// 计算图片数量
preg_match_all('/<img/', $content, $matches);
$image_count = count($matches[0]);
$reading_time_images = $image_count * 6; // 每张图片加 6 秒
// 计算视频数量(如果文章有嵌入视频)
preg_match_all('/<iframe|<video/', $content, $matches);
$video_count = count($matches[0]);
$reading_time_videos = $video_count * 45; // 每个视频默认 45 秒
// 计算总阅读时间
$total_time = ceil($reading_time_text + ($reading_time_images / 60) + ($reading_time_videos / 60));
return max(1, $total_time); // 最少 1 分钟
}
// 统计文章阅读次数
function set_post_views($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if ($count == '') {
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
} else {
$count++;
update_post_meta($postID, $count_key, $count);
}
}
// 记录阅读次数(在单篇文章页面)
function track_post_views($post_id) {
if (!is_single()) return;
if (empty($post_id)) {
global $post;
$post_id = $post->ID;
}
set_post_views($post_id);
}
add_action('wp_head', 'track_post_views');
// 获取文章阅读次数
function get_post_views($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
return ($count == '') ? "0" : $count;
}
// 在文章顶部自动显示阅读时间和阅读次数
function display_reading_info($content) {
if (is_single()) {
global $post;
$reading_time = get_reading_time($post->ID);
$post_views = get_post_views($post->ID);
$reading_info = '<p style="font-size: 14px; color: #666; border-bottom: 1px solid #eee; padding-bottom: 10px;">
📖 预计阅读时间:' . $reading_time . ' 分钟 | 👁️ 阅读次数:' . $post_views . ' 次
</p >';
$content = $reading_info . $content;
}
return $content;
}
add_filter('the_content', 'display_reading_info');

SEO不只是写关键词和外链建设,提升用户停留时间同样是打好基础的重要一环。如果你刚接触 SEO,不妨从这几个小方法开始实践。它们不难,但做得细致,就能逐步让你的网站数据变得更好。
常见问题
网站不知道有什么seo问题
建议使用 Screaming Frog 全站扫描死链、重定向、标题缺失、索引状态等