Polish storefront SEO, specials, and homepage UX.
Publish Meshkee sitemap-config, map product-source specials without variants, restore hero autoplay, and tighten page heroes, product images, and section order. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
parent
11d0ba64ed
commit
24b5649abd
+13
-2
@@ -48,11 +48,12 @@ This site is **catalog-only** (no shopping cart). Login / user icon goes to the
|
||||
| `/about` | About us |
|
||||
| `/contact` | Contact us |
|
||||
| `/meshkee/static-image-slots` | Slot catalog for the dashboard Refresh button |
|
||||
| `/meshkee/sitemap-config.json` | Build-time route manifest for Meshkee sitemap sync |
|
||||
| `/api/search?q=` | Instant product search (`store-items?name=`, min 3 chars) |
|
||||
|
||||
## Homepage order
|
||||
|
||||
`Hero` → `Services` → three product carousels → `CategoryShowcase` → `AboutPreview` → five-banner (2+3) → `BlogCarousel` → `two-banner-row` → `Stats` → `WideBanner` → `Branches`.
|
||||
`Hero` → `Services` → اقلام مصرفی → `CategoryShowcase` → قطعات یخچال → `AboutPreview` → قطعات ماشین لباسشویی → five-banner (2+3) → `BlogCarousel` → `two-banner-row` → `Stats` → `WideBanner` → `Branches`.
|
||||
|
||||
## Homepage carousels (store specials)
|
||||
|
||||
@@ -62,7 +63,9 @@ This site is **catalog-only** (no shopping cart). Login / user icon goes to the
|
||||
2. `refrigrator-parts` — قطعات یخچال
|
||||
3. `washing-machine-parts` — قطعات ماشین لباسشویی
|
||||
|
||||
If a special has no `items`, keep sample products from `lib/data.ts`. Use `variants[0].id` as the product URL.
|
||||
BRB specials use `source: "product"` (items may have empty `variants[]`). Map product fields directly; resolve slug via catalog for detail links. If a special has no `items`, keep sample products from `lib/data.ts`.
|
||||
|
||||
Products list/search: prefer store-items; if empty, fall back to `GET /products` catalog.
|
||||
|
||||
## Catalog
|
||||
|
||||
@@ -89,6 +92,14 @@ If a special has no `items`, keep sample products from `lib/data.ts`. Use `varia
|
||||
|
||||
`url` → img, `linkUrl` → wrap in a link, empty/fail → placeholder. Use `slot.aspectRatio`. If a slot’s size/ratio changes in CSS, update `STATIC_IMAGE_SLOTS` in the same change.
|
||||
|
||||
## SEO
|
||||
|
||||
- Do **not** ship `public/sitemap.xml` or `public/robots.txt` (nginx proxies to Meshkee API).
|
||||
- Build generates `lib/sitemap-config.generated.json` (`npm run generate:sitemap-config` / `prebuild`); served at `GET /meshkee/sitemap-config.json`.
|
||||
- After deploy: business dashboard → Website → Settings → Sync sitemap config.
|
||||
- Templates omitted (defaults `/products/{slug}`, `/blog/{slug}` match this site).
|
||||
- Every public page has unique title/description; product/blog prefer CMS fields.
|
||||
|
||||
## Original business data (do not invent replacements)
|
||||
|
||||
**About:** 30+ years. Sells home appliances, spare parts, and repairs small appliances. Wholesale and retail.
|
||||
|
||||
Reference in New Issue
Block a user