# AI Editor RSP Hero Optimization — SEO Pre-Recheck Constraints

- project_slug: aieditorrsp
- production_url: https://aieditorrsp.net
- repo: /root/projects/aieditorrsp
- screenshot: /root/.hermes/image_cache/img_f1c401f16193.jpg
- role: 墨引 SEO/GEO Recheck
- task_id: t_48780c5d
- generated_at: 2026-06-03
- verdict: SEO_CONDITIONAL_GO

## 1. 判定

SEO_CONDITIONAL_GO。

前端可以进入首屏视觉优化，但只能在不破坏现有 SEO/GEO/AEO 合同的前提下改布局。当前本地 SEO audit 通过，生产页 metadata / H1 / JSON-LD / sitemap / robots 基线可用；本次优化的主要风险不是索引基础设施，而是首屏重排时误删 H1、首段语义、SeoExpansion、JSON-LD 或把付费/额度文案继续暴露在首屏造成合规与 snippet 语义噪音。

## 2. 已跑检查

| Check | Result | Evidence |
|---|---:|---|
| input brief | PASS | 读取 `/root/.hermes/reports/aieditorrsp-hero-optimization-20260603/input-brief.md` |
| repo baseline | PASS | `/root/projects/aieditorrsp`, branch `main`, HEAD `ce2f183 fix: unify public pages and functional library` |
| local SEO audit | PASS | `npm run seo:audit` 返回 `ok: true`, `failures: []` |
| home content floor | PASS | `/` word_count=1285, semantic_density_pct=12.14, img_missing_alt=0 |
| core SEO matrix | PASS | `/ai-photo-prompt-editor` 1162 words; `/chatgpt-photo-editing-prompts` 1181; `/ai-photo-editing-prompts` 977; `/prompt-library` 1344; all no failures |
| production home HTTP | PASS | `curl https://aieditorrsp.net/` HTTP 200, bytes=59796 |
| production title | PASS | `AI Image Editor With Prompt Templates | AI RSP` |
| production meta description | WARN | length=125。Google 可接受 70-160，但做站推荐硬阈值 140-160；本次首屏优化不得进一步削弱描述语义，后续 final SEO recheck 建议补到 140+ |
| production canonical | PASS | `https://aieditorrsp.net/` |
| production H1 | PASS | H1 count=1; contains `AI Image Editor With Prompt Templates` |
| production JSON-LD | PASS | 3 scripts: WebApplication, FAQPage, BreadcrumbList |
| production OG/Twitter | PASS | `og:url` present; `twitter:card` present |
| production sitemap | PASS | `/sitemap.xml` HTTP 200, includes home/core routes |
| production robots | PASS | `/robots.txt` HTTP 200, allows `/`, sitemap declared |
| screenshot visual SEO read | WARN | 首屏 H1/intro visible，但右侧 console 过长，IDLE/Account/Credit 区域进入首屏裁切，干扰核心 intent |

## 3. 当前首屏 SEO/GEO 基线必须保留

Source locations:

- `src/app/page.tsx:4` imports `makeSeoMetadata`, `SeoExpansion`, `SeoJsonLd`
- `src/app/page.tsx:6` exports `metadata = makeSeoMetadata("/")`
- `src/app/page.tsx:10` renders `<SeoJsonLd route="/" />`
- `src/app/page.tsx:15` H1: `AI Image Editor With Prompt Templates`
- `src/app/page.tsx:16` intro copy covers upload/source photo, reusable style prompt, capped preview edit, portraits/products/social assets, prompt control
- `src/app/page.tsx:48` renders `<SeoExpansion route="/" />`
- `src/lib/seo-data.json:2-48` defines home primary keyword, semantic terms, title, description, canonical, expected schema, sections, FAQ
- `src/app/sitemap.ts:2` includes `/`, `/ai-photo-prompt-editor`, `/chatgpt-photo-editing-prompts`, `/ai-photo-editing-prompts`, `/prompt-library`, pricing/legal/contact
- `src/app/robots.ts:2` allows `/` and declares sitemap

Hard retain list:

1. Do not remove or rename `makeSeoMetadata("/")`.
2. Do not remove `<SeoJsonLd route="/" />`.
3. Do not remove `<SeoExpansion route="/" />` or hide it from crawlers.
4. Do not add `noindex`, blocked robots rules, client-only rendering for main copy, or non-self canonical.
5. Keep exactly one visible H1 on `/`.
6. Keep H1 semantic coverage: `AI Image Editor` + `Prompt Templates` / prompt-based image editing intent.
7. Keep above-fold intro coverage: upload a photo/source image, reusable style prompt/templates, portraits/product shots/social assets, prompt control.
8. Keep internal links to `/prompt-library` and editor anchor `#editor` reachable.
9. Keep WebApplication + FAQPage + BreadcrumbList JSON-LD on home.
10. Keep OG/Twitter title/description/url/image via metadata helper.

## 4. Screenshot findings relevant to SEO/GEO

Visible from provided screenshot:

- Header: logo `AI Editor RSP`; nav `Editor`, `Library`, `Templates`, `Pricing`; actions `Sign in`, `Get Started`.
- H1: `AI Image Editor With Prompt Templates`.
- Intro: `Upload a photo, choose a reusable style prompt, and run a capped preview edit from the first screen. Built for portraits, product shots, and social assets that need precise prompt control.`
- CTA: `Start Editing`, `View Templates`; editor CTA `Generate Edit`.
- Right panel visible modules: upload source image, prompt textarea, four style cards, free quota pill, generate button, then IDLE/state/account area cut off.

SEO/GEO risk:

- 首屏右侧过重会让用户和 screenshot/AI scraper 读取到 `2 free generations left today`, `IDLE`, `Account Credits`, checkout/sign-in 这类非核心 token，稀释 `AI image editor with prompt` 的首屏语义。
- 被裁断的 Account/Credit 区可能被理解成付费/额度承诺，而不是工具主任务；这会影响 snippet trust 和合规一致性。
- 如果前端为了缩短右栏直接删除 H1/intro 或把主 copy 变为图片/Canvas，会损害 crawlable answer-first 内容。

## 5. 给前端的修改约束

### P0 — 不能破坏 SEO contract

- Home page component must still render:
  - `export const metadata = makeSeoMetadata("/")`
  - `<SeoJsonLd route="/" />`
  - one `<h1>AI Image Editor With Prompt Templates</h1>` or same semantic equivalent containing `AI Image Editor` and `Prompt Templates`
  - visible intro paragraph with upload + reusable style prompt + portraits/products/social assets + prompt control semantics
  - `<SeoExpansion route="/" />`
- Do not move core H1/intro into client-only state, lazy-only component, hidden text, CSS background image, or decorative SVG text.
- Do not remove `alt` from `/stitch-assets/stitch-14.jpg` or generated preview image.
- Do not change home canonical from `https://aieditorrsp.net/`.
- Do not remove home from sitemap.
- Do not add `overflow:hidden` or layout clipping that hides/cuts the H1, intro, or primary CTA at 1366x768.

### P0 — 首屏视觉优化必须降低 SEO/compliance 噪音

- On `surface="home"`, remove or fold below first-screen:
  - full idle/result `statePanel`
  - `<CreditAccountPanel compact />`
  - Pro monthly / yearly / credit pack buttons
  - Login with Google checkout prompt
  - hard-coded `2 free generations left today`
- Home hero should show only one task flow: upload source image → describe/edit prompt → choose style prompt → Generate edit.
- If quota text remains, make it dynamic or generic and non-promissory, e.g. `Free previews may be limited by account and provider availability`; avoid exact quota unless sourced from `/api/credits` at render/state time.
- Avoid `HD_MODE`, `SYSTEM READY`, `STUDIO_CONSOLE_V01`, `TOKENS` dominating above-fold visual hierarchy. These can stay as small decorative UI if they do not crowd the main task and do not displace keyword copy.

### P1 — Layout constraints that protect SEO UX signals

- Desktop 1366x768 / 1440x900 / 1280x800:
  - right console top optically aligns with H1 top, not vertically centered against an oversized panel.
  - `Generate edit` visible without scroll.
  - no Account/Credit/Idle block visible in first screen.
  - no right panel bottom clipping.
- Use a height cap for hero console (`max-height` or compact composition) instead of letting state/account panels expand the hero.
- Consider `align-items:start` or a constrained top-aligned grid for `.studio-hero--tool`; current `align-items:center` plus over-tall right console causes left hero copy to sink.
- Template cards may reduce from 4 wide dense cards to compact tabs/chips/2x2 cards if needed. Keep labels `Editorial`, `Product Shot`, `Social Visual`, `Cyberpunk` because they support use-case semantics, but descriptions can be shorter.
- Upload/prompt blocks can reduce min-height, as long as labels remain readable and accessible.

### P1 — Content/metadata constraints

- If H1 changes, allowed variants:
  - `AI Image Editor With Prompt Templates`
  - `AI Image Editor With Reusable Prompt Templates`
  - `Prompt-Based AI Image Editor With Templates`
- Not allowed H1 variants:
  - `Studio Console V01`
  - `AI Editor RSP`
  - `Start Editing`
  - purely brand or UI-status H1 that drops `AI Image Editor` / `Prompt Templates`.
- Keep first paragraph length roughly 25-45 words and visible above fold.
- Keep CTA anchor text descriptive: `Start Editing`, `View Templates`, `Generate Edit` are acceptable. Avoid only `Go`, `Run`, `Click here`.
- Do not add exact quota, live billing, high-resolution export, or checkout claims unless provider/Stripe/DB/login have production evidence and compliance has cleared the language.

## 6. Final SEO recheck checklist after frontend implementation

Run these after mojie implementation/deploy:

1. `git diff -- src/app/page.tsx src/components/ProductPreviewEditor.tsx src/app/globals.css src/lib/seo-data.json src/lib/seoHelpers.tsx src/app/sitemap.ts src/app/robots.ts`
2. `npm run seo:audit`
3. Production smoke:
   - `curl -LsS https://aieditorrsp.net/ -o /tmp/aieditorrsp_home.html -w 'home_http=%{http_code} bytes=%{size_download}\n'`
   - verify title, meta description, canonical, H1 count, JSON-LD types, OG/Twitter meta
   - `curl -LsS https://aieditorrsp.net/sitemap.xml`
   - `curl -LsS https://aieditorrsp.net/robots.txt`
4. Browser visual checks at:
   - 1366x768
   - 1440x900
   - 1280x800
   - 390x844
   - 430x932
5. Screenshot acceptance:
   - H1 and intro visible, not pushed below fold.
   - Generate button visible on desktop first screen.
   - Account/Credit/checkout/idling state not in hero first screen.
   - no horizontal scroll on mobile.
6. Structured data validation:
   - home has WebApplication, FAQPage, BreadcrumbList.
   - no schema claims paid features or high-resolution exports unless production-verified.
7. Content quality regression:
   - home word_count remains >=800.
   - semantic keyword coverage remains >=2.5% in audit.
   - all img alt non-empty.
8. Metadata regression:
   - title unique and accurate.
   - meta description should ideally be raised from current 125 chars to 140-160 chars in a later SEO/content pass; not required for this hero-only implementation if unchanged.

## 7. Residual risk

- Current production meta description length is 125, below the stricter 140-160 recommendation used in做站验收；not a blocker for hero layout work, but keep as P1 final SEO follow-up.
- Current home UI still exposes hard-coded quota text and state/account area in the first-screen composition; this is the exact optimization target and remains a blocker until frontend rework.
- If frontend removes `statePanel` from home, ensure non-home `surface="prompt-editor"` still keeps result/status feedback for real generation flow.
- If `CreditAccountPanel` is moved out of hero, pricing page can still use it; do not delete globally without product/compliance approval.

## 8. Next inputs for downstream

- next_assignee: mojie
- required_input_files:
  - `/root/.hermes/reports/aieditorrsp-hero-optimization-20260603/input-brief.md`
  - `/root/.hermes/reports/aieditorrsp-hero-optimization-20260603/seo-recheck-pre.md`
  - `/root/.hermes/image_cache/img_f1c401f16193.jpg`
- must_respect_upstream:
  - Design: DESIGN_NO_GO until right console height/state/account issues fixed
  - Product: PM_NO_GO until first-screen task flow is simplified
  - SEO: SEO_CONDITIONAL_GO for implementation if constraints above are preserved

## 9. Machine-readable handoff

```json
{
  "project_slug": "aieditorrsp",
  "verdict": "SEO_CONDITIONAL_GO",
  "primary_keyword": "AI image editor with prompt",
  "artifact_paths": [
    "/root/.hermes/reports/aieditorrsp-hero-optimization-20260603/seo-recheck-pre.md"
  ],
  "checks_run": [
    "read input brief",
    "vision review of provided hero screenshot",
    "repo source inspection for home metadata/H1/JSON-LD/SeoExpansion/sitemap/robots",
    "npm run seo:audit",
    "production curl smoke for home",
    "production sitemap.xml smoke",
    "production robots.txt smoke",
    "production JSON-LD/OG/Twitter/H1 checks"
  ],
  "residual_risk": [
    "current production meta description is 125 chars, below stricter 140-160 recommendation",
    "current hero still exposes hard-coded quota and state/account area in first-screen visual composition",
    "implementation must not delete SeoExpansion or move main copy to client-only/hidden rendering"
  ],
  "next_inputs": [
    "frontend implementation must preserve SEO contract and simplify hero task flow",
    "final SEO recheck must rerun npm run seo:audit and production visual/metadata checks after deploy"
  ],
  "next_assignee": "mojie"
}
```
