跳至正文
Acecore

为Astro网站实现结构化数据和OGP的SEO改善指南

by Gui
目录
为Astro网站实现结构化数据和OGP的SEO改善指南

已实现的结构化数据

Organization

在搜索结果中显示公司名称、URL、Logo和联系方式。

BlogPosting

通过作者、发布日期、更新日期和图片实现文章的Rich Results适配。

BreadcrumbList

将所有页面的层级结构作为面包屑导航输出。

FAQPage

在包含FAQ的文章中启用常见问题的Rich Results。

WebPage / ContactPage

为首页和联系页面赋予专用类型。

SearchAction

使从Google搜索结果直接执行站内搜索成为可能。

前言

提到SEO对策,可能会联想到”堆砌关键词”,但现代SEO的本质是向搜索引擎准确传达网站的结构和内容

本文将Astro网站应实施的SEO措施分为4个类别进行讲解。每一项都是一次性设置即可持续发挥效果的。


OGP和Meta标签设置

在SNS分享时的外观和向搜索引擎的信息传达由OGP和Meta标签负责。

基本Meta标签

在Astro的布局组件中,为每个页面输出以下内容:

  • og:title / og:description / og:image ― SNS分享时的标题、描述和图片
  • twitter:card = summary_large_image ― 在X(Twitter)上显示大图片卡
  • rel="canonical" ― 指定重复页面的规范URL
  • rel="prev" / rel="next" ― 明确分页的前后关系

博客文章特有的Meta标签

文章页面需要额外设置以下内容:

  • article:published_time / article:modified_time ― 发布日期和更新日期
  • article:tag ― 文章标签信息
  • article:section ― 内容分类

实现要点

在布局组件中通过props接收 title / description / image,从各页面传递值的结构可以在所有页面输出一致的Meta标签。首页的 og:title 不要写”首页”,而应该包含网站名和宣传语的具体标题。


结构化数据(JSON-LD)的实现

结构化数据是让搜索引擎能够机器化理解页面内容的机制。正确实现后,搜索结果中可能会显示Rich Results(FAQ、面包屑、作者信息等)。

Organization

向Google传达公司信息。有可能显示在知识面板中。

{
  "@type": "Organization",
  "name": "Acecore",
  "url": "https://acecore.net",
  "logo": "https://acecore.net/logo.png",
  "contactPoint": { "@type": "ContactPoint", "telephone": "..." }
}

在公司介绍页面可以添加 knowsAbout 字段,明确业务领域。

BlogPosting

为博客文章设置 BlogPosting。包含作者、发布日期、更新日期和封面图片,可以在Google Discover或搜索结果中获得带作者信息的展示。

面包屑导航的结构化数据应在所有页面设置。实现时需注意,要确认中间路径(如 /blog/tags/ 这样的列表页面)是否实际存在,对不存在的路径不输出 item 属性。

FAQPage

包含FAQ的文章输出 FAQPage 结构化数据。在Astro中,在Front Matter中定义 faq 字段,在模板侧进行检测和输出的方式较为方便。

WebSite + SearchAction

如果有站内搜索功能,设置 SearchAction 后Google搜索结果中可能会显示站内搜索框。结合Pagefind等搜索引擎,建立通过 ?q= 参数自动启动搜索模态框的机制,可以提升用户体验。


站点地图优化

使用Astro的 @astrojs/sitemap 插件可以自动生成站点地图,但默认设置是不够的。

按页面类型设置

使用 serialize() 函数,根据页面的URL模式设置 changefreqpriority

页面类型changefreqpriority
首页daily1.0
博客文章weekly0.8
其他monthly0.6

lastmod设置

lastmod 设置为构建日期,向搜索引擎传达内容的新鲜度。如果博客文章在Front Matter中有 lastUpdated 字段,则优先使用该值。


RSS Feed的增强

RSS容易”设置完就撂下不管了”,但提高Feed质量可以改善在RSS阅读器中的显示,提升订阅者的体验。

应添加的信息

  • author:包含每篇文章的作者名
  • categories:将标签信息作为分类添加,改善在RSS阅读器中的分类
items: posts.map(post => ({
  title: post.data.title,
  description: post.data.description,
  link: `/blog/${post.id}/`,
  pubDate: post.data.date,
  author: post.data.author,
  categories: post.data.tags,
}))

SEO改善检查清单

最后,总结Astro网站SEO改善应确认的要点:

  1. 所有页面是否设置了canonical URL
  2. OGP图片是否为每个页面准备了独有的
  3. 结构化数据验证:使用Google Rich Results测试确认
  4. 面包屑导航的中间路径是否为实际存在的URL
  5. 站点地图中是否包含了不必要的页面(如404等)
  6. RSS Feed中是否包含了作者和分类
  7. robots.txt中是否排除了搜索索引(如 /pagefind/ 等)的爬取

以上项目全部设置完毕后,SEO基础就搭建好了。之后就靠内容的质量和更新频率来决定搜索排名。


本文所属系列

本文是”Astro网站品质改善指南”系列的一部分。也有关于性能、无障碍性和UX改善的独立文章。

SEO改善流程

Meta标签完善

在所有页面设置title、description、canonical和OGP。

结构化数据

通过JSON-LD向Google传达页面的语义。

站点地图

按页面类型设置优先级和更新频率。

RSS

分发包含作者和分类信息的高质量Feed。

常见问题
添加结构化数据后搜索结果会立即改变吗?
不会。Google爬取和重新索引需要数天到数周时间。可以在Google Search Console的"Rich Results"报告中确认反映情况。
OGP图片尺寸多大合适?
推荐1200×630px。在X(Twitter)上使用summary_large_image显示时,此比例最优。
站点地图的priority会影响SEO吗?
Google官方表示会忽略priority,但其他搜索引擎可能会参考。设置了不会有坏处。
G

Gui

Acecore 代表。从系统开发、Web制作、基础设施运维到IT教育,涉猎广泛的工程师。 喜欢用技术解决人和组织的课题。

系统开发 Web制作 基础设施运维 IT教育

想了解更多关于我们的服务?

我们提供系统开发、网站设计、平面设计、IT教育等全方位支持。

相关文章

搜索文章