chore: baseline import

This commit is contained in:
Codex
2026-04-23 01:08:18 +08:00
commit c8ddfdf660
260 changed files with 117643 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# Seed Data Policy
## Purpose
Define how example content (text, images, product specs) is sourced when populating the new site for design review, CMS onboarding, and staging environments.
## Core Rule
Seed data should be scraped from the existing Eversolo website and used as the default example content wherever possible.
Legacy sources:
- https://www.eversolo.com/Index/index/l/en-us.html
- https://www.eversolo.com/Index/index/l/zh-cn.html
This applies to product imagery, product copy, specifications, support content, news, awards, and dealer lists.
Do not generate placeholder marketing copy, do not use stock photography, and do not invent product values when a legitimate source exists on the current site.
## Scope
Seed data covers everything used for pre-launch environments:
- Homepage sample content
- Featured products
- Full product detail pages (all 14 current models)
- Downloads (firmware, manuals)
- FAQ entries
- Warranty and Contact text
- About page
- News and reviews
- Dealer list
## Sourcing Priority
1. Current Eversolo website (EN and ZH, per locale)
2. Official product packaging / datasheets already published by the brand
3. Previously approved press releases
4. CMS-authored fresh content (only when the above are unavailable)
## What to Import per Product
For every product already present on the legacy site, import:
- Model name
- English and Chinese descriptive copy
- Hero image and gallery images
- Key feature list
- Specifications table
- Firmware downloads (if listed)
- Manuals (if listed)
## What to Import per Page
- Support page copy
- Warranty policy text
- Contact information and regional entries
- About / brand story
- News articles
- Awards and review quotes
- Dealer information by region
## Image Handling
- Pull images at the highest resolution available on the legacy pages.
- Preserve original aspect ratios; do not up-scale.
- Convert to AVIF/WebP at ingest time.
- Re-crop into the new design system aspect ratios on CMS upload, not during scraping.
- Keep the original file name or model identifier in the asset metadata so provenance is traceable.
## Copy Handling
- Preserve the original English and Chinese versions separately. They are not translations of each other on the legacy site and should be stored as independent locale content.
- Light copy-editing is allowed to match the new tone of voice, but the factual content must stay intact.
- Do not fabricate specs, awards, or review quotes. If a value is missing, leave the field blank rather than guessing.
## Storage
- Imported assets go into the `media`, `videos`, and `files` upload collections.
- Structured fields (specs, downloads, FAQ) are written into their respective collections.
- Seed content is marked with an internal tag `source: legacy-site` for traceability.
## Seed Workflow
1. Crawl the legacy site with a scoped scraper (no PII, no admin pages).
2. Normalize structured data (specs, downloads, FAQ) into the new schema shapes.
3. Upload media into Payload, preserving origin metadata.
4. Create CMS entries in both locales for products and globals.
5. Mark all seed entries as `status: draft` until editorial review.
6. Editorial team reviews, refines, and promotes entries to `published`.
## Legal / IP
- All imported assets are Eversolo's own property; use is permitted.
- Third-party review quotes and media logos must be verified for reuse rights before going live.
- Amazon, JD, Tmall, and shop logos are not imported into the site's own media library.
## Staging vs Production
- Staging: seed data is fine; mark clearly in the environment banner.
- Production: no raw seed imports; every product and page must pass editorial review before going live.
## Refresh
- Seed data is a one-time import for bootstrap, not an ongoing sync.
- Future updates to product content happen in CMS, not in the scraper.
- The scraper can be re-run if the legacy site is still live during a window when content is being continuously updated.
## Open Items
- Whether the scraper should be committed to the repo or kept as a one-off tool.
- Whether to snapshot the legacy site as archived HTML for reference during editorial review.
- Whether to scrape dealer lists in full or only a representative sample for seed.