重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
video-optimization by kostja94/marketing-skills
npx skills add https://github.com/kostja94/marketing-skills --skill video-optimization针对谷歌搜索(主要结果、视频模式、谷歌图片、发现)的视频优化指南,涵盖视频站点地图、VideoObject 结构化数据和索引。注意:谷歌现在在搜索结果中优先展示 YouTube 视频;在 AI 概览中,YouTube + Reddit 约占社交媒体引用的 78%。如需针对 YouTube 的特定优化,请参阅 youtube-seo;如需通过 YouTube 进行 GEO 分发,请参阅 generative-engine-optimization。参考链接:Google Video SEO, Semrush YouTube SEO。
调用时:在首次使用时,如果适用,请用 1-2 句话开头,说明此技能涵盖的内容及其重要性,然后提供主要输出。在后续使用或用户要求跳过时,直接进入主要输出。
谷歌在搜索中优先展示 YouTube 视频结果。YouTube 每月访问量达 486 亿次(仅次于 Google.com),被视为 AI 驱动发现的核心搜索基础设施。Search Engine Land
| 上下文 | 含义 |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| AI 概览 | 自 2025 年 1 月以来,YouTube 引用激增 25.21%;教学类(+35.6%)、视觉演示类(+32.5%);长视频占主导(94%) |
| GEO | YouTube + Reddit = 约 78% 的社交媒体引用;Perplexity(38.7%)和 Google AI 概览(36.6%)驱动了大部分 YouTube 引用 |
| 策略 | 在网站页面嵌入 YouTube 以实现双重索引;或托管在 YouTube 上以获得 GEO 引用。参见 youtube-seo、generative-engine-optimization |
首先检查项目上下文: 如果存在 .claude/project-context.md 或 .cursor/project-context.md 文件,请阅读以获取品牌和页面上下文。
识别:
谷歌通过 <video>、<embed>、<iframe> 或 <object> 查找视频。请勿使用片段标识符加载视频;避免要求用户交互(点击、滑动)才能加载。
| 正确做法 | 错误做法 |
|---|---|
<video><source src="...mp4"/></video> | 仅片段加载;JS 注入且无后备方案 |
<iframe src="https://youtube.com/embed/..."> | 将视频隐藏在付费墙后,且未使用付费墙结构化数据 |
JavaScript 注入:如果视频通过 JS 注入,请确保其出现在渲染的 HTML 中;使用 Search Console 中的 URL 检查工具。如果使用 Media Source API,即使在 API 失败时也注入 HTML 视频容器,以便谷歌能找到元数据。
提交视频站点地图以帮助谷歌发现视频。使用 <video:video> 扩展;<loc> = 观看页面 URL。
结构(来自谷歌):
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://example.com/videos/watch-page.html</loc>
<video:video>
<video:thumbnail_loc>https://example.com/thumbs/123.jpg</video:thumbnail_loc>
<video:title>Grilling steaks for summer</video:title>
<video:description>Bob shows you how to grill steaks perfectly.</video:description>
<video:player_loc>https://example.com/player?video=123</video:player_loc>
</video:video>
</url>
</urlset>
有关站点地图索引,请参见 xml-sitemap。视频站点地图是一个扩展;可以是独立的,也可以组合使用。
对于视频功能(主要结果、视频模式、关键片段、LIVE 徽章),为每个视频创建一个专用观看页面——其主要目的是显示该视频的页面。例如:视频落地页、剧集播放页面、新闻视频页面。不属于观看页面的情况:包含嵌入视频的博客、包含 360° 视频的产品页面、包含多个视频的分类页面。
contentUrlembedUrl / player_loc| 来源 | 方式 |
|---|---|
<video> poster | poster 属性 |
| 视频站点地图 | <video:thumbnail_loc> |
| VideoObject | thumbnailUrl |
| OGP | og:video:image |
在所有元数据来源中使用相同的缩略图 URL。
| 规格 | 要求 |
|---|---|
| 格式 | BMP, GIF, JPEG, PNG, WebP, SVG, AVIF |
| 尺寸 | 最小 60×30 像素;推荐更大尺寸 |
| 透明度 | ≥80% 的像素 alpha 值 >250 |
| 访问 | 必须可抓取(未被 robots.txt 阻止,无需登录) |
在结构化数据和站点地图中为每个视频提供唯一的 thumbnailUrl、name 和 description。需要与可见内容保持一致。
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Grilling steaks for summer",
"description": "Bob shows you how to grill steaks perfectly every time.",
"thumbnailUrl": "https://example.com/thumbs/123.jpg",
"uploadDate": "2025-01-15T08:00:00Z",
"contentUrl": "https://example.com/video/123.mp4",
"embedUrl": "https://example.com/player?video=123"
}
富结果所需:thumbnailUrl、name、description。为视频预览和关键片段添加 contentUrl。完整的 VideoObject 请参见 schema-markup;视频 SERP 功能请参见 serp-features。
谷歌选择短视频片段作为动态预览。允许谷歌获取视频文件;使用 max-video-preview 机器人元标记来限制时长。
| 方法 | 用途 |
|---|---|
| Clip | 每个片段的精确开始/结束 + 标签;支持所有语言 |
| SeekToAction | 告诉谷歌时间戳在 URL 中的位置;自动检测;支持的语言:en, es, pt, it, zh, fr, ja, de, tr, ko, nl, ru |
| YouTube | 描述中的时间戳;参见 youtube-seo |
禁用关键片段:使用 nosnippet 元标记。
对直播流使用 BroadcastEvent 结构化数据,以在结果中显示“LIVE”。
对于视频预览和关键片段,谷歌必须获取实际的视频字节。不要用 noindex 或 robots.txt 阻止 contentUrl。使用稳定的 URL;确保观看页面主机和视频/CDN 主机都有足够的抓取容量。
谷歌可能会同时索引你的页面和平台的页面。对于你的观看页面:仍需添加 VideoObject,并可选择添加视频站点地图。对于更多功能(预览、关键片段),请确认平台允许谷歌获取视频文件。
noindex;或在结构化数据中设置 expires / 在站点地图中设置 <video:expiration_date>regionsAllowed 或 ineligibleRegion;在站点地图中使用 <video:restriction>| 上下文 | 优先级 | 备注 |
|---|---|---|
| 网站视频 | VideoObject、站点地图、缩略图 | 本技能 |
| YouTube | 标题、描述、章节、缩略图 | 参见 youtube-seo |
| GEO / AI 引用 | YouTube 分发;长视频 | 参见 generative-engine-optimization |
| 精选摘要(视频) | 视频结构化数据;时间戳 | 参见 featured-snippet |
每周安装次数
111
代码仓库
GitHub 星标数
237
首次出现
13 天前
安全审计
安装于
cursor105
gemini-cli104
kimi-cli104
codex104
opencode104
github-copilot104
Guides video optimization for Google Search (main results, video mode, Google Images, Discover), video sitemap, VideoObject schema, and indexing. Note : Google now prioritizes YouTube video results in search; YouTube + Reddit comprise ~78% of social media citations in AI Overviews. For YouTube-specific optimization, see youtube-seo ; for GEO distribution via YouTube, see generative-engine-optimization. References: Google Video SEO, Semrush YouTube SEO.
When invoking : On first use , if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
Google prioritizes YouTube video results across search. YouTube receives 48.6B monthly visits (second to Google.com) and is treated as core search infrastructure for AI-driven discovery. Search Engine Land
| Context | Implication |
|---|---|
| AI Overviews | YouTube citations surged 25.21% since Jan 2025; instructional (+35.6%), visual demos (+32.5%); long-form dominates (94%) |
| GEO | YouTube + Reddit = ~78% of social media citations; Perplexity (38.7%) and Google AI Overviews (36.6%) drive most YouTube citations |
| Strategy | Embed YouTube on site pages for dual indexing; or host on YouTube for GEO citation. See youtube-seo , generative-engine-optimization |
Check for project context first: If .claude/project-context.md or .cursor/project-context.md exists, read it for brand and page context.
Identify:
Google finds videos in <video>, <embed>, <iframe>, or <object>. Do not use fragment identifiers to load video; avoid requiring user interaction (click, swipe) to load.
| Do | Don't |
|---|---|
<video><source src="...mp4"/></video> | Fragment-only load; JS-injected without fallback |
<iframe src="https://youtube.com/embed/..."> | Hide video behind paywall without paywall structured data |
JavaScript injection : If video is injected via JS, ensure it appears in rendered HTML; use URL Inspection in Search Console. If using Media Source API, inject HTML video container even when API fails so Google can find metadata.
Submit a video sitemap to help Google discover videos. Use <video:video> extension; <loc> = watch page URL.
Structure (from Google):
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://example.com/videos/watch-page.html</loc>
<video:video>
<video:thumbnail_loc>https://example.com/thumbs/123.jpg</video:thumbnail_loc>
<video:title>Grilling steaks for summer</video:title>
<video:description>Bob shows you how to grill steaks perfectly.</video:description>
<video:player_loc>https://example.com/player?video=123</video:player_loc>
</video:video>
</url>
</urlset>
See xml-sitemap for sitemap index. Video sitemap is an extension; can be standalone or combined.
For video features (main results, video mode, key moments, LIVE badge), create a dedicated watch page per video—page whose primary purpose is to display that video. Examples: video landing page, episode player page, news video page. Not watch pages: blog with embedded video, product page with 360° video, category page with multiple videos.
contentUrl in VideoObjectembedUrl / player_loc| Source | How |
|---|---|
<video> poster | poster attribute |
| Video sitemap | <video:thumbnail_loc> |
| VideoObject | thumbnailUrl |
| OGP | og:video:image |
Use same thumbnail URL across all metadata sources.
| Spec | Requirement |
|---|---|
| Formats | BMP, GIF, JPEG, PNG, WebP, SVG, AVIF |
| Size | Min 60×30 px; larger preferred |
| Transparency | ≥80% of pixels with alpha >250 |
| Access | Must be crawlable (no robots.txt block, no login) |
Provide unique thumbnailUrl, name, and description for each video in structured data and sitemap. Consistency with visible content is required.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Grilling steaks for summer",
"description": "Bob shows you how to grill steaks perfectly every time.",
"thumbnailUrl": "https://example.com/thumbs/123.jpg",
"uploadDate": "2025-01-15T08:00:00Z",
"contentUrl": "https://example.com/video/123.mp4",
"embedUrl": "https://example.com/player?video=123"
}
Required for rich results : thumbnailUrl, name, description. Add contentUrl for video preview and key moments. See schema-markup for full VideoObject; serp-features for Video SERP feature.
Google selects short clips as dynamic previews. Allow Google to fetch video file; use max-video-preview robots meta to limit duration.
| Method | Use |
|---|---|
| Clip | Exact start/end + label per segment; all languages |
| SeekToAction | Tell Google where timestamps live in URL; auto-detect; supported languages: en, es, pt, it, zh, fr, ja, de, tr, ko, nl, ru |
| YouTube | Timestamps in description; see youtube-seo |
Disable key moments: nosnippet meta.
Use BroadcastEvent schema for live streams to show "LIVE" in results.
For video preview and key moments , Google must fetch the actual video bytes. Do not block contentUrl with noindex or robots.txt. Use stable URLs; ensure both watch page host and video/CDN host have sufficient capacity for crawling.
Google may index both your page and the platform's page. For your watch page: still add VideoObject and optionally video sitemap. For more features (preview, key moments), confirm the platform allows Google to fetch video files.
noindex; or set expires in schema / <video:expiration_date> in sitemapregionsAllowed or ineligibleRegion in VideoObject; <video:restriction> in sitemap| Context | Priority | Notes |
|---|---|---|
| Website video | VideoObject, sitemap, thumbnail | This skill |
| YouTube | Title, description, chapters, thumbnail | See youtube-seo |
| GEO / AI citation | YouTube distribution; long-form | See generative-engine-optimization |
| Featured Snippet (video) | Video schema; timestamps | See featured-snippet |
Weekly Installs
111
Repository
GitHub Stars
237
First Seen
13 days ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
cursor105
gemini-cli104
kimi-cli104
codex104
opencode104
github-copilot104
SaaS营销创意库 | 139个已验证营销策略,按阶段/预算/资源智能推荐
39,100 周安装