P1: Kendi Marka Landingleri
DetayVersiyon: 1.1.0
Durum: Kısmen onaylandı (ilk klon başlıyor)
Üst anayasa: CONSTITUTION.md
Kapsam
Bölüm başlığı “Kapsam”| Site | Rol | SEO seviyesi |
|---|---|---|
ygtlabs.ai | Holding / ana şirket | Yüksek |
ygtlabs.com | Kurumsal | Yüksek |
memsidea.com | Web site satışı (sektör bağımsız, TR ağırlıklı) | Yüksek |
tuningwebsite.com | Parent brand landing | Yüksek |
tunerstack.io | ECU sektörü landing (portal hariç) | Yüksek |
Kapsam dışı: portal.tunerstack.io → 06-tunerstack-ecosystem.md
Teknik model (onaylanmış)
Bölüm başlığı “Teknik model (onaylanmış)”Kaynak şablon
Bölüm başlığı “Kaynak şablon”/var/www/vhosts/ecutuningportal.com/httpdocs (Next.js 16, React 19, Prisma, next-intl)Her yeni marka: bu repo’nun klonlanmış varyantı.
İlk klon (onaylı, 2026-06-16)
Bölüm başlığı “İlk klon (onaylı, 2026-06-16)”| Alan | Değer |
|---|---|
| Marka | tuningwebsite.com |
| Kapsam | ETP tam kopya (landing + admin + customer katmanları) |
| Admin | Dahili Next.js /admin (admin.tuningwebsite.com yok) |
| Customer | Zorunlu (satın alma, domain bitiş, fatura, B2B self-service) |
| DB | Ayrı PostgreSQL instance (ETP prod DB’den izole) |
| Ödeme | Aynı Stripe hesabı; tuningwebsite’e özel product/price ID |
| Deploy | Mevcut tuningwebsite.com vhost; önce landing-update.tuningwebsite.com, sonra ana domain |
| Kaynak | ecutuningportal.com/httpdocs |
Faz 1 sıra (onaylı)
Bölüm başlığı “Faz 1 sıra (onaylı)”- tuningwebsite.com
- ygtlabs.ai / ygtlabs.com
- tunerstack.io landing (onaylı)
- memsidea.com (sıra TBD, 4. sırada varsayılan)
Git modeli (onaylı)
Bölüm başlığı “Git modeli (onaylı)”Marka başına ayrı GitHub repo (fork). Mono-repo veya tek env ile çoklu marka kullanılmaz.
Her klon:
- Kendi repo (
tuningwebsite_landing,ygtlabs_landing, …) - Kendi PostgreSQL
- Kendi PM2 process
- Kendi
.envve Stripe product/price ID seti
Klonlama kuralları
Bölüm başlığı “Klonlama kuralları”(landing)route group vecomponents/landing/korunur(admin)ve(customer)katmanları: ilk klon tam kopya; sonraki markalarda sadeleştirilebilirmessages/landing/landing_{locale}.jsonmarkaya özellib/landing/site-config.tsmarka config’i- i18n: default locale root path;
/en/üretilmez - Prisma: sadece landing içerik modelleri (blog, hero, testimonial vb.) veya Hub API’ye geçişte kaldırılır
Deploy
Bölüm başlığı “Deploy”- PM2 ayrı process veya ayrı port per marka
- Nginx reverse proxy per domain
- Cloudflare purge deploy sonrası
İçerik yönetimi
Bölüm başlığı “İçerik yönetimi”Geçiş dönemi: ETP modeli (JSON i18n + Prisma DB hibrit)
Hedef: Site Hub CMS API’den beslenme (04-site-hub-cms.md)
Zorunlu CMS modüller: slider, blog, services, FAQ, contact.
SEO gereksinimleri
Bölüm başlığı “SEO gereksinimleri”- hreflang (marka başına dil seti)
- JSON-LD structured data
- Core Web Vitals hedefleri (LCP < 2.5s)
- Sitemap + robots.txt
lib/architecture/landing-seo-boundaries.test.tsbenzeri guard’lar klonlarda da taşınır
SSR / cache stratejisi
Bölüm başlığı “SSR / cache stratejisi”ETP mevcut yolu devam:
- ISR / on-demand revalidation (Next.js)
- Blog: DB’den fetch, revalidate tag ile yenileme
- Statik marketing bloklar: build-time veya uzun cache
Yeni marka checklist
Bölüm başlığı “Yeni marka checklist”-
httpdocsklonu oluştur -
site-config.tsmarka bilgileri - Landing i18n dosyaları (en + hedef diller)
- Prisma migrate veya Hub API bağlantısı
- PM2 ecosystem entry
- Nginx vhost + SSL
-
admin.{domain}Hub’a site kaydı - E2E smoke (public paths)
- Bu dosyaya site satırı ekle (revizyon)
Revizyon
Bölüm başlığı “Revizyon”| Versiyon | Tarih | Değişiklik |
|---|---|---|
| 1.0.0 | 2026-06-16 | İlk tanım |
| 1.1.0 | 2026-06-16 | tuningwebsite ilk klon, tam ETP kopya onayı |