Files
2026-04-29 14:23:00 +08:00

114 lines
4.6 KiB
Markdown

# Redirect Map
## Purpose
Preserve SEO and inbound links from the legacy site by mapping every known legacy path to its closest new destination. Redirects are 301 (permanent) unless noted otherwise.
Legacy domains:
- https://www.eversolo.com/Index/index/l/en-us.html (English entry)
- https://www.eversolo.com/Index/index/l/zh-cn.html (Chinese entry)
## New URL Shape
- English: `/en/...`
- Chinese: `/zh/...`
- Product detail: `/en/products/<slug>` or `/zh/products/<slug>`
## Locale Entry Points
| Legacy | New | Code |
|---|---|---|
| `/Index/index/l/en-us.html` | `/en` | 301 |
| `/Index/index/l/zh-cn.html` | `/zh` | 301 |
| `/` | Locale negotiation, then redirect to `/en` or `/zh` | 302 on first visit, 301 after resolution |
## Header / Top Nav Links
| Legacy | New | Code |
|---|---|---|
| `/Product/allProduct.html` | `/{locale}/products` | 301 |
| `/Support/support.html` | `/{locale}/support` | 301 |
| `/Support/downloads.html` | `/{locale}/support/downloads` | 301 |
| `/About/index.html` | `/{locale}/about` | 301 |
### APP Link (No Redirect)
The new site's header includes an APP entry that links directly to the existing static page:
- https://www.eversolo.com/controlapp/index.html
This page is kept as-is for now and opens in a new tab. It is intentionally excluded from the 301 map.
### Category Anchors (English)
| Legacy | New | Code |
|---|---|---|
| `/Product/allProduct.html#DMP Streamer` | `/en/products?category=dmp-streamer` | 301 |
| `/Product/allProduct.html#Audio Power Amplifier` | `/en/products?category=amplifier` | 301 |
| `/Product/allProduct.html#Streaming Transport` | `/en/products?category=streaming-transport` | 301 |
| `/Product/allProduct.html#play series` | `/en/products?category=play` | 301 |
| `/Product/allProduct.html#D/A Converter` | `/en/products?category=dac` | 301 |
| `/Product/allProduct.html#Accessories` | `/en/products?category=accessories` | 301 |
| `/Product/allProduct.html#Speakers` | `/en/products?category=speakers` | 301 |
### Category Anchors (Chinese)
| Legacy | New | Code |
|---|---|---|
| `/Product/allProduct.html#DMP数播系列` | `/zh/products?category=dmp-streamer` | 301 |
## Product Detail Links
Legacy product URL shape:
`/Product/index/model/<MODEL>/target/<HASH>.html`
The `<HASH>` segment is an encoded target identifier and will not be preserved. Matching is done by the `<MODEL>` portion of the URL.
Pattern rule:
```
^/Product/index/model/<MODEL>/target/[^/]+\.html$
→ /{locale}/products/<slug-for-MODEL>
```
Locale is inferred from the user's current site locale, not from the legacy URL (legacy URLs were not locale-scoped at the product level).
### Current Product Model → New Slug Table
| Legacy Model | New Slug |
|---|---|
| `DMP-A6 Gen 2` | `dmp-a6-gen-2` |
| `DMP-A6 Master Gen 2` | `dmp-a6-master-gen-2` |
| `DMP-A8` | `dmp-a8` |
| `DMP-A10` | `dmp-a10` |
| `AMP-F2` | `amp-f2` |
| `AMP-F10` | `amp-f10` |
| `T8` | `t8` |
| `play` | `play` |
| `DAC-Z8` | `dac-z8` |
| `DAC-Z6` | `dac-z6` |
| `DAC-Z10` | `dac-z10` |
| `EM-01` | `em-01` |
| `V16` | `v16` |
| `SE100` | `se100` |
| `topic-page` (evotune) | `/{locale}/about#evotune` or `/{locale}/technology/evotune` TBD |
## Footer / Secondary Links
| Legacy | New | Code |
|---|---|---|
| `/Support/tutorial.html` | `/{locale}/support/tutorial` | 301, managed in CMS Redirects |
| `/Support/tutorial/target/<HASH>.html` | `/{locale}/support/tutorial` | 301, managed in CMS Redirects |
| `/Contact/afterservice.html` | `/{locale}/support/warranty` | 301 |
| `/Contact/distributor.html` | `/{locale}/where-to-buy` | 301 |
| `/Contact/oem.html` | `/{locale}/support/contact` | 301 |
## External Links (No Redirect Needed)
These exist on the legacy site but point off-domain; do not rewrite:
- https://forum.zidoo.tv/
- https://www.amazon.com/s?me=A106C4E62WS2GQ
- https://www.amazon.fr/s?me=A2P5APR8ML3ORO
- https://shop.zidoo.tv/
- https://eversolo.jd.com/
- https://aisuoluo.tmall.com/
- http://blog.eversolo.com/
## Implementation Notes
- Redirects are enforced at the hosting edge (Vercel / Cloudflare) first, with `next.config.js` `redirects()` as a secondary layer.
- Pattern-based redirects (product detail) use a regex matcher on `/Product/index/model/:model/target/:hash.html`.
- A post-launch 404 monitor should be active for at least 60 days to catch any legacy paths not in this map.
- All 301 rules must preserve query strings when possible.
## Open Items
- Confirm Chinese-language category anchor strings (only `#DMP数播系列` is currently captured).
- Confirm what happens to `evotune` / `topic-page`; may need a standalone Technology page.
- Full legacy inventory should be pulled from sitemap and server logs before launch to catch long-tail URLs.