### Sitemap + robots.txt - Do NOT ship public/sitemap.xml or public/robots.txt (nginx proxies both to Meshkee API). - Publish GET /meshkee/sitemap-config.json generated at build time from app routes. - Include public static routes automatically; exclude auth/checkout/cart/admin paths. - Canonical detail URLs (Meshkee defaults — omit templates unless customized): - Product: /products/{id}/{nameFaSlug} → GET /tenants/{domain}/products/by-id/{id} - Blog: /blog/{id}/{titleSlug} → GET /tenants/{domain}/blogs/by-id/{id} - Portfolio: /portfolios/{id}/{titleFaSlug} → GET /tenants/{domain}/portfolios/by-id/{id} - Slugify: Farsi letters kept, spaces → -, strip other punctuation. Do not use legacy DB slug in public URLs. - After deploy: business dashboard → Website → Settings → Sync sitemap config (optional for CMS URLs; needed for static pages). ### On-page SEO (every public page) - Unique