SEO 百科

活动

本页目录

活动

活动是网页上标注一场演出、会议或展览的结构化数据类型,对应 schema.org 的 Event[1]。写对以后,活动能进入 Google 的活动体验,在搜索结果里带出主办方 logo、场地与票务信息[3]。做票务与活动页的人,要用它把时间、地点与售票状态交代清楚。

展示形式

活动标记让结果带上更多可互动的信息。Google 说,活动有机会进入搜索里的活动体验,显示主办方 logo 与活动介绍[3]。这类结果也出现在地图等其他产品里[3]。Bing 也支持用同类标记描述页面[2]。

想让活动被收录,有三条路。第三方票务平台已经接入的,继续在那里发布即可;用建站系统的,可以找现成插件;能改 HTML 的,直接写结构化数据[3]。

必需属性

Google 列出的必需属性有三项[3]:

  • name,活动的名称
  • startDate,开始时间,要带上时区
  • location,举办地点;线上活动改用 eventAttendanceMode 与虚拟地点

建议属性决定结果的丰富程度:description、endDate、image、offers、performer、eventStatus[3]。售票活动要写 offers,里面放 url、price、priceCurrency 与 availability。

写法与示例

下面是一场线下演出,可以照抄。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "云栖夏季音乐会",
  "startDate": "2026-07-21T19:00+08:00",
  "endDate": "2026-07-21T22:00+08:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "云栖剧场",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "文三路 100 号",
      "addressLocality": "杭州市",
      "addressRegion": "浙江省",
      "addressCountry": "CN"
    }
  },
  "image": ["https://www.example.com/event.jpg"],
  "description": "云栖夏季音乐会,一次不可错过的现场演出。",
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/tickets",
    "price": 180,
    "priceCurrency": "CNY",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-05-01T12:00"
  },
  "performer": {"@type": "PerformingGroup", "name": "云栖乐团"},
  "organizer": {"@type": "Organization", "name": "云栖文化", "url": "https://www.example.com"}
}
</script>

时间格式要带时区偏移,例如 +08:00。地点用 Place 包一层 PostalAddress,这是标准写法[1]。

状态与时间

活动改期或取消,由 eventStatus 说明。取消写成 EventCancelled,改期写成 EventRescheduled,再补上 previousStartDate[3]。

这些状态直接影响显示。一场已经取消的活动还挂着正常状态,用户会照旧点进去买票,投诉会落到主办方头上。

写了不显示的原因

标记覆盖不全,是最常见的一种。缺了必需属性,或者同时写了线上与线下两种到场方式却没写对应地点,都会让结果落空。

活动过期是第二种。结束时间已经过去,结果一般不再显示。

页面本身的问题也会挡住。富媒体结果测试报错、时区写错、页面抓不到,都会让活动出不来[3]。日期与时区出错时,显示的时间会跟着错[3]。

常见误用

一个误用是 startDate 不写时区。跨地区显示时,时间会整体偏移。

另一个误用是取消后不更新状态。取消与改期都要写进 eventStatus,不写就等于对外还宣称活动正常。

还有一个误用是把好几种到场方式混在一起。线上与线下兼有的活动要用 MixedEventAttendanceMode,并分别给出地点[3]。

附录

参见

参考资料

官方(境外)

  1. 《Event》,schema.org。
  2. 《Marking up your site: Overview》,Bing。
  3. 《活动(Event)结构化数据》,Google 搜索中心。

外部链接

无。