
E-Ticaret Performans İzleme: Uptime, APM ve Hata Takibi
WooCommerce e-ticaret için uptime izleme, açık kaynak APM (Sentry/Glitchtip self-host) ve gerçek kullanıcı izleme (RUM) kurulum rehberi. Kara Cuma senaryolarından öğrenin.
E-Ticaret Performans İzleme: Uptime, APM ve Hata Takibi Rehberi
Kara Cuma gecesi, kampanya sayfanız açılıyor, reklamlar çalışıyor, ziyaretçiler sepete ürün ekliyor — ama ödeme adımında sessiz bir hata var. Siteniz "çalışıyor" görünüyor; ama 50.000 TL'lik satışın %30'u kayıp gidiyor. Fark ettiğinizde yarım saat geçmiş. Önceden bir alarm alsaydınız ne olurdu?
Bu senaryo kurgusal değil. Çözüm: proaktif izleme — sunucu ayaktayken bile uygulama içinde neler döndüğünü görmek. Bu rehberde üç ölçüm katmanı (Uptime + APM + RUM), Buyukweb cPanel dahili araçları, Uptime Kuma, Sentry/Glitchtip self-host, Query Monitor ve alert workflow ele alınıyor.
Buyukweb perspektifi: cPanel hosting paketlerimizde AwStats ve Webalizer dahili, ek maliyet yok. CWV ölçümü için Google PageSpeed Insights ve Search Console yeterli. Uptime izleme harici servis gerektirir (aşağıda açık kaynak kurulum var). APM için enterprise SaaS servislerinin aylık ücreti, küçük-orta WooCommerce sitesi için genellikle fazla; açık kaynak alternatifler çoğu senaryoda yeterli. Ama üretim downtime maliyetinizle kıyaslayın — saatte 10.000 TL kayıp eden bir e-ticaret için aylık 500 TL APM yatırımı makul. Tercih etmeyin: "sunucu ayakta, sorun yok" yanılgısını — sunucu açık olsa da uygulama katmanında sessiz hatalar ciro çalar.
E-Ticaret Downtime Maliyet Hesabı
Aylık GMV ÷ 720 = saatlik kayıp. Örnek: ₺500.000 GMV sitesinde 1 saat kesinti ₺694, kampanya günü 3× çarpanla ₺2.083. Ödeme hatası tam downtime değilse (site açık ama checkout hata veriyor), izleme yoksa saatlerce fark edilmez. Müşteri bir daha denemez.
Üç Ölçüm Katmanı
Tek araç yetmez; üç katman birbirini tamamlar:
| Katman | Soru | Araçlar | Açıkça |
|---|---|---|---|
| Uptime İzleme | Site ayakta mı? | Uptime Kuma (açık kaynak), ticari servisler | HTTP 200, SSL, çözünürlük |
| APM (Application Performance Monitoring) | Uygulama içinde ne yavaş, ne hata veriyor? | Sentry / Glitchtip self-host, OpenTelemetry + Grafana Tempo | PHP exception, DB sorgu süresi, yavaş istek |
| RUM (Real User Monitoring) | Gerçek kullanıcı ne görüyor? | web-vitals.js, GA4, PageSpeed Insights CrUX | LCP, INP, CLS gerçek alan verisi |
Uptime İzleme — Gerekli Ama Yetersiz
HTTP GET atıp 200 kontrol eder. Anasayfa açık ama checkout hata veriyor? Uptime yeşil gösterir. DB 30 sn gecikmeli cevaplıyor? Yeşil. SSL sona erme uyarısı? Alırsınız (iyi). APM olmadan tek başına yetmez.
APM — Uygulama İçini Görme
Sunucu açık olsa da: hangi PHP fonksiyonu en uzun süruyor, hangi DB sorgusu yavaş, hangi sayfa sessizce 500 veriyor, canlı trafiğin kaçta kaçında hata var — bunları APM yanıtlar.
RUM — Gerçek Kullanıcı Gözü
Lighthouse ideal koşul simüle eder. RUM gerçek: Türkiye'de 3G bağlantıda checkout kaç saniye, mobil Chrome'da INP kaç ms, kötü Wi-Fi'de CLS 0.25'i geçiyor mu?
Buyukweb cPanel — Dahili Araçlar
cPanel paketlerimizde ek kurulum gerektirmeden gelen araçlar:
AwStats
cPanel > Metrics > AwStats. Günlük/aylık trafik, en çok ziyaret edilen sayfalar, HTTP hata kodları (404, 500 görünür), ziyaretçi coğrafyası. Gerçek zamanlı değil; günlük log analizi yapar.
Ne zaman kullanılır: 404 hatalarını toplu görmek, trafik kaynaklarını anlamak, bot trafiğini tespit etmek.
Webalizer
cPanel > Metrics > Webalizer. AwStats'a benzer; grafik çıktı daha sade. Aylık trafik trendleri, en fazla trafik gelen saatler.
Error Logs
cPanel > Metrics > Errors veya /home/kullanici/public_html/error_log. PHP hataları, 500 Internal Server Error satırları burada. WooCommerce ödeme entegrasyon hatalarının büyük çoğunluğu error log'a düşer — ama fark edene kadar kaç müşteri vazgeçti?
Sınır: Log dosyasını manuel okumak reaktif; proaktif alarm için APM gerekir.
WooCommerce > Status > Logs
WooCommerce yönetim paneli > WooCommerce > Status > Logs. Ödeme geçidi logları, WooCommerce olayları, kargo entegrasyon hataları. Kara Cuma senaryosundaki "%30 ödeme hatası" genellikle bu log'da görünür — ama saatlerce gözden kaçar.
Google PageSpeed Insights ile CWV Ölçümü
Buyukweb cPanel müşterileri için CWV ölçümü için ek araç gerekmez:
- pagespeed.web.dev → URL gir → Lab + Field veri
- Google Search Console > Deneyim > Core Web Vitals raporu (siteye ait gerçek kullanıcı verisi, 28 günlük)
- Chrome DevTools > Lighthouse > Performance (yerel lab testi)
CWV hedef eşikleri:
| Metrik | İyi | İyileştir | Kötü |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2,5 sn | 2,5–4,0 sn | > 4,0 sn |
| INP (Interaction to Next Paint) | ≤ 200 ms | 200–500 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | ≤ 0,1 | 0,1–0,25 | > 0,25 |
Buyukweb cPanel'de LiteSpeed + LSCache standart kurulu; TTFB (Time to First Byte) Türkiye'den tipik 50-150 ms. TTFB iyi olsa da resim ve JavaScript optimizasyonu site sahibinin görevi.
Uptime Kuma: Açık Kaynak Uptime İzleme (VDS Kurulum)
Uptime Kuma, kendi sunucunuzda barındırdığınız açık kaynak bir uptime izleme aracıdır. Ticari uptime izleme servislerine alternatif olarak tercih edilebilir.
Docker ile Kurulum (Buyukweb VDS)
# Docker yüklü değilse
curl -fsSL https://get.docker.com | sh
# Uptime Kuma container başlat
docker run -d --name uptime-kuma --restart always -p 3001:3001 -v uptime-kuma:/app/data louislam/uptime-kuma:1
Docker Compose ile Kurulum
# docker-compose.yml
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- uptime-kuma-data:/app/data
volumes:
uptime-kuma-data:
docker compose up -d
Kurulum sonrası http://sunucu-ip:3001 adresinden erişin. İlk kurulumda admin hesabı oluşturulur.
İzlenecek Endpoint'ler (WooCommerce için)
| Sayfa | Aralık |
|---|---|
| Ana sayfa | 60 sn |
| Ödeme (checkout) | 60 sn — öncelikli |
| Sepet / Ürünler | 5 dk |
| Admin paneli | 5 dk |
WooCommerce API (/wp-json/wc/v3/) |
5 dk |
| SSL sertifikası | 1 gün |
Alert kanalları: Uptime Kuma 90+ bildirimi destekler. Pratik öneri: e-posta (temel, gecikebilir), Telegram (anlık, ücretsiz), Slack (ekip varsa), SMS (kritik için). False-positive önlemi: Alarm için "Retries: 3" — tek geçici hata alarmda boğmaz.
Sentry / Glitchtip Self-Host: PHP Hata Takibi
Neden Self-Host?
Yönetilen (SaaS) hata izleme servisleri olay hacmine göre ücretlendirilir. Küçük-orta e-ticaret sitesi için self-host (Sentry açık kaynak veya Glitchtip alternatifi) hem maliyet avantajlı hem tam kontrol sağlar. Glitchtip, Sentry açık kaynak API ile uyumlu hafif bir alternatif.
Sentry Self-Host Docker Kurulumu (VDS)
# Minimum: 4 GB RAM, 20 GB disk önerilir
git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
./install.sh
docker compose up -d
Kurulum http://sunucu-ip:9000 adresinde panel açar. İlk kurulumda süper kullanıcı oluşturulur.
WordPress / WooCommerce Entegrasyonu
<?php
// wp-config.php veya functions.php başına ekle
// Önce: composer require sentry/sentry-symfony veya sentry/sdk
require_once __DIR__ . '/vendor/autoload.php';
Sentryinit([
'dsn' => 'https://[email protected]/PROJE_ID',
'environment' => defined('WP_DEBUG') && WP_DEBUG ? 'staging' : 'production',
'release' => wp_get_theme()->get('Version') ?? '1.0.0',
// Tüm isteklerin %10'unu performans ile izle
'traces_sample_rate' => 0.1,
'before_send' => function (SentryEvent $event): ?SentryEvent {
// Geliştirici IP'lerini hariç tut
$devIps = ['127.0.0.1', '::1'];
if (in_array($_SERVER['REMOTE_ADDR'] ?? '', $devIps, true)) {
return null;
}
return $event;
},
]);
// WooCommerce ödeme hatalarını yakala
add_action('woocommerce_payment_complete_order_status', function (string $oldStatus, int $orderId): void {
$order = wc_get_order($orderId);
if ($order && $order->get_status() === 'failed') {
SentrycaptureMessage(
'Ödeme başarısız — Sipariş #' . $orderId . ' | Tutar: ' . $order->get_total() . ' TL',
SentrySeverity::error()
);
}
}, 10, 2);
?>
Yakalananlar: PHP Fatal Error/Exception/Warning, WooCommerce ödeme hataları, REST API 4xx/5xx, yavaş veritabanı sorguları (traces_sample_rate ile), bellek taşmaları.
Glitchtip Alternatifi (Daha Hafif)
Glitchtip, Sentry açık kaynak API ile uyumludur; aynı Sentry PHP SDK'sı çalışır. Sentry self-host yanında bellek tüketimi daha düşük; 2 GB RAM ile çalıştırılabilir (Sentry için 4 GB tavsiye edilir). docker compose up -d ile kurulur, Glitchtip GitHub reposunda .env.example dosyası bulunur.
WP Query Monitor: Geliştirme Profilleme
Query Monitor, üretim ortamı için değil, geliştirme/staging için bir WordPress eklentisidir. Fiyatı: ücretsiz (WordPress.org'da).
Gösterdikleri: Her sayfa yüklenişinde veritabanı sorgu sayısı (200+ ciddi sorun), hangi sorgu en uzun sürüyor (10 ms üstü uyarı), hangi eklenti/tema hangi sorguyu tetikliyor, PHP hataları/deprecated uyarılar, HTTP API çağrı süreleri.
Yavaş Sorguları Kaydet (Özel Hook)
<?php
// functions.php — üretimde disable edin!
add_filter('qm/collect/db_queries', function (array $queries): array {
$slow = array_filter($queries, fn($q) => $q['time'] > 0.05); // 50ms+
if (!empty($slow)) {
error_log('[QueryMonitor Yavaş Sorgu] ' . count($slow) . ' sorgu 50ms üstü.');
}
return $queries;
});
?>
Tercih etmeyin: Query Monitor'ü üretimde aktif bırakmayı — ek bellek harcar. Staging/geliştirme ortamında kullanın, sonra devre dışı bırakın.
web-vitals.js ile Gerçek Kullanıcı RUM
Google'ın web-vitals JavaScript kütüphanesi (açık kaynak), gerçek ziyaretçilerden CWV verisi toplar. Bunu GA4'e göndererek Search Console'un göremediği segment bazlı analiz yapılır: "iOS Safari kullanıcılarında INP kaç ms?", "3G bağlantıda LCP kaç saniye?"
Kurulum (script tag)
// WordPress'te functions.php veya tema header'ında
// CDN'den yükle (veya npm ile bundle et)
(function() {
var script = document.createElement('script');
script.type = 'module';
script.innerHTML = `
import {onLCP, onINP, onCLS, onFID, onTTFB} from
'https://unpkg.com/web-vitals@4/dist/web-vitals.attribution.js';
function sendToGA4(name, metric) {
if (typeof gtag === 'undefined') return;
gtag('event', name, {
value : Math.round(name === 'CLS' ? metric.value * 1000 : metric.value),
metric_id : metric.id,
metric_rating: metric.rating, // 'good' | 'needs-improvement' | 'poor'
metric_delta : metric.delta,
});
}
onLCP(m => sendToGA4('LCP', m));
onINP(m => sendToGA4('INP', m));
onCLS(m => sendToGA4('CLS', m));
onTTFB(m => sendToGA4('TTFB', m));
`;
document.head.appendChild(script);
})();
GA4 > Keşfet > Serbest biçim rapor oluşturun; boyut: Cihaz kategorisi / Ülke; metrik: LCP, INP, CLS olay değerleri. 7-14 gün veri sonrası hangi segment sorunlu anlaşılır.
Alert ve Incident Workflow
İzleme varsa ama kimse aksiyon almıyorsa değersiz. Pratik workflow:
Seviye 1 — Uptime: Uptime Kuma 3 ardışık başarısız kontrol → Telegram bildirim → tarayıcıdan doğrula → cPanel > Error Logs → cPanel hosting için 0850 302 60 70, VDS için SSH/kontrol paneli → çözüm sonrası "maintenance window" kapat.
Seviye 2 — APM: Sentry/Glitchtip'te anormal hata spike → stack trace'e bak (eklenti/tema/özel kod?) → staging'de yeniden üret → Query Monitor ile yavaş sorgu bul → fix deploy → Sentry'de resolved işaretle.
Seviye 3 — RUM (haftalık): GA4'te web-vitals.js verileri + Search Console CWV → LCP > 4 sn veya INP > 500 ms segment varsa Lighthouse ile araştır → resim sıkıştır, üçüncü-taraf script geciktir, LSCache kurallarını gözden geçir.
False-positive: Uptime'da çoklu bölge kullan; APM'de "son 10 dk 10+ hata" eşiği koy; RUM'da 75. yüzdelik baz alın, tek kullanıcı alarmı tetiklemesin.
Açık Kaynak vs Yönetilen SaaS APM Karşılaştırması
| Açık Kaynak (self-host) | Yönetilen SaaS APM | |
|---|---|---|
| Kurulum | VDS'de 30-120 dk | Anında (hesap aç, DSN ekle) |
| Bakım | Güncellemeler sizde | Sağlayıcıda |
| Aylık maliyet | VDS maliyetiyle sınırlı | Olay hacmine göre ₺500-10.000+ |
| Veri kontrolü | Tam (kendi sunucunuzda) | Üçüncü tarafta (KVKK değerlendirin) |
| Özellik zenginliği | Yeterli (çoğu senaryo) | Genellikle daha fazla |
| Ölçekleme | Manuel (disk/RAM artır) | Otomatik |
| Destek | Topluluk / kendi ekibiniz | SLA ile ticari destek |
Karar rehberi: Aylık 100.000 TL altı GMV, küçük ekip → self-host yeterli. Aylık 500.000 TL üstü GMV, 7/24 teknik ekip yok, downtime saatte 5.000+ TL kayıp ettiriyor → yönetilen APM yatırımı değerlendirilebilir.
Sık Sorulan Sorular
Uptime izleme ne sıklıkla kontrol yapmalı?
Checkout ve ödeme sayfaları için 60 saniye; diğer sayfalar için 3-5 dakika yeterli. 30 saniyelik aralık false-positive riskini artırır. Kritik e-ticaret sayfası (checkout/ödeme) için 60 sn + 3 retry kombinasyonu önerilir.
%99,9 ile %99,95 uptime arasındaki fark nedir?
%99,9 = ayda 43,8 dk downtime hakkı; %99,95 = 21,9 dk. Buyukweb SLA %99,8 (ayda 86 dk); bu değerin üstü genellikle gerçekleşir. Kritik kampanya öncesi maintenance window planlayın.
APM ile RUM arasındaki fark ne?
APM sunucu/uygulama katmanında çalışır: PHP hataları, DB sorgu süreleri, exception'lar — "ne patladı?" sorusu. RUM tarayıcıda çalışır: gerçek CWV, kötü bağlantı deneyimi — "kullanıcı ne gördü?" sorusu. İkisi birbirini tamamlar.
Alarm kanalı SMS mi, Telegram mı?
Telegram bot + kişisel numara kombinasyonu çoğu küçük ekip için ideal: ücretsiz, anlık, grup desteği. E-posta tek başına yetersiz (spam, gecikme). SMS güvenilir ama maliyetli; yalnızca kritik downtime için saklayın.
Sentry'de test siparişleri alarm tetikliyor, nasıl önlerim?
before_send callback'inde admin kullanıcı ID veya geliştirici IP'lerini filtreleyin. "environment" etiketiyle staging hatalarını production alarmlarından ayırın.
cPanel hosting'de Sentry self-host kurabilir miyim?
Hayır; Docker gerektiren self-host yalnızca VDS'de çalışır. cPanel'de alternativ: hata loglarını düzenli kontrol edin veya yönetilen hata takip servisi DSN'ini WordPress'e ekleyin. Tam self-host için Buyukweb VDS gerekir.
LSCache açıkken APM gerekli mi?
Önbellek her zaman doğru çalışmaz: eklenti güncellemesi sonrası bozulma, önbellek ısınma süreci, WooCommerce checkout tutarsızlığı APM olmadan fark edilmez. Evet, gerekli.
Sonuç
E-ticaret sitesinde "sunucu açık = sorun yok" mantığı ciro kaybettirir. Kara Cuma senaryosundaki %30 ödeme hatası örneği, uptime izlemesi yeşil gösterse de APM olmadan saatlerce fark edilmeyebilir. Buyukweb cPanel'de AwStats/Webalizer dahili izleme sağlar; CWV için Google PageSpeed Insights ve Search Console yeterli. Uptime izleme için Uptime Kuma (VDS'de açık kaynak), hata takibi için Sentry veya Glitchtip self-host, geliştirme profilleme için WP Query Monitor, gerçek kullanıcı verisi için web-vitals.js + GA4 kombinasyonu küçük-orta e-ticaret sitesi için yeterli ve ekonomik bir yığın oluşturur.
İzleme kurulduktan sonra asıl değer aksiyon workflow'undan gelir: alarm geldikten sonra kim, ne zaman, nasıl müdahale edecek? Bunu ekip içinde yazılı hale getirin.
Soru ve teknik destek için: 0850 302 60 70.
İlgili Büyükweb Hizmetleri
E-ticaret altyapı ve izleme için paketler:
- E-Ticaret VDS — Sentry/Uptime Kuma self-host için root erişimli sunucu
- cPanel Web Hosting — AwStats/Webalizer dahil, LiteSpeed + LSCache standart
- VDS Sunucu — Docker tabanlı açık kaynak izleme yığını
- WordPress Hosting — WP Query Monitor + LSCache uyumlu ortam
- Tüm Paketler — Karşılaştırma
Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.
E-Ticaret İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:
