Commit Graph

8 Commits

Author SHA1 Message Date
egecankomur d49c9aa225 feat: SEO altyapısı + admin editör/favicon/menü düzeltmeleri
Admin & site:
- @tailwindcss/typography ekle → editör ve yayın içeriği prose stilleriyle düzgün render
- Favicon: logo.png'den kare app/icon.png + apple-icon.png, varsayılan favicon.ico kaldırıldı
- SEO keyword: seo_settings.default_keywords + seo_pages.keywords + buildMetadata birleştirme
- Menü düzeni admin'den yönetilebilir (site_settings.nav_items, /admin/menu, header & mobile-menu refactor)

SEO:
- app/sitemap.ts (statik + blog/hizmet/çözüm/proje/sektör dinamik)
- app/robots.ts (sitemap ref + /admin,/api disallow)
- app/llms.txt/route.ts (AI/LLM rehberi)
- BlogPosting/Service/FAQ/Article JSON-LD wire (json-ld bileşenleri bağlandı)
- buildMetadata: blog/proje OG görseli + type article + keywords birleştirme düzeltmesi
- blog tags → keyword
2026-06-04 07:15:18 +03:00
Ege Can Komur 1813b96f82 feat: WP'den ekip seed et (Egecan + Emre) + TeamGrid WP stiline
WP page-hakkimizda.php'de 2 kurucu vardı, atlamışım:

1) team_members'a 'skills' (string array) alanı eklendi

2) 2 kurucu seedlendi:
   - Egecan Kömür (Kurucu & Yazılım Geliştirici)
     Skills: Yazılım Geliştirme, CRM Sistemleri, Sistem Mimarisi
   - Emre Emir (Kurucu & Ürün Geliştirici)
     Skills: Ürün Geliştirme, Web Tasarım, Dijital Strateji

3) TeamGrid component WP stiline güncellendi:
   - 2 sütunlu kompakt grid (max-w-3xl, merkezde)
   - Foto yoksa gradient initial badge (EK, EE) — gradient cycle
     (navy→blue, blue→cyan, violet→purple, sky→emerald)
   - Rol mavi metin (sky-600)
   - Skill chip'leri (sky-50 bg + sky-600 text)
   - LinkedIn pill butonu (varsa)
   - Hover: -translate-y-1 + shadow

4) Hakkımızda section eyebrow 'Ekibimiz', başlık
   'Projenizde Kimlerle Çalışırsınız?' — WP'deki birebir

5) Admin form'una skills field eklendi (virgülle ayrılmış)

Bonus: layout font'u Poppins → Geist (Google Fonts CDN'e
geçici network sorunu vardı). --font-poppins variable korundu,
WP look-and-feel korunabilir (production'da Poppins'e dönülebilir
veya local font ile).
2026-05-20 19:47:30 +03:00
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