描述每周瑜伽课的最佳schema.org类型及Event+ExerciseAction方案可行性咨询
关于用Event+ExerciseAction表示定期瑜伽课程的方案分析
首先直接给结论:你的方案是可行的,但并非最优选择,下面详细拆解细节:
一、当前方案的合理性
- 用
Event类型标识瑜伽课程完全符合Schema规范,搭配potentialAction为ExerciseAction,能明确告知搜索引擎这是一项瑜伽练习活动,逻辑通顺。 - 你放弃
HealthClub而选择Place作为地点类型的判断完全正确——课程在教堂大厅、健身俱乐部等多样场地开展,Place作为通用地点类型,完美适配这类多场景需求。
二、可以优化的地方(让结构更精准、贴合重复课程特性)
1. 补上「周期性重复」的定义
当前JSON-LD里每个Event只指定了单次的startDate和endDate,但你的课程是每周固定开展的重复活动,搜索引擎无法识别这是系列课程。建议添加repeatEvent相关属性定义重复规则,示例如下:
"repeatEvent": { "@type": "Schedule", "repeatFrequency": "WEEKLY", "byDay": ["Thursday"], "startTime": "19:45", "endTime": "20:45", "validFrom": "2018-05-01", "validThrough": "2018-12-31" }
这样搜索引擎就能明确这是每周四固定时间的重复课程,而非单次活动。
2. 考虑用更贴合的ExerciseCourse类型
Schema.org专门提供了ExerciseCourse类型(属于Course的子类),用于描述健身、运动类的系列课程,比通用的Event+ExerciseAction更精准。它可以直接关联课程的时间、地点、主办方等信息,结构更简洁:
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ExerciseCourse", "name": "hello YOGA - 周四哈罗盖特课程", "description": "Small, friendly yoga class. Suitable for all abilities.", "image": "https://www.hello-yoga.co.uk/yoga-people.svg", "courseSchedule": { "@type": "Schedule", "repeatFrequency": "WEEKLY", "byDay": ["Thursday"], "startTime": "19:45", "endTime": "20:45", "validFrom": "2018-05-01" }, "location": { "@type": "Place", "name": "Friends Meeting House", "address": { "@type": "PostalAddress", "streetAddress": "12A Queens Parade", "addressLocality": "Harrogate", "addressRegion": "North Yorkshire", "postalCode": "HG1 5PP", "addressCountry": "GB" } }, "offers": { "@type": "Offer", "availability": "http://schema.org/LimitedAvailability", "price": "7.00", "priceCurrency": "GBP", "validFrom": "2018-05-01T12:00", "url": "https://www.hello-yoga.co.uk" }, "provider": { "@type": "LocalBusiness", "name": "hello YOGA", "email": "clare@hello-yoga.co.uk", "url": "https://www.hello-yoga.co.uk", "priceRange": "£7", "image": "https://www.hello-yoga.co.uk/yoga-people.svg", "address": { "@type": "PostalAddress", "addressLocality": "Harrogate", "addressRegion": "North Yorkshire", "addressCountry": "GB" } } } </script>
3. 修复potentialAction里的地点类型问题
如果坚持使用原Event方案,注意ExerciseAction的location应该是Place类型,而非直接用PostalAddress——当前代码内层potentialAction的location直接用了PostalAddress,不符合Schema规范,应该和外层location一致,用Place包裹地址信息。
三、总结
- 原方案(
Event+ExerciseAction)可行,但需要补上重复规则定义,修复地点类型的小问题。 - 更推荐使用
ExerciseCourse类型,它是专门为运动类系列课程设计的,结构精准、语义清晰,能让搜索引擎更好地理解你的课程信息。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

