Ege Can Komur
9d74cceb69
fix: ConsentInit'i <head>'den <body>'e taşı (Next.js 16 uyumu)
...
Hata:
> Encountered a script tag while rendering React component.
> Scripts inside React components are never executed when rendering on the client.
Sebep:
Next.js 16 React 19'da next/script'i <head> içine koyamıyoruz. Script'ler
body içinde render edilmeli — Next.js zaten doğru yere yerleştiriyor.
Çözüm:
ConsentInit'i app/layout.tsx içinde <head>'den çıkardık, body'nin
ilk elementi olarak koyduk. beforeInteractive strategy hala çalışıyor
(Next.js doğru sırayı yönetiyor).
2026-05-20 18:49:15 +03:00
Ege Can Komur
4d5186ff0c
feat: kovakyazilim.com WordPress sitesinden tasarım + içerik aktarımı
...
Hostinger SSH + WP-CLI ile mevcut canlı sitedeki tasarım ve içerikler aktarıldı.
Tasarım değişiklikleri:
- Renkler: navy #0F2C5C → #043e8c (deep navy), sky #4DA3C7 → #3b82f6 (bright blue)
- Tailwind blue palette uyumlu, WP kovak temasıyla bire bir
- Font: Geist → Poppins (300/400/500/600/700/800)
- Hero: gradient açık → dark gradient (#0f172a → #1e293b → #334155 )
- Pulse animasyonlu radial glow
- 'Web Tasarım', 'Yazılım', 'Ajansı' kelimelerini blue-400 vurgu
- Stats strip artık hero'nun alt kenarında (4 metrik)
İçerik aktarımı (Appwrite):
site_settings/homepage güncellendi:
- Hero: 'Kocaeli Web Tasarım ve Yazılım Ajansı' + 2015'ten beri tagline
- Stats: 150+ proje / 50+ müşteri / 100% memnuniyet / 24/7 destek
- Services intro: 'İzmit ve Kocaeli Web Tasarım Hizmetlerimiz'
- Projects intro: 'İzmit Web Tasarım Referanslarımız'
- CTA: 'Projeniz İçin Hemen Teklif Alın'
6 referans projesi seed edildi (WP'deki real client listesi):
- Torpido Makina (torpidomakina.com.tr) — Volvo Penta yetkili bayi
- Marjinal Dent (marjinaldent.com) — Diş kliniği
- Abdullah Tosun Mimarlık (abdullahtosun.art) — Mimar portfoyu
- Calibra PPF (calibrappf.com) — Araç kaplama
- Atolye Bastar — Zanaat atölyesi (yakında)
- MarineCRM — Denizcilik CRM (özel yazılım)
6 hizmet description'u WP içerikleriyle güncellendi:
- web-tasarim → 'Profesyonel Web Tasarım İzmit'
- e-ticaret → 'E-Ticaret Sitesi Yapımı'
- mobil-uygulama → 'Mobil Uygulama Geliştirme'
- yazilim-gelistirme → 'Özel Yazılım Geliştirme İzmit'
- seo-dijital-pazarlama → 'SEO Hizmeti Kocaeli'
- dijital-reklam → 'Dijital Pazarlama Kocaeli'
7 sektör/bölge landing sayfası industries tablosuna seed edildi:
- /sektor/kocaeli-web-tasarim
- /sektor/izmit-web-tasarim
- /sektor/gebze-web-tasarim
- /sektor/kocaeli-seo
- /sektor/izmit-seo
- /sektor/kocaeli-yazilim
- /sektor/izmit-web-tasarim-fiyat (paket fiyat tablosu ile)
Her sektör için:
- WP'deki rank_math_description meta'ları SEO desc olarak
- Markdown content + features list + FAQ
- featured + order ayarlı
37 route, build temiz.
Sıradaki adım: WP uploads klasöründen müşteri görsellerini indirip
project image_url'lerini local'e taşıyabilir (şu an Pexels CDN kullanılıyor).
2026-05-20 18:26:05 +03:00
Ege Can Komur
304a344955
feat: KVKK/GDPR uyumlu cookie consent + Google Consent Mode v2
...
Yeni component'ler:
- CookieBanner (sağ alt banner + tam ekran ayarlar modal)
- 'Tümünü kabul', 'Tümünü reddet', 'Ayarları yönet'
- 4 kategori toggle: Zorunlu / Analitik / Reklam / Tercih
- Zorunlu kategori her zaman açık (KVKK)
- localStorage + cookie persistence (12 ay TTL)
- Versionlı (CONSENT_VERSION=1) — şema değişince yeniden sorma
- window.openCookieSettings() global helper (footer/policy sayfasından çağrılabilir)
- ConsentInit (Google Consent Mode v2 default deny)
- beforeInteractive Script ile gtag default deny yüklenir
- User onayladığında banner gtag('consent','update', ...) çağırır
- seo_settings.gtm_id doluysa GTM injection (asenkron)
- CookieSettingsButton (politika sayfasında 'ayarları değiştir')
Yeni sayfa:
- /cerez-politikasi — KVKK uyumlu çerez politikası metni
- 4 kategori detaylı açıklama + örnek çerez isimleri
- KVKK Madde 11 kapsamındaki kullanıcı hakları
- İletişim bilgileri site_settings'ten
Layout entegrasyonu:
- app/layout.tsx — ConsentInit head'e, CookieBanner body sonuna
- Footer'a 'Çerez Politikası' linki
Consent flag mapping (Consent Mode v2):
- Zorunlu → functionality_storage + security_storage (her zaman granted)
- Analitik → analytics_storage
- Reklam → ad_storage + ad_user_data + ad_personalization
- Tercih → personalization_storage
Önemli: Default state 'denied' — kullanıcı seçim yapmadan
hiçbir analytics/ads çerezi tetiklenmez. Google Ads Consent Mode v2 uyumlu.
31 route, public sayfalar static (1m revalidate).
2026-05-20 03:27:02 +03:00
Ege Can Komur
f833d429fc
feat: admin paneli + blog + testimonials + SEO yöneticisi
...
Backend altyapısı:
- 4 yeni Appwrite tablosu: blog_posts, testimonials, seo_pages, seo_settings
- Appwrite Storage bucket: kovak-yazilim-media (görsel yüklemeleri)
- Appwrite Auth ile session cookie tabanlı koruma
Admin paneli (/admin):
- Login akışı (email/password) + protected layout
- Dashboard: sayım kartları + hızlı aksiyonlar
- Blog CRUD: markdown content, kapak görseli, draft/published, SEO alanları
- Services CRUD: lucide ikon seçici
- Projects CRUD: teknoloji etiketleri, live URL
- Testimonials CRUD: puanlama
- SEO yöneticisi: global ayarlar + sayfa bazlı override
- Mesaj inbox: status filtreleme + güncelleme
- Medya kütüphanesi: Appwrite Storage upload/delete
Public:
- /blog ve /blog/[slug] sayfaları (markdown render)
- Anasayfaya Testimonials bölümü
- Tüm public sayfalarda generateMetadata + seo_pages override
- Header'a Blog linki
Route yapısı:
- app/(site)/ — public site, Header/Footer ortak
- app/admin/login — auth dışı
- app/admin/(protected)/ — requireUser() korumalı
23 route üretiliyor, public static, admin dynamic.
2026-05-20 02:13:09 +03:00
Ege Can Komur
3b3efafcc8
Kovak Yazılım kurumsal site — Next.js 16 + Appwrite
...
- Anasayfa, Hizmetler, Projeler, Hakkımızda, İletişim sayfaları
- Header/Footer, Hero, ServicesGrid, ProjectsGrid, ContactForm bileşenleri
- Appwrite TablesDB entegrasyonu (services, projects, contact_messages)
- Server Action ile iletişim formu (submitContact)
- Brand palette: navy #0F2C5C + sky #4DA3C7
- kovakyazilim.com'dan alınan logo public/logo.png
2026-05-20 01:52:27 +03:00
egecankomur
8a3a466087
Initial commit from Create Next App
2026-05-20 01:42:45 +03:00