# YedekParcaHatti — Kurulum ve Kullanım

Ürün listesi ve arama kutusu olmayan, **tık odaklı** oto yedek parça sitesi: ziyaretçi tek dokunuşla
**telefonla arar** (büyük düğme) ya da **WhatsApp'tan yazar** (küçük düğme). Yazılar, numaralar ve Google Ads
ayarları `/yonetim` panelinden yönetilir; kim girdi, nereden geldi, hangi düğmeye bastı — hepsi panelde.
Sitede marka adı kullanılmaz (Google Ads ticari marka politikasıyla sorun çıkmasın diye); ziyaretçi
marka ve modeli telefonda söyler ya da WhatsApp mesajına kendisi yazar.

## 1. Yerelde çalıştırma

```
npm install
npm start
```

Site: http://localhost:8162 — Panel: http://localhost:8162/yonetim (admin / admin123)

Port `PORT` ortam değişkeninden okunur (Hostinger bunu kendisi verir).

## 2. Hostinger'a (ya da herhangi bir Node.js hostinge) kurulum

1. hPanel → Web Siteleri → **Node.js** web uygulaması oluştur (Node 20/22; 18–24 arası çalışır).
2. Zip'i uygulama köküne yükleyip çıkart (`server.js`, `package.json`, `lib/`, `views/`, `public/`
   doğrudan kökte olmalı).
3. Başlatma komutu: `npm start` · Build komutu: boş. Hostinger `npm install`'ı kendisi çalıştırır;
   çalıştırmazsa terminalden `npm install --omit=dev`.
4. Alan adını bağla, uygulamayı başlat. İlk açılışta `data/` klasörü (ayarlar, admin hesabı, gizli anahtar,
   ziyaret günlüğü) otomatik oluşur.
5. Cloudflare turuncu bulut kullanıyorsan ortam değişkeni: `TRUST_CF=1` (`TRUST_PROXY` 1 kalsın).
   Kullanmıyorsan hiçbir şey ekleme.

> `data/` senin verindir (ayarlar + istatistikler). Güncelleme yüklerken bu klasörü silme, yedeğini al.

## 3. İlk giriş — mutlaka yap

1. `/yonetim` → `admin` / `admin123` (ilk girişte doğrudan Hesap sayfasına düşersin).
2. **Hesap** → şifreni değiştir (en az 8 karakter). Varsayılan şifreyle girildiği sürece panelin her
   sayfasında kırmızı uyarı durur.
3. **Ayarlar → Telefon & WhatsApp** → arama numaranı ve WhatsApp numaranı yaz (`05xx xxx xx xx` yeterli).
   Arama numarası boşsa telefon düğmeleri WhatsApp numarasını arar. Numara girilene kadar panelde turuncu
   uyarı durur ve düğmeler örnek numaraya gider.
4. İstersen **Ayarlar → Site adresi** → `https://alanadin.com` (sitemap için).

## 4. Site nasıl çalışır (dönüşüm mantığı)

- Hero'da büyük **Hemen Ara** düğmesi (numara üstünde yazılı, nabız efektli) ve altında daha küçük
  **WhatsApp'tan Yaz**. İkisi de ekranın ilk karesinde, başparmak hizasında.
- **Alt yapışık çubuk** her zaman görünür: büyük Ara + küçük WhatsApp. Üst bardaki numara pili de arar;
  footer'da büyük numara arar, küçük "WhatsApp" bağlantısı yazar.
- **Parça grubu çipleri** WhatsApp'ı açar; mesaja o parça yazılır ("Merhaba, far yedek parçası hakkında… Araç: / Parça:").
  Panel bunları, parça sayfalarındaki WhatsApp düğmeleriyle birlikte "WhatsApp'ta sorulan konular" olarak sayar.
- Her parça grubunun kendi sayfası vardır (`/kategori/far`, `/kategori/bagaj-kapagi`): başlık ve hazır mesaj
  ona göre değişir; reklamı doğrudan buraya verebilirsin. `sitemap.xml` otomatik.
- Telefon düğmeleri `tel:` ile arama ekranını açar. WhatsApp düğmeleri telefonda uygulamayı doğrudan açar
  (Android Chrome/Samsung'da intent, diğerlerinde ve iOS'ta wa.me); masaüstünde WhatsApp Web yeni sekmede açılır.
- "Hemen Ara" düğmelerini **Ayarlar**'dan kapatırsan WhatsApp düğmesi büyür ve site yalnız WhatsApp'a yönlendirir.

## 5. Panel

| Menü | Ne işe yarar |
|---|---|
| **Panel** | Bugün / 7 gün / 30 gün ziyaret, arama ve WhatsApp tıklaması, dönüşüm oranı, 14 günlük grafik, hangi düğmeye basıldığı, WhatsApp'ta sorulan konular, kaynaklar, cihazlar, son ziyaretler |
| **Ziyaretçiler** | Her ziyaret (aynı kişinin 30 dk içindeki sayfaları tek ziyaret): zaman, gezdiği sayfalar, kaynak (Google Ads / Instagram / direkt…), şehir, cihaz, kalma süresi, bastığı düğme, kaçıncı gelişi (90 güne göre); CSV |
| **Ayarlar** | Numaralar, hazır mesajlar, tüm yazılar, parça grubu listesi, adres, Google etiketi + Ads dönüşümü |
| **Hesap** | Kullanıcı adı / şifre |

- Panelden giriş yaptığın tarayıcı istatistiklere sayılmaz; botlar ve ön izleme araçları sayılmaz.
  Tekil ziyaretçi sayımı tarayıcı çerezine göredir (çerez silinirse kişi yeni sayılır).
- Şifreni unutursan `data/yonetici.json` dosyasını sil ve uygulamayı yeniden başlat → giriş yeniden admin / admin123.
- "Çıkış" ve şifre değişikliği açık tüm panel oturumlarını kapatır.

## 6. Google Ads'i dönüşüme bağlama

1. Google Ads → Hedefler → Dönüşümler → Yeni dönüşüm işlemi → **Web sitesi** → "Potansiyel müşteri",
   elle etiket kurulumu. Sana `AW-XXXXXXXXX`'li bir **gtag kodu** ve bir **dönüşüm etiketi (label)** verir.
2. Panel → Ayarlar → Google Ads / SEO: gtag kodunu (yalnızca "Google etiketi", içinde `gtag('event','conversion'…)`
   geçen olay snippet'ini DEĞİL) **Google etiketi** kutusuna, `AW-…`'yi **Ads dönüşüm ID**'ye,
   label'ı **Ads dönüşüm etiketi**'ne yaz, kaydet.
3. Artık her arama tıklaması ve her WhatsApp tıklaması Ads'e dönüşüm olarak gider; kampanyada bu dönüşümü
   hedef seç ("dönüşümleri en üst düzeye çıkar"). Ads'te ayrıca "arama uzantısı" ekleyip aynı numarayı verebilirsin.
4. Reklam linklerine `?utm_source=google&utm_medium=cpc&utm_campaign=kampanya` ekle (ya da otomatik etiketleme
   açık kalsın, `gclid` zaten gelir) — panel kaynakları doğru ayırır.
5. Parça grubuna özel reklam için açılış sayfası: `https://alanadin.com/kategori/far`.
6. Reklam metinlerinde ve sitede araç markası adı geçirme; "far yedek parça", "tampon yedek parça" gibi genel ifadeler kullan.

## 7. Güvenlik notları

- Şifre scrypt ile saklanır, oturum imzalı çerezdir, panel formlarında CSRF koruması vardır,
  giriş denemesi IP başına 10 dakikada 8 (toplamda 40) ile sınırlıdır.
- Ziyaret / tıklama kayıtları IP başına dakikalık sınırla ve ziyaret başına olay sınırıyla korunur;
  bot trafiği istatistikleri şişirmez. CAPTCHA yoktur. Aylık günlük dosyası 64 MB'ı aşarsa yeni kayıt
  yazılmaz; 180 günden eski günlükler otomatik silinir; istatistik yazılamasa bile site çalışmaya devam eder.
- Kişisel veri: IP adresleri maskelenerek (son hane sıfırlı) tutulur; Ziyaretçiler sayfasındaki şehir bilgisi
  panel tarayıcından ipwho.is servisine (yurt dışı) maskeli IP sorularak bulunur. Sitenin alt notuna kısa bir
  KVKK aydınlatma cümlesi eklemen önerilir (örn. "Site, hizmet kalitesi için maskelenmiş IP ve ziyaret bilgisi tutar.").
- `data/` dışarıdan erişilemez.
