# videocompressor.online — SEO/GEO matrix + SERP interaction baseline v0

Task: t_78ff15f4  
Tenant: site-videocompressor-20260603  
Date: 2026-06-03  
Owner: 墨引  
Inputs:
- /root/.hermes/reports/site-videocompressor-20260603/research-v0.md
- /root/.hermes/reports/site-videocompressor-20260603/prd-v1.md

## 0. Verdict

SEO verdict: Conditional Go.

Primary keyword: `video compressor`.

可进入，但不是泛工具站打法。必须以“client-side-first / no-upload default / MP4 H.264 / target-size presets”作为硬定位，先打 P0 六页：`/`、`/mp4-compressor`、`/compress-video-for-discord`、`/compress-video-for-whatsapp`、`/compress-video-for-instagram`、`/privacy-video-compressor`。

上线前硬闸门：

1. 工具必须能完成至少一个真实 MP4/H.264 desktop Chrome 压缩流程。
2. 每个 P0 indexable 页面必须有独特工具入口或 preset deep-link，不能只是改标题。
3. 默认 no-upload 声明必须和实现一致；网络检查不能上传媒体文件。
4. 不得出现 forbidden claims：`unlimited`、`lossless`、`no quality loss`、`support all formats`、`official Discord/WhatsApp/Instagram compressor`。
5. SEO Copy Freeze 必须在设计前冻结：逐页 primary keyword、semantic keywords、target words、H1/H2/H3、final copy blocks、FAQ/schema、internal links。
6. 首版技术栈必须诚实写浏览器/移动端限制：best on desktop Chrome/Edge；Safari/iOS/mobile may be slower or unsupported。

## 1. Source data read

上游结论可用，不需要重开域名选择：

- Domain fixed: `videocompressor.online`.
- PRD verdict: `GO_WITH_CONSTRAINTS`.
- Search volume source: DataForSEO Google Ads Search Volume live, US/en, 2026-06-03.
- SERP source: DataForSEO Google Organic SERP live, US/en desktop depth 10 for `video compressor`, plus current web extraction cross-check.
- Primary keyword: `video compressor`, US monthly volume 90,500, KD 72.
- Best long-tail wedge: `mp4 compressor`, US monthly volume 12,100, KD 41; `compress video for Discord`, US monthly volume 1,300, KD 31.
- P0 product boundary: browser local compression, MP4/H.264 output first, Discord 10MB, WhatsApp 16MB, Email 25MB, Instagram resolution/quality guidance.

## 2. SERP read

### 2.1 Head SERP pressure

`video compressor` 是高量老词，不是新词红利。SERP 被大站压住：FreeConvert、Clideo、VEED、InVideo 等都有强域名、现成工具、长尾页面和编辑器/转换器套件。

但 Top 10 不是完全封闭：Rotato Tools、compress.addy.ie、8mb.video、Kommodo 等小/专工具能进入，说明“工作工具 + 清晰差异化 + 可完成任务”仍有空间。

### 2.2 可打入口

优先顺序：

1. `/mp4-compressor`：`mp4 compressor` KD 41，强任务、格式明确，最适合早期拿长尾。
2. `/compress-video-for-discord`：`compress video for Discord` KD 31，目标大小明确，能用 10MB preset 建立体验差异。
3. `/privacy-video-compressor`：对抗 upload-based incumbents，增强 GEO/AI citation 可引用性。
4. `/`：承接 head term，但首期不应以 head term 排名作为唯一成功标准。
5. `/compress-video-for-whatsapp`、`/compress-video-for-instagram`：低量但能补全 preset/use-case 矩阵，必须有真实设置和 caveats。

### 2.3 AIO / AI citation 风险

AI Overview / ChatGPT Search / Perplexity 很可能引用强域名、官方文档、或大型工具页。新站需要结构化、可引用、低夸张 copy：

- 每页首屏下方放 40–70 words Short answer block。
- 明确回答：Does this upload my video? What output format? How to hit Discord 10MB? Why did compression miss target size?
- 每页有 `Last updated`、browser support、format caveat、privacy caveat。
- 平台名只作 compatibility/share-context 描述，不写 official/endorsed。

## 3. Competitor UX baseline

### 3.1 Baseline table

| Competitor | SERP role | Tool interaction baseline | Strength | Gap we can attack | Must match / beat |
|---|---|---|---|---|---|
| FreeConvert `/video-compressor` | Head-term incumbent, large multi-tool site | Choose file from device/cloud/URL, max 1GB free, advanced compression methods: percentage of original size, CRF/quality, max bitrate, resize, H.264/H.265, batch/preset controls | Authority, broad format support, advanced settings, cloud imports | Upload privacy concern, config complexity, generic funnel | Simple file picker, target MB, resolution/quality, visible before/after size, H.264 compatibility explanation |
| VEED `/tools/video-compressor` | Brand/editor incumbent | Upload file, auto balance quality/size, manual quality/resolution/compression level, real-time file size estimates, then download or continue editing; free up to 1GB | Strong UX, editor upsell, social/email/website use cases | Heavy editor funnel, upload-based workflow, less privacy-first | Immediate compressor above fold, no editor distraction, local/no-upload proof, size estimates if feasible |
| Clideo `/compress-video` | Tool-suite incumbent + platform pages | Upload, set parameters/preset, estimate compression/output size, preview before saving, premium larger limits/no watermark, mobile-responsive | IA depth, mobile story, related guides/platform pages | Cloud upload, Premium limitations, app upsell | Preview/result card, estimated output, platform page template, FAQ around permanent quality tradeoff |
| Rotato Tools `/compress` | Direct local/privacy competitor | Drop file, browser/on-device FFmpeg, auto compression, compare original/compressed with slider, download; no signup/private | Strong privacy claim, simple UX, tool suite | Generic path under Rotato, fewer target-size/task pages, “no visible quality loss” risky | No-upload trust strip, local processing copy, better target-size presets, platform pages, avoid absolute quality claims |
| Kommodo `/tools/compress` | Direct WebCodecs/browser competitor | Select/drag video, choose resolution and quality, compress with progress, download MP4/H.264; claims WebCodecs/GPU, no upload, no limits with memory caveat | Closest positioning, WebCodecs specificity, email/social use cases | Claims “no limits/unlimited” risk; no dedicated target-size platform matrix in reviewed page | WebCodecs-first copy, H.264 output, resolution presets, browser support table, target-size presets, conservative file-cap copy |
| 8mb.video | Discord/target-size niche | Upload server-side, compress just under 8MB, server status, deletion after 20 min or first download, Discord disclaimer | Strong niche memory, target-size promise, deletion copy | Old 8MB framing, narrow Discord use, server upload | 10MB Discord preset, deletion not needed in local mode, platform disclaimer, target-miss honesty |
| Autocompressor | Target-size power tool | Upload media or URL, 2 GiB input limit, choose target size, output format, compression level, job link/status/download, completed files deleted after 24h | Target-size depth, Discord/Gmail fit, advanced codec choices | Complex UI, server upload, niche/technical | Custom MB + presets, simple quality-time choice, avoid overcomplex codec options in v0 |
| InVideo compressor | Editor platform funnel | Upload up to 800MB, choose compression quality, compress/download; links to many format/platform pages | SEO long-tail matrix, no-signup funnel | Upload-based, editor upsell, broad claims | Build route matrix early, but each route needs unique preset/tool entry |
| Adobe Express video resizer | Adjacent resize competitor | Upload up to 1GB/1h, pick destination size, resize, continue editing | Brand trust, destination presets, mobile/editor ecosystem | Resizer not compressor; upload/editor heavy | Instagram page should learn from destination presets but stay compressor/resolution-focused |

### 3.2 Interaction baseline — what v0 must let users do

P0 interactive acceptance baseline:

1. Open `/` and select a local MP4 file without creating account.
2. See privacy cue before selecting file: “processed locally in supported browsers; no upload by default”.
3. See parsed input facts when possible: size, type, duration, resolution.
4. Pick a target preset: Discord 10MB, WhatsApp 16MB, Email 25MB, Instagram recommended settings, or custom MB.
5. Pick resolution: keep original, 1080p, 720p, 480p.
6. Pick quality: High, Balanced, Smallest.
7. Start compression and see progress, elapsed time, “keep this tab open”, and cancel.
8. Complete and see before size, output size, ratio, preset used, target met/missed status, download button.
9. If target is missed, show actual size and next actions: lower resolution, increase target MB, choose Smallest, trim video.
10. If unsupported/failed, show reason bucket: unsupported browser, unsupported codec, memory, timeout, mux error, user cancelled, unknown.
11. On mobile, warn that local compression may be slow and desktop Chrome/Edge is recommended.
12. In default local mode, browser network log must not show media upload, thumbnail upload, filename upload, or raw metadata upload.

### 3.3 UX anti-patterns to avoid

- “Upload your video” wording as the default CTA. Use “Choose video” / “Select local video” unless server mode exists.
- Compress button before target/preset clarity.
- Hiding target-missed output as success.
- Generic “Something went wrong” failures.
- Full editor detours before download.
- A platform page that says “for Discord” but does not preselect Discord 10MB.
- “No quality loss” / “lossless” copy in hero, FAQ, alt text, schema, or meta.

## 4. Route matrix

### 4.1 P0 pages

| Route | Priority | Index | Primary keyword | Intent | Above-fold tool behavior | Unique value | Target words | Density target |
|---|---|---|---|---|---|---|---:|---|
| `/` | P0 | index | video compressor | Compress video now | Default tool with all presets; no-upload trust strip visible | Head page: private browser compressor + target-size presets | 900–1,300 | primary + synonyms 2.5–3.3% natural |
| `/mp4-compressor` | P0 | index | mp4 compressor | Reduce MP4 file size online | Tool opens in MP4/H.264 mode; explains output MP4/H.264 + AAC | Format-specific guidance, H.264 compatibility, target MB | 850–1,150 | 2.5–3.4% |
| `/compress-video-for-discord` | P0 | index | compress video for Discord | Fit Discord upload/share limit | 10MB preset preselected; custom target available | Strongest long-tail, target-size outcome and target-miss recovery | 850–1,150 | 2.4–3.3% |
| `/compress-video-for-whatsapp` | P0 | index | compress video for WhatsApp | Fit WhatsApp sharing | 16MB preset preselected; explain quality/resolution tradeoff | Useful task page, careful platform copy | 800–1,050 | 2.2–3.1% |
| `/compress-video-for-instagram` | P0 | index | compress video for Instagram | Prepare upload quality/resolution | 1080p + Balanced recommended; no fake universal MB limit | Format/resolution guidance rather than strict size claim | 850–1,100 | 2.2–3.1% |
| `/privacy-video-compressor` | P0 | index | no upload video compressor | Find private/browser/local compressor | Tool CTA + local processing explanation; no upload proof points | Differentiation and AI citation page | 850–1,150 | 2.2–3.2% |

### 4.2 P1 pages

Only index after corresponding function/preset is real:

| Route | Primary keyword | Index condition | Notes |
|---|---|---|---|
| `/compress-video-to-10mb` | compress video to 10mb | Target-size algorithm works and target-missed UI exists | Can canonical to Discord page only if no unique copy; otherwise separate page |
| `/compress-video-to-25mb` | compress video to 25mb | Email 25MB preset works | Good email attachment intent |
| `/video-compressor-for-email` | video compressor for email | 25MB workflow tested | P1 likely useful for office/student ICP |
| `/reduce-video-file-size` | reduce video file size | Enough educational + tool content to avoid thin page | Can be an evergreen explainer/hub |
| `/mov-compressor` | mov compressor | MOV input verified across browsers | Noindex until tested |
| `/webm-compressor` | webm compressor | WebM input verified | Noindex until tested |
| `/video-resizer` | video resizer | Resize function exists as distinct feature | Do not create if only downscale inside compressor |

### 4.3 Noindex / redirect rules

- `/no-upload-video-compressor` → 308 to `/privacy-video-compressor` unless unique content is written.
- `/online-video-compressor` → 308 to `/` unless unique head page exists.
- `/free-video-compressor` → 308 to `/` unless pricing/free page has unique value.
- Unsupported format/platform placeholders: `noindex`, excluded from sitemap.
- Any page whose preset/tool behavior is not implemented: `noindex` until functional.

## 5. SEO-Copy Freeze contract

### 5.1 Global copy rules

Required on every P0 indexable page:

- Unique title 40–60 chars.
- Meta description 140–160 chars recommended; 70–160 acceptable if reason documented.
- One H1 only; H1 must match visible hero title.
- H2 count >= 3; H3 count >= 2 for homepage/tool/hub pages.
- Body content >= 800 words for indexable P0 SEO pages.
- Short answer block 40–70 words near top, visible, not hidden in FAQ only.
- FAQPage schema for FAQ section; BreadcrumbList on all non-home routes; WebApplication/SoftwareApplication on tool pages.
- Internal links: home ↔ all P0 pages; platform pages link to `/mp4-compressor` and `/privacy-video-compressor`; privacy page links back to tool pages.
- All images/icons with non-empty alt; decorative icons use empty alt only if semantically decorative in HTML, but SEO screenshots/OG need descriptive alt.

Forbidden terms in copy/schema/meta/alt:

- unlimited video compression
- lossless video compressor
- no quality loss
- supports all formats
- any video size
- official Discord compressor / official WhatsApp compressor / official Instagram compressor
- fastest video compressor online

Allowed safer phrasing:

- “No upload by default in supported browsers.”
- “Reduce file size with quality tradeoffs.”
- “P0 focuses on MP4/H.264 output.”
- “Large files depend on browser, device memory, codec, duration, and resolution.”
- “If the output misses your target, try 720p, a higher target size, or a shorter clip.”

### 5.2 Page-level freeze inputs

#### `/`

Primary keyword: video compressor  
Semantic keywords: compress video, online video compressor, free video compressor, reduce video file size, browser video compressor, MP4 video compressor, target size video compressor  
Search intent: immediate tool use + privacy reassurance.

Title: `Video Compressor Online — Private MP4 Compression`  
Meta description: `Compress MP4 videos in your browser with Discord, WhatsApp, Email, Instagram, and custom target-size presets. No upload by default.`  
H1: `Compress Video in Your Browser`

H2/H3 outline:

- H2: Free online video compressor for real sharing limits
  - H3: Discord 10MB, WhatsApp 16MB, Email 25MB
  - H3: Custom target size and resolution choices
- H2: How local video compression works
  - H3: Choose video, pick target, compress, download
  - H3: Why smaller files may reduce quality
- H2: Browser support and file-size limits
  - H3: Best on desktop Chrome or Edge
  - H3: What to try if compression fails
- H2: FAQ

Short answer block:

> This video compressor reduces MP4 file size in your browser with target-size presets for Discord, WhatsApp, Email, Instagram, or any custom MB. In the default local mode, supported browsers process the video on your device instead of uploading it. Output quality depends on the source video, target size, resolution, and browser support.

FAQ seeds:

1. Does this video compressor upload my video?
2. Can it compress a video to an exact target size?
3. What video format does it output?
4. Why does the compressed video look lower quality?
5. Does it work on iPhone or Safari?

Internal links:

- Anchor “MP4 compressor” → `/mp4-compressor`
- Anchor “compress video for Discord” → `/compress-video-for-discord`
- Anchor “compress video for WhatsApp” → `/compress-video-for-whatsapp`
- Anchor “compress video for Instagram” → `/compress-video-for-instagram`
- Anchor “no-upload video compressor” → `/privacy-video-compressor`

#### `/mp4-compressor`

Primary keyword: mp4 compressor  
Semantic keywords: compress MP4, reduce MP4 file size, MP4 video compressor, H.264 compressor, MP4 target size, online MP4 compressor  
Search intent: compress MP4 to smaller file while preserving compatibility.

Title: `MP4 Compressor — Reduce MP4 File Size Online`  
Meta description: `Compress MP4 videos with target MB, resolution, and quality presets. Browser-local workflow, H.264 output first, no upload by default.`  
H1: `MP4 Compressor for Smaller Video Files`

H2/H3 outline:

- H2: Compress MP4 videos for sharing
  - H3: Target MB presets
  - H3: H.264 and AAC compatibility
- H2: Choose the right MP4 compression setting
  - H3: Resolution vs quality
  - H3: When to use 1080p, 720p, or 480p
- H2: MP4 support and limitations
  - H3: Browser support
  - H3: Unsupported codecs and fallback copy
- H2: FAQ

Short answer block:

> The MP4 compressor helps reduce MP4 video size for sharing, email, and social uploads. Choose a target size, resolution, and quality preset, then download a smaller MP4. The first version should prioritize MP4/H.264 with AAC audio for compatibility and avoid promising every input codec or lossless compression.

FAQ seeds:

1. Is the output always MP4?
2. Can this compress MP4 without quality loss?
3. What is the best setting for a smaller MP4?
4. Why is my MP4 unsupported?
5. Is MP4/H.264 good for Discord, WhatsApp, and Instagram?

Internal links:

- `/` via “online video compressor”
- `/compress-video-for-discord` via “10MB Discord video”
- `/compress-video-for-whatsapp` via “WhatsApp video sharing”
- `/privacy-video-compressor` via “private MP4 compression”

#### `/compress-video-for-discord`

Primary keyword: compress video for Discord  
Semantic keywords: Discord video compressor, compress video to 10MB, Discord 10MB video, reduce video size for Discord, MP4 for Discord  
Search intent: make a video small enough to send in Discord.

Title: `Compress Video for Discord — 10MB MP4 Preset`  
Meta description: `Compress videos for Discord with a 10MB target preset, MP4 output, and fallback tips when quality or file size needs adjustment.`  
H1: `Compress Video for Discord`

H2/H3 outline:

- H2: Use the Discord 10MB preset
  - H3: What the preset changes
  - H3: What to do if the result is still over 10MB
- H2: Best settings for Discord videos
  - H3: 720p vs 480p for smaller files
  - H3: Quality tradeoffs for short clips and screen recordings
- H2: Private local compression for Discord clips
  - H3: No-upload default
  - H3: Platform disclaimer
- H2: FAQ

Short answer block:

> To compress a video for Discord, use the 10MB preset, choose MP4 output, and lower resolution if the clip is long or high bitrate. The compressor should aim for the target size but must show when the final file misses the target. For private screen recordings, the default local workflow avoids uploading the video in supported browsers.

FAQ seeds:

1. How do I compress a video under 10MB for Discord?
2. What if the compressed Discord video is still too large?
3. Does Discord require MP4?
4. Is this an official Discord compressor?
5. Are my Discord clips uploaded?

Mandatory disclaimer:

> Discord is a trademark of Discord Inc. This site is not affiliated with, endorsed by, or sponsored by Discord.

#### `/compress-video-for-whatsapp`

Primary keyword: compress video for WhatsApp  
Semantic keywords: WhatsApp video compressor, compress video to 16MB, WhatsApp video size, reduce video for WhatsApp, MP4 for WhatsApp  
Search intent: make video shareable through WhatsApp.

Title: `Compress Video for WhatsApp — 16MB Preset`  
Meta description: `Compress videos for WhatsApp with a 16MB target preset, MP4/H.264 guidance, resolution choices, and honest quality tradeoff tips.`  
H1: `Compress Video for WhatsApp`

H2/H3 outline:

- H2: Use the WhatsApp 16MB preset
  - H3: When 16MB is enough
  - H3: When to lower resolution
- H2: Best settings for WhatsApp sharing
  - H3: MP4/H.264 compatibility
  - H3: 720p and 480p choices
- H2: Local compression and privacy
  - H3: No upload by default
  - H3: Mobile limitations
- H2: FAQ

Short answer block:

> To compress a video for WhatsApp, start with the 16MB preset, keep MP4/H.264 output, and reduce resolution if the clip is long. The final size can vary by source video and quality setting, so the result page should clearly show whether the target was met and what to try next.

FAQ seeds:

1. How do I compress a video to 16MB for WhatsApp?
2. Why does WhatsApp still reduce quality after I compress it?
3. What format works best for WhatsApp sharing?
4. Does this work on iPhone?
5. Is this an official WhatsApp tool?

Mandatory disclaimer:

> WhatsApp is a trademark of its owner. This site is not affiliated with, endorsed by, or sponsored by WhatsApp.

#### `/compress-video-for-instagram`

Primary keyword: compress video for Instagram  
Semantic keywords: Instagram video compressor, reduce video size for Instagram, Instagram MP4 settings, compress reel video, 1080p Instagram video  
Search intent: prepare video for Instagram upload without overclaiming a universal size limit.

Title: `Compress Video for Instagram — MP4 Quality Preset`  
Meta description: `Prepare videos for Instagram with MP4/H.264 output, 1080p or 720p guidance, balanced quality settings, and local compression caveats.`  
H1: `Compress Video for Instagram`

H2/H3 outline:

- H2: Recommended Instagram compression settings
  - H3: 1080p balanced quality
  - H3: When to use 720p or 480p
- H2: Keep uploads smaller without fake limits
  - H3: File size vs visual quality
  - H3: Shorter clips compress better
- H2: Private browser compression
  - H3: No-upload default
  - H3: Mobile/browser caveats
- H2: FAQ

Short answer block:

> Compressing video for Instagram is mainly about balancing MP4/H.264 compatibility, resolution, and visual quality. Start with 1080p balanced quality for normal uploads, then try 720p or a smaller target if upload speed or file size is the problem. Do not present a single universal Instagram MB limit as fact.

FAQ seeds:

1. What settings should I use for Instagram video compression?
2. Should I compress Instagram videos to 1080p or 720p?
3. Will compression reduce Instagram video quality?
4. Can this compress Reels or Stories videos?
5. Is this an official Instagram compressor?

Mandatory disclaimer:

> Instagram is a trademark of its owner. This site is not affiliated with, endorsed by, or sponsored by Instagram.

#### `/privacy-video-compressor`

Primary keyword: no upload video compressor  
Semantic keywords: private video compressor, browser video compressor, local video compressor, compress video without upload, secure video compressor, privacy-first video compressor  
Search intent: find a compressor that does not upload private video.

Title: `No Upload Video Compressor — Private Browser Tool`  
Meta description: `Compress videos locally in supported browsers with no upload by default. Learn what stays on your device, browser limits, and safe fallbacks.`  
H1: `No Upload Video Compressor`

H2/H3 outline:

- H2: What “no upload by default” means
  - H3: Local browser processing
  - H3: What analytics must not collect
- H2: When local compression works best
  - H3: Desktop Chrome/Edge
  - H3: MP4/H.264 source videos
- H2: Limits of browser video compression
  - H3: Large files and device memory
  - H3: Unsupported browsers/codecs
- H2: FAQ

Short answer block:

> A no-upload video compressor processes the video in your browser instead of sending the media file to a server in the default workflow. This is useful for private screen recordings, client demos, or personal clips. Browser-local compression still depends on device memory, browser support, codec, duration, and resolution.

FAQ seeds:

1. Does the video leave my device?
2. What data can analytics collect?
3. Is browser compression safer than upload-based compression?
4. What browsers work best?
5. What happens if local compression fails?

Internal links:

- `/` via “video compressor”
- `/mp4-compressor` via “private MP4 compressor”
- platform pages via “private Discord/WhatsApp/Instagram compression”

## 6. Schema plan

### 6.1 Global schema

Required:

- `WebSite` on all pages.
- `Organization` or `Person/Organization` depending final brand policy; avoid fake company claims if no company page.
- `BreadcrumbList` on all non-home pages.
- `FAQPage` on every P0 page with visible FAQ copy matching page content.
- `WebApplication` or `SoftwareApplication` for tool pages.

Recommended WebApplication fields:

```json
{
  "@type": "WebApplication",
  "name": "VideoCompressor.online",
  "applicationCategory": "MultimediaApplication",
  "operatingSystem": "Web browser",
  "browserRequirements": "Best on desktop Chrome or Edge; support depends on browser video APIs and device memory.",
  "offers": {"@type":"Offer","price":"0","priceCurrency":"USD"}
}
```

Do not add unsupported claims in schema:

- `featureList: unlimited compression`
- `featureList: lossless compression`
- `fileFormat: all formats`
- official platform affiliation.

### 6.2 Page-specific schema notes

| Route | Schema | Notes |
|---|---|---|
| `/` | WebApplication + FAQPage + WebSite | FAQ must include privacy, target size, MP4 output, quality tradeoff, mobile/browser support |
| `/mp4-compressor` | WebApplication + FAQPage + BreadcrumbList | Mention MP4/H.264/AAC first; do not imply every codec works |
| `/compress-video-for-discord` | WebApplication + FAQPage + BreadcrumbList | Add platform disclaimer in visible copy, not schema affiliation |
| `/compress-video-for-whatsapp` | WebApplication + FAQPage + BreadcrumbList | 16MB guidance must be sourced/qualified; avoid official claim |
| `/compress-video-for-instagram` | WebApplication + FAQPage + BreadcrumbList | Focus on resolution/quality; no fake universal MB limit |
| `/privacy-video-compressor` | CreativeWork/Article + FAQPage + BreadcrumbList + WebApplication mention | Strongest AI citation page for no-upload explanation |

## 7. GEO / AEO block plan

Every P0 page should include these reusable blocks with route-specific wording:

1. Short answer block: 40–70 words, visible near top.
2. “Best settings” table: target size, resolution, quality, expected tradeoff.
3. “What happens in your browser” privacy block.
4. “If compression misses the target” troubleshooting list.
5. FAQ with direct answers, not marketing paragraphs.
6. Compatibility caveat: desktop Chrome/Edge best; Safari/iPhone/mobile caveat.
7. Last updated line: `Last updated: 2026-06-03` at launch; update after QA browser/file-cap evidence.

Suggested citation-ready facts:

- “P0 output is MP4/H.264 + AAC first.”
- “Default workflow processes locally in supported browsers; no upload by default.”
- “Target-size compression can miss the exact target depending on source video, duration, codec, and selected quality.”
- “For smaller output, lower resolution before making extreme quality cuts.”
- “Large video compression depends on device memory and browser support.”

## 8. Internal linking plan

Homepage:

- Links to all P0 pages in visible preset/use-case section.
- Footer links to `/privacy-video-compressor`, `/privacy`, `/terms`.

Format/platform pages:

- Top body link back to `/` using “online video compressor”.
- Contextual link to `/privacy-video-compressor` using “no-upload video compressor”.
- Platform pages cross-link only when helpful: Discord ↔ MP4; WhatsApp ↔ MP4; Instagram ↔ MP4 and privacy.

Privacy page:

- Links back to the homepage tool.
- Links to `/mp4-compressor` and platform pages as examples of local workflow.

Anchor rules:

- Use descriptive anchors: “compress MP4 videos”, “compress video for Discord”, “private video compressor”.
- Do not use “click here”.
- Do not overlink every keyword occurrence; 3–6 internal contextual links per page is enough.

## 9. Technical SEO gate for downstream frontend

Before deploy, add `seo:audit` and make deploy chain run:

`npm run build && npm run seo:audit && deploy`

Audit must fail deployment if any P0 indexable page violates:

- status 200 route exists.
- one self-referencing canonical.
- no `noindex` on P0 pages.
- unique title 40–60 chars.
- meta description unique, 70–160 chars, recommended 140–160.
- exactly one H1.
- H2 >= 3 and H3 >= 2 for P0 pages.
- body text >= 800 words for P0 indexable SEO pages.
- primary/synonym density roughly 2.5–3.6%; if lower, waiver with reason and semantic alternatives.
- all non-decorative images have non-empty alt.
- `og:title`, `og:description`, `og:url`, `twitter:card` present.
- `robots.txt` exists and does not block core resources.
- `sitemap.xml` contains all P0 indexable pages and excludes noindex/placeholder pages.
- JSON-LD validates and does not include unsupported claims.
- forbidden copy scanner passes across HTML/meta/schema/alt.

## 10. IP / brand / compliance constraints for SEO templates

1. Platform names are allowed for compatibility and use-case description only.
2. Add visible disclaimers on Discord/WhatsApp/Instagram pages: not affiliated, endorsed, or sponsored.
3. Do not use platform logos unless license/brand guideline approval is confirmed; plain text names are safer.
4. Do not claim official limits unless sourced and date-qualified. For Instagram, avoid exact universal MB limits.
5. Privacy claims must be implementation-backed; if any server upload mode appears later, split copy clearly by mode.
6. Analytics must not collect filename, local path, media content, thumbnail, or raw metadata.
7. If output target is missed, UI and copy must not imply success.
8. If ffmpeg.wasm/WebCodecs limitations are discovered, SEO copy must be updated before launch.

## 11. Next inputs for downstream agents

### For 墨笔 / Copy

Produce SEO-Copy Freeze final copy blocks for the six P0 pages using section outlines above. Each block must mark placement:

- `above_fold`
- `visible`
- `collapsible`
- `child_page`

Need final copy for:

- Hero headline/subhead.
- Short answer block.
- Best settings table.
- How it works.
- Browser support/limits.
- FAQ answers.
- Platform disclaimers.

### For 墨影 / Design

Design must produce content-fit matrix for all six P0 pages. It cannot silently remove SEO copy. Required states:

- empty
- file selected
- unsupported file
- ready
- processing
- success
- target missed
- failed
- mobile warning

### For 墨界 / Frontend

Need technical spike result before final SEO copy locks file-cap numbers:

- WebCodecs-only vs WebCodecs + ffmpeg.wasm fallback.
- MP4 muxing library.
- Tested browser matrix.
- Tested input size/duration/resolution caps.
- Whether target-size algorithm can reliably hit Discord 10MB / WhatsApp 16MB / Email 25MB.
- Network proof that default local mode does not upload media.

### For 墨测 / QA

QA must run real browser tasks, not just DOM/metadata checks:

- Desktop Chrome/Edge: compress one representative MP4/H.264 and download playable output.
- Mobile viewport 390/430px: file picker/preset/error copy usable.
- Network inspection: no media upload in default local mode.
- Target missed path: actual size and retry guidance visible.
- Unsupported file path: actionable reason shown.
- SEO audit: all P0 pages pass technical/content/schema gates.

## 12. Metadata

```json
{
  "project_slug": "videocompressor",
  "domain": "videocompressor.online",
  "seo_verdict": "Conditional Go",
  "primary_keyword": "video compressor",
  "route_matrix": [
    {"path":"/","priority":"P0","index_policy":"index","primary_keyword":"video compressor","target_words":"900-1300","schema":["WebApplication","FAQPage","WebSite"]},
    {"path":"/mp4-compressor","priority":"P0","index_policy":"index","primary_keyword":"mp4 compressor","target_words":"850-1150","schema":["WebApplication","FAQPage","BreadcrumbList"]},
    {"path":"/compress-video-for-discord","priority":"P0","index_policy":"index","primary_keyword":"compress video for Discord","preset":"10MB","target_words":"850-1150","schema":["WebApplication","FAQPage","BreadcrumbList"]},
    {"path":"/compress-video-for-whatsapp","priority":"P0","index_policy":"index","primary_keyword":"compress video for WhatsApp","preset":"16MB","target_words":"800-1050","schema":["WebApplication","FAQPage","BreadcrumbList"]},
    {"path":"/compress-video-for-instagram","priority":"P0","index_policy":"index","primary_keyword":"compress video for Instagram","preset":"1080p/balanced guidance","target_words":"850-1100","schema":["WebApplication","FAQPage","BreadcrumbList"]},
    {"path":"/privacy-video-compressor","priority":"P0","index_policy":"index","primary_keyword":"no upload video compressor","target_words":"850-1150","schema":["CreativeWork","FAQPage","BreadcrumbList"]}
  ],
  "competitor_baseline": ["FreeConvert","VEED","Clideo","Rotato Tools","Kommodo","8mb.video","Autocompressor","InVideo","Adobe Express"],
  "schema_plan": ["WebSite","WebApplication/SoftwareApplication","FAQPage","BreadcrumbList","CreativeWork for privacy explainer"],
  "next_inputs": ["SEO-Copy Freeze final copy blocks from copy owner","Design content-fit matrix for six P0 pages and tool states","Frontend WebCodecs/ffmpeg.wasm spike and tested file caps","QA real-browser compression and no-upload network proof"],
  "artifact_paths": ["/root/.hermes/reports/site-videocompressor-20260603/seo-matrix-v0.md"]
}
```
