{"id":4554,"date":"2026-02-05T20:17:30","date_gmt":"2026-02-05T17:17:30","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/sunucu-loglariyla-core-web-vitals-iyilestirme-firsatlari\/"},"modified":"2026-02-05T20:17:30","modified_gmt":"2026-02-05T17:17:30","slug":"sunucu-loglariyla-core-web-vitals-iyilestirme-firsatlari","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/sunucu-loglariyla-core-web-vitals-iyilestirme-firsatlari\/","title":{"rendered":"Sunucu Loglar\u0131yla Core Web Vitals \u0130yile\u015ftirme F\u0131rsatlar\u0131"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Core_Web_Vitals_ve_Sunucu_Loglari_Neden_Ayni_Masaya_Oturmali\"><span class=\"toc_number toc_depth_1\">1<\/span> Core Web Vitals ve Sunucu Loglar\u0131 Neden Ayn\u0131 Masaya Oturmal\u0131?<\/a><\/li><li><a href=\"#Core_Web_Vitalsin_Sunucuya_Dokunan_Kismi\"><span class=\"toc_number toc_depth_1\">2<\/span> Core Web Vitals\u2019\u0131n Sunucuya Dokunan K\u0131sm\u0131<\/a><\/li><li><a href=\"#Saglam_Bir_Log_Altyapisi_Kurmadan_Core_Web_Vitals_Okunmaz\"><span class=\"toc_number toc_depth_1\">3<\/span> Sa\u011flam Bir Log Altyap\u0131s\u0131 Kurmadan Core Web Vitals Okunmaz<\/a><ul><li><a href=\"#1_Access_log_mu_error_log_mu_yoksa_uygulama_logu_mu\"><span class=\"toc_number toc_depth_2\">3.1<\/span> 1. Access log mu, error log mu, yoksa uygulama log\u2019u mu?<\/a><\/li><li><a href=\"#2_Nginx_icin_ornek_log_format_Core_Web_Vitals_dostu\"><span class=\"toc_number toc_depth_2\">3.2<\/span> 2. Nginx i\u00e7in \u00f6rnek log_format (Core Web Vitals dostu)<\/a><\/li><li><a href=\"#3_Apache_icin_extended_log_ayarlari\"><span class=\"toc_number toc_depth_2\">3.3<\/span> 3. Apache i\u00e7in extended log ayarlar\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Core_Web_Vitals_Icin_Sunucu_Tarafinda_Olcmeniz_Gereken_8_Kritik_Metrik\"><span class=\"toc_number toc_depth_1\">4<\/span> Core Web Vitals \u0130\u00e7in Sunucu Taraf\u0131nda \u00d6l\u00e7meniz Gereken 8 Kritik Metrik<\/a><ul><li><a href=\"#1_TTFB_ve_Backend_Sureleri_request_time_upstream_response_time\"><span class=\"toc_number toc_depth_2\">4.1<\/span> 1. TTFB ve Backend S\u00fcreleri (request_time &amp; upstream_response_time)<\/a><\/li><li><a href=\"#2_Ulke_IP_Blogu_ve_Cihaz_Segmentine_Gore_Gecikme\"><span class=\"toc_number toc_depth_2\">4.2<\/span> 2. \u00dclke, IP Blo\u011fu ve Cihaz Segmentine G\u00f6re Gecikme<\/a><\/li><li><a href=\"#3_HTTP11_HTTP2_ve_HTTP3_Dagilimi\"><span class=\"toc_number toc_depth_2\">4.3<\/span> 3. HTTP\/1.1, HTTP\/2 ve HTTP\/3 Da\u011f\u0131l\u0131m\u0131<\/a><\/li><li><a href=\"#4_Onbellek_Cache_Etkinligi_HITMISS_Oranlari\"><span class=\"toc_number toc_depth_2\">4.4<\/span> 4. \u00d6nbellek (Cache) Etkinli\u011fi: HIT\/MISS Oranlar\u0131<\/a><\/li><li><a href=\"#5_Cevap_Boyutu_ve_Sikistirma\"><span class=\"toc_number toc_depth_2\">4.5<\/span> 5. Cevap Boyutu ve S\u0131k\u0131\u015ft\u0131rma<\/a><\/li><li><a href=\"#6_4xx5xx_Hatalari_ve_Time-out_Paternleri\"><span class=\"toc_number toc_depth_2\">4.6<\/span> 6. 4xx\/5xx Hatalar\u0131 ve Time-out Paternleri<\/a><\/li><li><a href=\"#7_PHP-FPM_Slow_Log_ve_Uygulama_Katmani\"><span class=\"toc_number toc_depth_2\">4.7<\/span> 7. PHP-FPM Slow Log ve Uygulama Katman\u0131<\/a><\/li><li><a href=\"#8_Veritabani_Slow_Query_Logu\"><span class=\"toc_number toc_depth_2\">4.8<\/span> 8. Veritaban\u0131 Slow Query Log\u2019u<\/a><\/li><\/ul><\/li><li><a href=\"#Segmentasyon_Hangi_Kullanici_Grubu_Core_Web_Vitalsi_Batiriyor\"><span class=\"toc_number toc_depth_1\">5<\/span> Segmentasyon: Hangi Kullan\u0131c\u0131 Grubu Core Web Vitals\u2019\u0131 Bat\u0131r\u0131yor?<\/a><ul><li><a href=\"#Segmentlemeniz_gereken_temel_alanlar\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Segmentlemeniz gereken temel alanlar<\/a><\/li><\/ul><\/li><li><a href=\"#Gercek_Senaryolar_Loglardan_Core_Web_Vitals_Firsati_Cikarmak\"><span class=\"toc_number toc_depth_1\">6<\/span> Ger\u00e7ek Senaryolar: Loglardan Core Web Vitals F\u0131rsat\u0131 \u00c7\u0131karmak<\/a><ul><li><a href=\"#Senaryo_1_WooCommercede_Yuksek_LCP_Suclu_Kategori_Filtreleri\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Senaryo 1: WooCommerce\u2019de Y\u00fcksek LCP, Su\u00e7lu Kategori Filtreleri<\/a><\/li><li><a href=\"#Senaryo_2_CDN_Kullanilmasina_Ragmen_Yuksek_TTFB\"><span class=\"toc_number toc_depth_2\">6.2<\/span> Senaryo 2: CDN Kullan\u0131lmas\u0131na Ra\u011fmen Y\u00fcksek TTFB<\/a><\/li><li><a href=\"#Senaryo_3_Sadece_Kampanya_Saatlerinde_Bozulan_INP\"><span class=\"toc_number toc_depth_2\">6.3<\/span> Senaryo 3: Sadece Kampanya Saatlerinde Bozulan INP<\/a><\/li><\/ul><\/li><li><a href=\"#DCHost_Ortaminda_Bu_Olcumleri_Nasil_Kurabilirsiniz\"><span class=\"toc_number toc_depth_1\">7<\/span> DCHost Ortam\u0131nda Bu \u00d6l\u00e7\u00fcmleri Nas\u0131l Kurabilirsiniz?<\/a><\/li><li><a href=\"#Adim_Adim_Yol_Haritasi_Sunucu_Loglarindan_Core_Web_Vitals_Iyilestirmeye\"><span class=\"toc_number toc_depth_1\">8<\/span> Ad\u0131m Ad\u0131m Yol Haritas\u0131: Sunucu Loglar\u0131ndan Core Web Vitals \u0130yile\u015ftirmeye<\/a><\/li><li><a href=\"#Sonuc_Core_Web_Vitals_Sadece_Front-end_Meselesi_Degil\"><span class=\"toc_number toc_depth_1\">9<\/span> Sonu\u00e7: Core Web Vitals, Sadece Front-end Meselesi De\u011fil<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Core_Web_Vitals_ve_Sunucu_Loglari_Neden_Ayni_Masaya_Oturmali\">Core Web Vitals ve Sunucu Loglar\u0131 Neden Ayn\u0131 Masaya Oturmal\u0131?<\/span><\/h2>\n<p>Core Web Vitals skorlar\u0131n\u0131 konu\u015furken \u00e7o\u011fu ekip sadece Lighthouse raporlar\u0131na, PageSpeed Insights \u00e7\u0131kt\u0131s\u0131na veya taray\u0131c\u0131 tabanl\u0131 \u00f6l\u00e7\u00fcmlere bak\u0131yor. Oysa tabloyu tam g\u00f6rmek i\u00e7in bir aya\u011f\u0131n da mutlaka sunucu taraf\u0131nda, yani <strong>access log<\/strong>, <strong>error log<\/strong>, PHP-FPM ve veritaban\u0131 loglar\u0131nda olmas\u0131 gerekiyor. \u00c7\u00fcnk\u00fc kullan\u0131c\u0131 taraf\u0131nda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz LCP veya INP bozulmalar\u0131, \u00e7o\u011fu zaman arkada <strong>TTFB dalgalanmalar\u0131, zaman zaman kilitlenen PHP s\u00fcre\u00e7leri veya yava\u015flayan veritaban\u0131 sorgular\u0131n\u0131n<\/strong> sonucu.<\/p>\n<p>DCHost taraf\u0131nda \u00f6zellikle y\u00fcksek trafikli WooCommerce, haber siteleri ve SaaS projelerinde \u015funu \u00e7ok net g\u00f6r\u00fcyoruz: Sadece front-end optimizasyonlar\u0131yla belli bir noktaya kadar ilerleniyor; as\u0131l b\u00fcy\u00fck s\u0131\u00e7rama, <strong>sunucu loglar\u0131ndan okunan ger\u00e7ek performans verilerini<\/strong> Core Web Vitals ile e\u015fle\u015ftirdi\u011finizde geliyor. \u0130yi tasarlanm\u0131\u015f bir log format\u0131 ve d\u00fczenli analizle; hangi endpoint\u2019in LCP\u2019yi \u015fi\u015firdi\u011fini, hangi saat aral\u0131\u011f\u0131nda TTFB\u2019nin artt\u0131\u011f\u0131n\u0131, hangi \u00fclke veya cihaz grubunun s\u00fcrekli yava\u015flad\u0131\u011f\u0131n\u0131 \u00e7\u0131plak g\u00f6zle g\u00f6rebiliyorsunuz.<\/p>\n<p>Bu yaz\u0131da taray\u0131c\u0131daki raporlar\u0131 tekrar etmeyece\u011fiz. Onlar\u0131n yerine, <strong>&#8220;Sunucu loglar\u0131ndan Core Web Vitals a\u00e7\u0131s\u0131ndan hangi metrikleri \u00e7\u0131karmal\u0131y\u0131m, hosting taraf\u0131nda neleri mutlaka \u00f6l\u00e7meliyim?&#8221;<\/strong> sorusuna odaklanaca\u011f\u0131z. Nginx\/Apache access log\u2019lar\u0131ndan, PHP-FPM ve veritaban\u0131 loglar\u0131na kadar pratik \u00f6rneklerle ilerleyip, sonunda elinizde uygulanabilir bir kontrol listesi olmas\u0131n\u0131 hedefliyoruz.<\/p>\n<h2><span id=\"Core_Web_Vitalsin_Sunucuya_Dokunan_Kismi\">Core Web Vitals\u2019\u0131n Sunucuya Dokunan K\u0131sm\u0131<\/span><\/h2>\n<p>Core Web Vitals \u00fc\u00e7 ana metrikten olu\u015fuyor: <strong>LCP (Largest Contentful Paint)<\/strong>, <strong>INP (Interaction to Next Paint \u2013 FID\u2019in yerini ald\u0131)<\/strong> ve <strong>CLS (Cumulative Layout Shift)<\/strong>. Bunlar\u0131n tamam\u0131 do\u011frudan sunucu loglar\u0131nda g\u00f6r\u00fcnmez; ancak \u00f6zellikle ilk ikisini g\u00fc\u00e7l\u00fc bi\u00e7imde etkileyen sunucu taraf\u0131 sinyaller var.<\/p>\n<ul>\n<li><strong>LCP<\/strong>: B\u00fcy\u00fck g\u00f6rsel veya metin blo\u011funun ekrana gelme s\u00fcresi. Sunucu taraf\u0131nda \u00f6zellikle <strong>TTFB (Time To First Byte)<\/strong>, HTML ve kritik asset (CSS, hero g\u00f6rseli) yan\u0131t s\u00fcreleriyle do\u011frudan ba\u011flant\u0131l\u0131.<\/li>\n<li><strong>INP<\/strong>: Kullan\u0131c\u0131n\u0131n etkile\u015fiminden sonra ilk g\u00f6rsel g\u00fcncellenene kadar ge\u00e7en s\u00fcre. Back-end\u2019deki <strong>yo\u011fun CPU kullan\u0131m\u0131, kilitlenen PHP s\u00fcre\u00e7leri, yava\u015f AJAX endpoint\u2019leri ve kuyruk i\u015flemleri<\/strong> bu metri\u011fi yukar\u0131 \u00e7eker.<\/li>\n<li><strong>CLS<\/strong>: Daha \u00e7ok front-end\/layout konusu. Ancak <strong>gecikmeli y\u00fcklenen g\u00f6rseller, ge\u00e7 gelen CSS\/JS dosyalar\u0131<\/strong> da tetikleyici olabilir; bunlar\u0131n yan\u0131t s\u00fcreleri loglardan okunabilir.<\/li>\n<\/ul>\n<p>Bu metriklerin hosting taraf\u0131yla ili\u015fkisini daha genel bir \u00e7er\u00e7evede g\u00f6rmek isterseniz, \u00f6nce <a href=\"https:\/\/www.dchost.com\/blog\/core-web-vitals-ve-hosting-altyapisi-ttfb-lcp-ve-clsyi-sunucu-tarafinda-iyilestirme-rehberi\/\">Core Web Vitals ve hosting altyap\u0131s\u0131 \u00fczerine haz\u0131rlad\u0131\u011f\u0131m\u0131z rehbere<\/a> g\u00f6z atman\u0131z faydal\u0131 olur. Burada ise konuyu daralt\u0131p, <strong>\u00f6zellikle log seviyesinde hangi alanlara bakman\u0131z gerekti\u011fini<\/strong> detayland\u0131raca\u011f\u0131z.<\/p>\n<h2><span id=\"Saglam_Bir_Log_Altyapisi_Kurmadan_Core_Web_Vitals_Okunmaz\">Sa\u011flam Bir Log Altyap\u0131s\u0131 Kurmadan Core Web Vitals Okunmaz<\/span><\/h2>\n<p>Core Web Vitals i\u00e7in sunucu loglar\u0131ndan anlaml\u0131 veri \u00e7\u0131karmak istiyorsan\u0131z; \u00f6nce log formatlar\u0131n\u0131z\u0131 g\u00f6zden ge\u00e7irmeniz gerekiyor. Varsay\u0131lan Nginx\/Apache formatlar\u0131 \u00e7o\u011fu zaman yeterli de\u011fil. \u00d6zellikle <strong>istek s\u00fcresi, upstream s\u00fcresi, cache durumu ve cevap boyutu<\/strong> gibi alanlar\u0131 kayda almazsan\u0131z, sonradan analiz k\u0131sm\u0131nda eliniz ba\u011flan\u0131r.<\/p>\n<h3><span id=\"1_Access_log_mu_error_log_mu_yoksa_uygulama_logu_mu\">1. Access log mu, error log mu, yoksa uygulama log\u2019u mu?<\/span><\/h3>\n<p>\u00d6nce rol da\u011f\u0131l\u0131m\u0131n\u0131 netle\u015ftirelim:<\/p>\n<ul>\n<li><strong>Access log<\/strong>: T\u00fcm HTTP isteklerinin <em>&#8220;ne zaman, kimden, nereye, ne kadar s\u00fcrede, ka\u00e7 byte&#8221;<\/em> geldi\u011fini g\u00f6sterir. Core Web Vitals\u2019a en \u00e7ok dokunan log buras\u0131.<\/li>\n<li><strong>Error log<\/strong>: 4xx\/5xx, time-out, backend ba\u011flant\u0131 hatalar\u0131 gibi kritik sorunlar\u0131 yakalar. F\u0131rlayan hatalar genellikle <strong>INP patlamalar\u0131<\/strong> ve bozulmu\u015f kullan\u0131c\u0131 deneyimi anlam\u0131na gelir.<\/li>\n<li><strong>PHP-FPM ve uygulama log\u2019lar\u0131<\/strong>: Yava\u015f PHP process\u2019leri, exception\u2019lar, uzun s\u00fcren i\u015f mant\u0131\u011f\u0131 bloklar\u0131. INP ve bazen LCP taraf\u0131nda etkileri b\u00fcy\u00fck.<\/li>\n<li><strong>Veritaban\u0131 slow query log\u2019lar\u0131<\/strong>: \u00d6zellikle WooCommerce, Laravel ve benzeri veri a\u011f\u0131rl\u0131kl\u0131 uygulamalarda LCP\u2019yi belirleyen ana bile\u015fenlerden.<\/li>\n<\/ul>\n<p>Bu yap\u0131y\u0131 \u00e7ok sunuculu ortamlara \u00f6l\u00e7eklemek, merkezi loglama ve saklama s\u00fcreleri gibi konular i\u00e7in daha \u00f6nce haz\u0131rlad\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/vps-log-yonetimi-nasil-rayina-oturur-grafana-loki-promtail-ile-merkezi-loglama-tutma-sureleri-ve-alarm-kurallari\/\">VPS log y\u00f6netimi rehberine<\/a> g\u00f6z atabilirsiniz. Oradaki mimariyi Core Web Vitals bak\u0131\u015f\u0131yla zenginle\u015ftirmek \u00e7o\u011fu projeye fazlas\u0131yla yetiyor.<\/p>\n<h3><span id=\"2_Nginx_icin_ornek_log_format_Core_Web_Vitals_dostu\">2. Nginx i\u00e7in \u00f6rnek log_format (Core Web Vitals dostu)<\/span><\/h3>\n<p>Nginx taraf\u0131nda a\u015fa\u011f\u0131ya yak\u0131n bir log format\u0131 ile \u00e7al\u0131\u015f\u0131rsan\u0131z, LCP ve INP\u2019ye etki eden kritik alanlar\u0131n \u00e7o\u011funu g\u00f6rebilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">log_format cwv '\n  $remote_addr - $remote_user [$time_local] &quot;$request&quot; '\n  '$status $body_bytes_sent &quot;$http_referer&quot; &quot;$http_user_agent&quot; '\n  'rt=$request_time urt=$upstream_response_time '\n  'uaddr=$upstream_addr ucache=$upstream_cache_status '\n  'scheme=$scheme proto=$server_protocol '\n  'host=$host bytes=$body_bytes_sent';\n\naccess_log \/var\/log\/nginx\/access_cwv.log cwv;\n<\/code><\/pre>\n<ul>\n<li><strong>rt=$request_time<\/strong>: \u0130stek toplam s\u00fcresi (TCP handshake + TLS + bekleme + yan\u0131t\u0131n tamamen inmesi).<\/li>\n<li><strong>urt=$upstream_response_time<\/strong>: Sadece backend (PHP-FPM, Node, upstream) s\u00fcresi. TTFB ve INP i\u00e7in alt\u0131n de\u011ferinde.<\/li>\n<li><strong>ucache=$upstream_cache_status<\/strong>: \u00d6nbellek \u2013 MISS\/HIT\/BYPASS gibi durumlar. Hem LCP hem maliyet taraf\u0131na i\u015faret eder.<\/li>\n<li><strong>proto=$server_protocol<\/strong>: HTTP\/1.1 mi HTTP\/2 mi; ileride HTTP\/3 i\u00e7in de benzer alanlarla tutabilirsiniz.<\/li>\n<\/ul>\n<h3><span id=\"3_Apache_icin_extended_log_ayarlari\">3. Apache i\u00e7in extended log ayarlar\u0131<\/span><\/h3>\n<p>Apache kullan\u0131yorsan\u0131z <code>LogFormat<\/code> direktifini geni\u015fletip, \u00f6zellikle <code>%D<\/code> (mikrosaniye cinsinden i\u015flem s\u00fcresi) ve <code>%O<\/code> (\u00e7\u0131kan byte) alanlar\u0131n\u0131 ekleyin. mod_status ve mod_log_config birlikte kullan\u0131ld\u0131\u011f\u0131nda, benzer analizleri Apache taraf\u0131nda da yapmak m\u00fcmk\u00fcn.<\/p>\n<p>Access ve error log\u2019lar\u0131 do\u011fru okumaya yeni yeni ba\u015fl\u0131yorsan\u0131z, \u00f6nce <a href=\"https:\/\/www.dchost.com\/blog\/hosting-sunucu-loglarini-okumayi-ogrenin-apache-ve-nginx-ile-4xx-5xx-hatalarini-teshis-rehberi\/\">Apache ve Nginx sunucu loglar\u0131n\u0131 okuma rehberimizi<\/a> referans al\u0131p, \u00fczerine bu yaz\u0131daki metrikleri eklemeniz iyi bir ba\u015flang\u0131\u00e7 olacakt\u0131r.<\/p>\n<h2><span id=\"Core_Web_Vitals_Icin_Sunucu_Tarafinda_Olcmeniz_Gereken_8_Kritik_Metrik\">Core Web Vitals \u0130\u00e7in Sunucu Taraf\u0131nda \u00d6l\u00e7meniz Gereken 8 Kritik Metrik<\/span><\/h2>\n<h3><span id=\"1_TTFB_ve_Backend_Sureleri_request_time_upstream_response_time\">1. TTFB ve Backend S\u00fcreleri (request_time &amp; upstream_response_time)<\/span><\/h3>\n<p>LCP\u2019yi do\u011frudan etkileyen ilk alan, <strong>HTML yan\u0131t\u0131n\u0131n TTFB da\u011f\u0131l\u0131m\u0131<\/strong>. Taray\u0131c\u0131 taraf\u0131nda TTFB\u2019yi g\u00f6r\u00fcyorsunuz; ama hangi path, hangi \u00fclke, hangi cihaz TTFB\u2019yi \u015fi\u015firiyor, onu ancak loglardan \u00e7\u0131karabilirsiniz.<\/p>\n<ul>\n<li><strong>Yap\u0131lmas\u0131 gereken<\/strong>: Access log\u2019larda <code>$request_time<\/code> ve <code>$upstream_response_time<\/code> alanlar\u0131n\u0131 saklay\u0131n.<\/li>\n<li><strong>Analiz<\/strong>: &#8220;\/&#8221;, &#8220;\/blog\/&#8221;, &#8220;\/urun\/&#8221;, &#8220;\/sepet&#8221; gibi path gruplar\u0131 i\u00e7in <em>p50, p75, p90, p95<\/em> de\u011ferlerini hesaplay\u0131n.<\/li>\n<li><strong>Yorum<\/strong>: HTML isteklerinde p75 seviyesinde 0.8 s \u00fczeri TTFB g\u00f6r\u00fcyorsan\u0131z, LCP taraf\u0131nda bozulma bekleyebilirsiniz.<\/li>\n<\/ul>\n<p>Buradan \u00e7\u0131kan tipik aksiyonlar:<\/p>\n<ul>\n<li>PHP-FPM havuz ayarlar\u0131n\u0131 g\u00f6zden ge\u00e7irmek (\u00f6zellikle <code>pm.max_children<\/code> ve <code>pm.max_requests<\/code>),<\/li>\n<li>Veritaban\u0131 slow query log\u2019una inip kritik sorgular\u0131 optimize etmek,<\/li>\n<li>S\u0131k kullan\u0131lan sayfalar i\u00e7in tam sayfa \u00f6nbellek (Nginx micro cache, LiteSpeed cache, Varnish, vb.) katman\u0131 eklemek.<\/li>\n<\/ul>\n<h3><span id=\"2_Ulke_IP_Blogu_ve_Cihaz_Segmentine_Gore_Gecikme\">2. \u00dclke, IP Blo\u011fu ve Cihaz Segmentine G\u00f6re Gecikme<\/span><\/h3>\n<p>Ayn\u0131 sitede T\u00fcrkiye i\u00e7i ziyaret\u00e7iler i\u00e7in LCP gayet iyi seyrederken, Avrupa veya ABD trafi\u011finde LCP\u2019nin patlad\u0131\u011f\u0131n\u0131 \u00e7ok s\u0131k g\u00f6r\u00fcyoruz. Bunun sebebi \u00e7o\u011fu zaman uygulama de\u011fil, <strong>a\u011f gecikmesi (latency) ve rotalama<\/strong>.<\/p>\n<ul>\n<li>IP\u2019den \u00fclke bilgisi \u00fcreterek (GeoIP) access log\u2019lara ekleyin.<\/li>\n<li>Mobil kullan\u0131c\u0131lar\u0131 User-Agent \u00fczerinden ayr\u0131 segment olarak i\u015faretleyin.<\/li>\n<li>Her segment i\u00e7in TTFB ve toplam istek s\u00fcresi p75 de\u011ferlerini raporlay\u0131n.<\/li>\n<\/ul>\n<p>Bu analiz, <strong>&#8220;ayn\u0131 hosting mimarisiyle hangi lokasyonlara kadar kabul edilebilir Core Web Vitals sunabiliyorum&#8221;<\/strong> sorusuna \u00e7ok net cevap verir. E\u011fer uzak b\u00f6lgelerdeki kullan\u0131c\u0131lar\u0131n\u0131z\u0131n oran\u0131 art\u0131yorsa, GeoDNS, ek region veya agresif CDN stratejisi planlama zaman\u0131n\u0131n geldi\u011fi anlam\u0131na gelir.<\/p>\n<h3><span id=\"3_HTTP11_HTTP2_ve_HTTP3_Dagilimi\">3. HTTP\/1.1, HTTP\/2 ve HTTP\/3 Da\u011f\u0131l\u0131m\u0131<\/span><\/h3>\n<p>HTTP\/2 ve HTTP\/3, \u00f6zellikle \u00e7ok say\u0131da k\u00fc\u00e7\u00fck CSS\/JS\/g\u00f6rsel iste\u011fi olan sitelerde LCP \u00fczerinde ciddi fark yaratabiliyor. Access log\u2019a <strong>kullan\u0131lan protokol versiyonunu<\/strong> ekleyerek \u015fu soruyu cevaplayabilirsiniz:<\/p>\n<ul>\n<li>Kullan\u0131c\u0131lar\u0131m\u0131n y\u00fczde ka\u00e7\u0131 hala HTTP\/1.1 \u00fczerinden geliyor?<\/li>\n<li>HTTP\/2\/HTTP\/3 \u00fczerinde gelen isteklerin TTFB ve toplam s\u00fcre da\u011f\u0131l\u0131m\u0131 nas\u0131l de\u011fi\u015fiyor?<\/li>\n<\/ul>\n<p>E\u011fer HTTP\/2 etkin olmas\u0131na ra\u011fmen loglarda hala a\u011f\u0131rl\u0131kl\u0131 HTTP\/1.1 g\u00f6r\u00fcyorsan\u0131z, arada bir reverse proxy, CDN veya yanl\u0131\u015f TLS ayar\u0131 devreye girmi\u015f olabilir. Bu durumda, protokol y\u00fckseltmelerinin Core Web Vitals taraf\u0131ndaki etkilerini daha derinlemesine anlamak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/brotli-ve-gzip-sikistirma-ayarlari-nginx-apache-ve-litespeedde-core-web-vitals-icin-dogru-konfigurasyon\/\">Brotli ve gzip s\u0131k\u0131\u015ft\u0131rma ile Core Web Vitals optimizasyonu anlatt\u0131\u011f\u0131m\u0131z rehbere<\/a> de g\u00f6z atabilirsiniz; orada HTTP\/2\/3 ile birlikte de\u011ferlendirdi\u011fimiz pratik \u00f6rnekler var.<\/p>\n<h3><span id=\"4_Onbellek_Cache_Etkinligi_HITMISS_Oranlari\">4. \u00d6nbellek (Cache) Etkinli\u011fi: HIT\/MISS Oranlar\u0131<\/span><\/h3>\n<p>Sunucu taraf\u0131nda Core Web Vitals iyile\u015ftirmenin en ucuz y\u00f6ntemi, <strong>do\u011fru katmanda ve do\u011fru TTL\u2019lerle \u00f6nbellek kullanmak<\/strong>. Bunun i\u00e7in loglara mutlaka cache durumunu eklemeniz gerekiyor:<\/p>\n<ul>\n<li>Nginx: <code>$upstream_cache_status<\/code> (HIT, MISS, BYPASS, EXPIRED&#8230;)<\/li>\n<li>CDN kullan\u0131yorsan\u0131z: <code>CF-Cache-Status<\/code>, <code>CDN-Cache-Status<\/code> gibi ba\u015fl\u0131klar\u0131 loglamak.<\/li>\n<\/ul>\n<p>Sonra \u015fu sorular\u0131 cevaplay\u0131n:<\/p>\n<ul>\n<li>Statik asset\u2019lerde (CSS, JS, g\u00f6rseller) MISS oran\u0131m neden y\u00fcksek?<\/li>\n<li>HTML yan\u0131tlar\u0131nda hangi path\u2019ler i\u00e7in cache kullanabilirim, hangilerinde kullanamam?<\/li>\n<li>HIT istekleri ile MISS istekleri aras\u0131ndaki <code>request_time<\/code> fark\u0131 ne kadar?<\/li>\n<\/ul>\n<p>\u00c7o\u011fu projede sadece cache HIT oran\u0131n\u0131 y\u00fczde 10-20 art\u0131rmak bile, LCP taraf\u0131nda g\u00f6ze g\u00f6r\u00fcn\u00fcr iyile\u015fme ve ayn\u0131 anda CPU\/disk maliyetinde d\u00fc\u015f\u00fc\u015f sa\u011fl\u0131yor.<\/p>\n<h3><span id=\"5_Cevap_Boyutu_ve_Sikistirma\">5. Cevap Boyutu ve S\u0131k\u0131\u015ft\u0131rma<\/span><\/h3>\n<p>LCP\u2019yi etkileyen bir di\u011fer alan da, <strong>ilk HTML ve kritik CSS\/JS dosyalar\u0131n\u0131n byte boyutu<\/strong>. Access log\u2019a <code>$body_bytes_sent<\/code> ekleyip; \u00f6zellikle HTML, CSS ve ana JS bundle\u2019lar\u0131 i\u00e7in boyut da\u011f\u0131l\u0131m\u0131na bak\u0131n.<\/p>\n<ul>\n<li>HTML yan\u0131tlar\u0131 200-300 KB s\u0131n\u0131r\u0131n\u0131n \u00fczerine \u00e7\u0131k\u0131yorsa, gereksiz inline script\/HTML yorumlar\u0131 veya devasa JSON bloklar\u0131 olabilir.<\/li>\n<li>CSS\/JS dosyalar\u0131 s\u0131k\u0131\u015ft\u0131rma (gzip\/Brotli) kapal\u0131 ya da yanl\u0131\u015f ayarl\u0131 olabilir.<\/li>\n<li>Oturum a\u00e7m\u0131\u015f kullan\u0131c\u0131lar i\u00e7in g\u00f6nderilen HTML ile anonim kullan\u0131c\u0131 HTML\u2019leri aras\u0131nda ciddi boyut farklar\u0131 varsa, ki\u015fiselle\u015ftirme katman\u0131n\u0131 tekrar d\u00fc\u015f\u00fcnmek gerekebilir.<\/li>\n<\/ul>\n<p>Buradan \u00e7\u0131kan aksiyon \u00e7o\u011fu zaman \u015fudur: Hem web sunucusu hem de CDN taraf\u0131nda <strong>Brotli\/gzip s\u0131k\u0131\u015ft\u0131rma ayarlar\u0131n\u0131<\/strong> g\u00f6zden ge\u00e7irmek, gereksiz ba\u015fl\u0131klar\u0131 ve \u015fi\u015fkin HTML bloklar\u0131n\u0131 temizlemek. Bu konuyu ad\u0131m ad\u0131m ele ald\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/brotli-ve-gzip-sikistirma-ayarlari-nginx-apache-ve-litespeedde-core-web-vitals-icin-dogru-konfigurasyon\/\">Brotli ve gzip rehberinde<\/a> Nginx\/Apache\/LiteSpeed i\u00e7in haz\u0131r konfig\u00fcrasyon \u00f6rnekleri bulabilirsiniz.<\/p>\n<h3><span id=\"6_4xx5xx_Hatalari_ve_Time-out_Paternleri\">6. 4xx\/5xx Hatalar\u0131 ve Time-out Paternleri<\/span><\/h3>\n<p>Core Web Vitals skorlar\u0131n\u0131 k\u00f6t\u00fcle\u015ftiren \u015fey sadece yava\u015f sayfalar de\u011fildir; <strong>tamamlanmayan veya hataya d\u00fc\u015fen istekler<\/strong> de kullan\u0131c\u0131 deneyimini ve davran\u0131\u015f metriklerini bozarak dolayl\u0131 yoldan s\u0131ralamaya yans\u0131r.<\/p>\n<ul>\n<li>Access log\u2019da <code>$status<\/code> alan\u0131n\u0131 izleyip, 4xx ve 5xx oranlar\u0131n\u0131 path baz\u0131nda raporlay\u0131n.<\/li>\n<li>Error log\u2019da <em>&#8220;upstream timed out&#8221;<\/em>, <em>&#8220;upstream sent too big header&#8221;<\/em>, <em>&#8220;connection reset&#8221;<\/em> gibi hatalar\u0131n hangi endpoint\u2019lerde yo\u011funla\u015ft\u0131\u011f\u0131n\u0131 bulun.<\/li>\n<li>Bu hatalar\u0131n Core Web Vitals bozulmas\u0131 ile ayn\u0131 zaman penceresinde art\u0131p artmad\u0131\u011f\u0131na bak\u0131n.<\/li>\n<\/ul>\n<p>\u00d6zellikle e-ticaret sitelerinde, 4xx\/5xx patlamalar\u0131 genellikle sepet, \u00f6deme ve filtreli kategori sayfalar\u0131nda kendini g\u00f6sterir. Bu alanlar\u0131n log analizi taraf\u0131n\u0131 detayl\u0131 anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/e-ticaret-siteleri-icin-log-analizi-donusum-kaybi-4xx-5xx-ve-odeme-hatalarini-yakalamak\/\">e-ticaret log analizi rehberini<\/a> Core Web Vitals perspektifiyle birlikte okursan\u0131z, d\u00f6n\u00fc\u015f\u00fcm ve performans\u0131 ayn\u0131 \u00e7er\u00e7evede de\u011ferlendirebilirsiniz.<\/p>\n<h3><span id=\"7_PHP-FPM_Slow_Log_ve_Uygulama_Katmani\">7. PHP-FPM Slow Log ve Uygulama Katman\u0131<\/span><\/h3>\n<p>INP taraf\u0131nda s\u0131k g\u00f6rd\u00fc\u011f\u00fcm\u00fcz senaryolardan biri \u015fu: \u0130lk sayfa y\u00fck\u00fc h\u0131zl\u0131, ama kullan\u0131c\u0131 t\u0131klad\u0131\u011f\u0131nda (\u00f6zellikle AJAX \u00e7a\u011fr\u0131lar\u0131nda) yan\u0131t bir anda 2-3 saniyeye f\u0131rl\u0131yor. Taray\u0131c\u0131 bu etkile\u015fim s\u00fcresini INP olarak raporluyor; bizim tarafta ise bu genellikle <strong>belirli endpoint\u2019lerin PHP-FPM veya framework seviyesinde yava\u015flamas\u0131<\/strong> anlam\u0131na geliyor.<\/p>\n<ul>\n<li>PHP-FPM <code>slowlog<\/code> \u00f6zelli\u011fini aktif edin ve e\u015fik de\u011ferini (\u00f6r. 500 ms) belirleyin.<\/li>\n<li>Slow log giri\u015flerini, access log\u2019tan ilgili isteklerle e\u015fle\u015ftirin.<\/li>\n<li>Hangi fonksiyonlar, hangi veritaban\u0131 sorgular\u0131 veya \u00fc\u00e7\u00fcnc\u00fc parti API \u00e7a\u011fr\u0131lar\u0131n\u0131n gecikmeye sebep oldu\u011funu \u00e7\u0131kar\u0131n.<\/li>\n<\/ul>\n<p>Bu \u00e7al\u0131\u015fma, \u00f6zellikle &#8220;butona t\u0131klay\u0131nca ge\u00e7 cevap veriyor&#8221; \u015fikayetlerinin teknik kar\u015f\u0131l\u0131\u011f\u0131n\u0131 bulman\u0131z\u0131 sa\u011flar. INP\u2019yi iyile\u015ftirmek \u00e7o\u011fu zaman bu tip <strong>arka plan i\u015flemlerini kuyruklara ta\u015f\u0131mak<\/strong> veya pahal\u0131 sorgular\u0131 \u00f6nbelle\u011fe almakla \u00e7\u00f6z\u00fclebiliyor.<\/p>\n<h3><span id=\"8_Veritabani_Slow_Query_Logu\">8. Veritaban\u0131 Slow Query Log\u2019u<\/span><\/h3>\n<p>MySQL\/MariaDB\/PostgreSQL taraf\u0131nda slow query log\u2019unu d\u00fczg\u00fcn yap\u0131land\u0131rmadan, Core Web Vitals bozulmalar\u0131n\u0131n kayna\u011f\u0131n\u0131 bulmak zor. \u00c7\u00fcnk\u00fc pek \u00e7ok sitede en b\u00fcy\u00fck darbo\u011faz CPU de\u011fil, <strong>indekslenmemi\u015f veya k\u00f6t\u00fc yaz\u0131lm\u0131\u015f sorgular<\/strong>.<\/p>\n<ul>\n<li>Threshold de\u011ferini ger\u00e7ek\u00e7i ayarlay\u0131n (\u00f6rne\u011fin 200-300 ms).<\/li>\n<li>En \u00e7ok \u00e7a\u011fr\u0131lan ve en \u00e7ok zaman t\u00fcketen ilk 10 sorguyu \u00e7\u0131kart\u0131n.<\/li>\n<li>Bu sorgular\u0131n hit oldu\u011fu endpoint\u2019leri access log\u2019tan e\u015fle\u015ftirip, ilgili sayfalar\u0131n LCP\/INP de\u011ferleriyle yan yana koyun.<\/li>\n<\/ul>\n<p>Son ad\u0131mda yap\u0131lacak indeksleme ve sorgu sadele\u015ftirmeleri, \u00f6zellikle kategori\/arama sayfalar\u0131nda LCP\u2019yi saniyeler seviyesinden 1-1.5 saniyelere indirmek i\u00e7in \u00e7o\u011fu zaman yeterli oluyor.<\/p>\n<h2><span id=\"Segmentasyon_Hangi_Kullanici_Grubu_Core_Web_Vitalsi_Batiriyor\">Segmentasyon: Hangi Kullan\u0131c\u0131 Grubu Core Web Vitals\u2019\u0131 Bat\u0131r\u0131yor?<\/span><\/h2>\n<p>Log analizinde en kritik ad\u0131mlardan biri, veriyi <strong>&#8220;ortalama&#8221; d\u00fczeyinden \u00e7\u0131kar\u0131p segmentlere b\u00f6lmek<\/strong>. \u00c7\u00fcnk\u00fc \u00e7o\u011fu projede sorun t\u00fcm kullan\u0131c\u0131larda de\u011fil; belli bir path, \u00fclke, cihaz veya saat aral\u0131\u011f\u0131nda yo\u011funla\u015f\u0131yor.<\/p>\n<h3><span id=\"Segmentlemeniz_gereken_temel_alanlar\">Segmentlemeniz gereken temel alanlar<\/span><\/h3>\n<ul>\n<li><strong>Path gruplar\u0131<\/strong>: Ana sayfa, i\u00e7erik sayfalar\u0131, \u00fcr\u00fcn sayfalar\u0131, sepet\/\u00f6deme, arama sonu\u00e7lar\u0131.<\/li>\n<li><strong>\u00dclke\/b\u00f6lge<\/strong>: T\u00fcrkiye, yak\u0131n co\u011frafya, uzak b\u00f6lgeler.<\/li>\n<li><strong>Cihaz tipi<\/strong>: Mobil, tablet, masa\u00fcst\u00fc (User-Agent \u00fczerinden tespit).<\/li>\n<li><strong>Oturum durumu<\/strong>: Giri\u015f yapm\u0131\u015f kullan\u0131c\u0131lar vs anonim (login cookie\u2019lerinden t\u00fcretilebilir).<\/li>\n<li><strong>Zaman dilimi<\/strong>: \u00d6zellikle kampanya saatleri ve yo\u011fun trafik pencereleri.<\/li>\n<\/ul>\n<p>Bu segmentler i\u00e7in ayr\u0131 ayr\u0131:<\/p>\n<ul>\n<li>TTFB da\u011f\u0131l\u0131m\u0131 (p50, p75, p90),<\/li>\n<li>Toplam istek s\u00fcresi,<\/li>\n<li>4xx\/5xx oran\u0131,<\/li>\n<li>Cache HIT\/MISS oran\u0131,<\/li>\n<li>Ortalama yan\u0131t boyutu<\/li>\n<\/ul>\n<p>gibi metrikleri \u00e7\u0131kard\u0131\u011f\u0131n\u0131zda, saha (CrUX) verilerindeki bozulmalar\u0131 hangi segmentin s\u00fcr\u00fckledi\u011fini \u00e7ok net g\u00f6rebilirsiniz. \u00d6rne\u011fin sadece mobil, sadece \/urun\/ path\u2019inde, sadece 19.00-22.00 aras\u0131 bozuluyorsa; burada taray\u0131c\u0131 optimizasyonu de\u011fil, <strong>kaynak \u00f6l\u00e7ekleme, \u00f6nbellek ve veritaban\u0131 sorgu optimizasyonu<\/strong> konu\u015fmak gerekir.<\/p>\n<h2><span id=\"Gercek_Senaryolar_Loglardan_Core_Web_Vitals_Firsati_Cikarmak\">Ger\u00e7ek Senaryolar: Loglardan Core Web Vitals F\u0131rsat\u0131 \u00c7\u0131karmak<\/span><\/h2>\n<h3><span id=\"Senaryo_1_WooCommercede_Yuksek_LCP_Suclu_Kategori_Filtreleri\">Senaryo 1: WooCommerce\u2019de Y\u00fcksek LCP, Su\u00e7lu Kategori Filtreleri<\/span><\/h3>\n<p>Bir WooCommerce ma\u011fazas\u0131nda Core Web Vitals raporlar\u0131nda \u00f6zellikle kategori sayfalar\u0131nda LCP s\u00fcrekli k\u0131rm\u0131z\u0131 b\u00f6lgedeydi. PageSpeed Insights raporlar\u0131 &#8220;render-blocking CSS\/JS&#8221; g\u00f6steriyordu; fakat o taraf zaten optimize edilmi\u015fti. Access log ve veritaban\u0131 slow log\u2019lar\u0131n\u0131 birle\u015ftirince \u015fu tablo \u00e7\u0131kt\u0131:<\/p>\n<ul>\n<li>\/kategori\/ alt\u0131nda \u00e7al\u0131\u015fan filtreli sorgular, stok ve fiyat tablosuyla birlikte 1.5-2 saniyelik yava\u015f sorgular \u00fcretiyordu.<\/li>\n<li>Bu sorgular\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 endpoint\u2019lerin <code>$upstream_response_time<\/code> de\u011feri p75 seviyesinde 1.8 s civar\u0131ndayd\u0131.<\/li>\n<li>\u0130lgili sayfalar\u0131n LCP p75 de\u011feri saha verisinde 3.5-4 s aral\u0131\u011f\u0131na \u00e7\u0131k\u0131yordu.<\/li>\n<\/ul>\n<p>Basit birka\u00e7 indeks ekleme ve cache stratejisiyle backend s\u00fcresi 400-500 ms civar\u0131na \u00e7ekildi; birka\u00e7 g\u00fcn sonra Core Web Vitals raporunda ayn\u0131 sayfalar\u0131n LCP\u2019si 2 s civar\u0131na d\u00fc\u015ft\u00fc. Burada kilit nokta, <strong>veritaban\u0131 log\u2019u ile access log\u2019un ayn\u0131 grafikte bulu\u015fmas\u0131<\/strong> oldu.<\/p>\n<h3><span id=\"Senaryo_2_CDN_Kullanilmasina_Ragmen_Yuksek_TTFB\">Senaryo 2: CDN Kullan\u0131lmas\u0131na Ra\u011fmen Y\u00fcksek TTFB<\/span><\/h3>\n<p>Ba\u015fka bir projede CDN aktif olmas\u0131na ra\u011fmen; \u00f6zellikle g\u00f6rsel a\u011f\u0131rl\u0131kl\u0131 sayfalarda LCP tatmin edici de\u011fildi. Access log\u2019a CDN cache ba\u015fl\u0131klar\u0131n\u0131 ekleyip analiz yapt\u0131\u011f\u0131m\u0131zda \u015funlar ortaya \u00e7\u0131kt\u0131:<\/p>\n<ul>\n<li>G\u00f6rsel isteklerinin \u00f6nemli k\u0131sm\u0131 MISS olarak origin\u2019e d\u00fc\u015f\u00fcyordu.<\/li>\n<li>Cache-Control ve Expires ba\u015fl\u0131klar\u0131 tutars\u0131zd\u0131; baz\u0131 g\u00f6rsellerde <em>&#8220;no-store&#8221;<\/em> bile vard\u0131.<\/li>\n<li>CDN\u2019den gelen HIT isteklerin <code>request_time<\/code> de\u011feri 100 ms civar\u0131nda, MISS olanlar ise 600-700 ms seviyesindeydi.<\/li>\n<\/ul>\n<p>Do\u011fru cache ba\u015fl\u0131klar\u0131 ve varyant stratejisiyle MISS oran\u0131 ciddi oranda a\u015fa\u011f\u0131 indi; toplam istek s\u00fcresi d\u00fc\u015f\u00fc\u015f\u00fc do\u011frudan LCP grafi\u011fine yans\u0131d\u0131. Tekrar vurgulamakta fayda var: <strong>Cache HIT\/MISS bilgisini access log\u2019a yazm\u0131yorsan\u0131z, bu f\u0131rsatlar\u0131 g\u00f6rmeniz \u00e7ok zor.<\/strong><\/p>\n<h3><span id=\"Senaryo_3_Sadece_Kampanya_Saatlerinde_Bozulan_INP\">Senaryo 3: Sadece Kampanya Saatlerinde Bozulan INP<\/span><\/h3>\n<p>Bir kampanya d\u00f6neminde, site normalde h\u0131zl\u0131yken sadece ak\u015fam 20.00-23.00 aras\u0131ndaki etkile\u015fimlerde INP de\u011ferlerinin bozuldu\u011fu fark edildi. Log analizi \u015funu g\u00f6sterdi:<\/p>\n<ul>\n<li>Bu saatlerde sepet ve kupon kontrol\u00fc yapan AJAX endpoint\u2019lerine yo\u011fun trafik y\u00fckleniyordu.<\/li>\n<li>PHP-FPM slow log\u2019unda, kupon do\u011frulama fonksiyonlar\u0131 1-1.5 saniyeye kadar \u00e7\u0131kan i\u015flem s\u00fcreleriyle g\u00f6r\u00fcld\u00fc.<\/li>\n<li>Bu endpoint\u2019lerin hit oldu\u011fu isteklerde <code>$upstream_response_time<\/code> p75 de\u011feri 1.2 s civar\u0131ndayd\u0131.<\/li>\n<\/ul>\n<p>Kupon kontrol mekanizmas\u0131 yeniden yaz\u0131l\u0131p baz\u0131 i\u015flemler kuyruklara ta\u015f\u0131nd\u0131\u011f\u0131nda; ayn\u0131 kampanya bir sonraki hafta tekrarland\u0131\u011f\u0131nda INP de\u011ferleri normal seviyelere d\u00f6nd\u00fc. Bu \u00f6rnekte g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, <strong>INP sorunlar\u0131 \u00e7o\u011fu zaman eri\u015fim de\u011fil, etkile\u015fim loglar\u0131n\u0131 okumay\u0131 gerektiriyor<\/strong>.<\/p>\n<h2><span id=\"DCHost_Ortaminda_Bu_Olcumleri_Nasil_Kurabilirsiniz\">DCHost Ortam\u0131nda Bu \u00d6l\u00e7\u00fcmleri Nas\u0131l Kurabilirsiniz?<\/span><\/h2>\n<p>DCHost olarak sa\u011flad\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a>, <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>, dedicated ve colocation ortamlar\u0131nda m\u00fc\u015fterilerimizle en \u00e7ok yapt\u0131\u011f\u0131m\u0131z \u00e7al\u0131\u015fmalardan biri, <strong>log ve izleme mimarisini Core Web Vitals hedefleriyle uyumlu hale getirmek<\/strong>. Pratikte tipik ak\u0131\u015f \u015f\u00f6yle oluyor:<\/p>\n<ul>\n<li>Nginx\/Apache access log format\u0131; <code>request_time<\/code>, <code>upstream_response_time<\/code>, cache durumu ve protokol bilgisiyle geni\u015fletiliyor.<\/li>\n<li>Loglar tek bir dosyada b\u0131rak\u0131lmak yerine, gerekti\u011finde <strong>Loki\/ELK gibi merkezi bir sisteme<\/strong> veya en az\u0131ndan g\u00fcnl\u00fck bazl\u0131 rotasyona ta\u015f\u0131n\u0131yor.<\/li>\n<li>PHP-FPM slow log ve veritaban\u0131 slow query log\u2019lar\u0131 aktif edilip, eri\u015fim loglar\u0131yla e\u015fle\u015ftirilebilir hale getiriliyor.<\/li>\n<li>\u00dczerine Prometheus\/Grafana veya benzeri ara\u00e7larla basit fakat etkili dashboard\u2019lar ekleniyor; p75\/p90 grafiklerini path, \u00fclke ve cihaz baz\u0131nda g\u00f6rmek m\u00fcmk\u00fcn oluyor.<\/li>\n<\/ul>\n<p>Bu mimarinin daha genel halini ve alarm kurallar\u0131, log saklama s\u00fcreleri gibi ayr\u0131nt\u0131lar\u0131, <a href=\"https:\/\/www.dchost.com\/blog\/vps-log-yonetimi-nasil-rayina-oturur-grafana-loki-promtail-ile-merkezi-loglama-tutma-sureleri-ve-alarm-kurallari\/\">VPS log y\u00f6netimi rehberimizde<\/a> ad\u0131m ad\u0131m anlatt\u0131k. Core Web Vitals a\u00e7\u0131s\u0131ndan bakt\u0131\u011f\u0131n\u0131zda tek yapman\u0131z gereken, oradaki genel metri\u011fi bu yaz\u0131da bahsetti\u011fimiz <strong>TTFB, backend s\u00fcresi, cache durumu, hata oran\u0131 ve boyut<\/strong> \u00f6l\u00e7\u00fcmleriyle zenginle\u015ftirmek.<\/p>\n<h2><span id=\"Adim_Adim_Yol_Haritasi_Sunucu_Loglarindan_Core_Web_Vitals_Iyilestirmeye\">Ad\u0131m Ad\u0131m Yol Haritas\u0131: Sunucu Loglar\u0131ndan Core Web Vitals \u0130yile\u015ftirmeye<\/span><\/h2>\n<ol>\n<li><strong>Log formatlar\u0131n\u0131 g\u00f6zden ge\u00e7ir<\/strong>: Nginx\/Apache access log\u2019lar\u0131na mutlaka s\u00fcre, cache durumu, protokol ve byte bilgilerini ekleyin.<\/li>\n<li><strong>Segmentleri tan\u0131mla<\/strong>: Path gruplar\u0131, \u00fclke, cihaz tipi ve yo\u011fun saatlere g\u00f6re loglar\u0131 etiketleyin.<\/li>\n<li><strong>p75 odakl\u0131 analiz yap<\/strong>: Ortalama yerine p75\/p90 de\u011ferlerine bakarak, Core Web Vitals raporlar\u0131yla hizalay\u0131n.<\/li>\n<li><strong>Cache ve s\u0131k\u0131\u015ft\u0131rmay\u0131 kontrol et<\/strong>: HIT\/MISS oranlar\u0131n\u0131, cevap boyutlar\u0131n\u0131 ve s\u0131k\u0131\u015ft\u0131rma durumunu inceleyin.<\/li>\n<li><strong>Yava\u015f endpoint ve sorgular\u0131 \u00e7\u0131kar<\/strong>: PHP-FPM slow log ve veritaban\u0131 slow query log\u2019unu access log ile e\u015fle\u015ftirin.<\/li>\n<li><strong>\u00d6nceliklendirme yap<\/strong>: En \u00e7ok trafik alan ve en k\u00f6t\u00fc performans g\u00f6steren 5 endpoint\u2019i se\u00e7ip, \u00f6nce bunlara odaklan\u0131n.<\/li>\n<li><strong>De\u011fi\u015fiklik sonras\u0131 tekrar \u00f6l\u00e7<\/strong>: Yapt\u0131\u011f\u0131n\u0131z her optimizasyondan sonra hem log metriklerini hem Core Web Vitals saha verilerini yeniden kar\u015f\u0131la\u015ft\u0131r\u0131n.<\/li>\n<\/ol>\n<p>Bu s\u00fcreci rutin hale getirmek i\u00e7in, log analizini sadece sorun \u00e7\u0131kt\u0131\u011f\u0131nda yap\u0131lan bir &#8220;yang\u0131n s\u00f6nd\u00fcrme&#8221; i\u015fi olmaktan \u00e7\u0131kar\u0131p, <strong>ayl\u0131k veya \u00e7eyrek d\u00f6nemlik performans g\u00f6zden ge\u00e7irme toplant\u0131lar\u0131n\u0131n<\/strong> par\u00e7as\u0131 haline getirmeyi \u00f6neriyoruz. \u00d6zellikle e-ticaret ve SaaS projelerinde, log bazl\u0131 bu yakla\u015f\u0131m\u0131 <a href=\"https:\/\/www.dchost.com\/blog\/e-ticaret-siteleri-icin-log-analizi-donusum-kaybi-4xx-5xx-ve-odeme-hatalarini-yakalamak\/\">d\u00f6n\u00fc\u015f\u00fcm optimizasyonu<\/a> ile birlikte ele ald\u0131\u011f\u0131n\u0131zda, hem h\u0131z hem gelir taraf\u0131nda \u00e7arpan etkisi yakalan\u0131yor.<\/p>\n<h2><span id=\"Sonuc_Core_Web_Vitals_Sadece_Front-end_Meselesi_Degil\">Sonu\u00e7: Core Web Vitals, Sadece Front-end Meselesi De\u011fil<\/span><\/h2>\n<p>Core Web Vitals \u00e7o\u011fu zaman tasar\u0131mc\u0131 ve front-end ekiplerinin omzuna b\u0131rak\u0131l\u0131yor; ama pratikte iyi skorlar yakalaman\u0131n yolu, <strong>hosting altyap\u0131s\u0131, sunucu konfig\u00fcrasyonu ve log analizi<\/strong> ile yak\u0131ndan ilgilenmekten ge\u00e7iyor. Sunucu loglar\u0131n\u0131 do\u011fru kurgulad\u0131\u011f\u0131n\u0131zda; TTFB dalgalanmalar\u0131n\u0131, cache eksikliklerini, yava\u015f PHP\/DB i\u015flemlerini ve belirli segmentlerde patlayan hata oranlar\u0131n\u0131 \u00e7ok net g\u00f6rebiliyor, bunlar\u0131 do\u011frudan LCP ve INP grafikleriyle ili\u015fkilendirebiliyorsunuz.<\/p>\n<p>DCHost taraf\u0131nda pek \u00e7ok projede g\u00f6rd\u00fc\u011f\u00fcm\u00fcz ortak nokta \u015fu: Sadece birka\u00e7 g\u00fcne yay\u0131lm\u0131\u015f, odakl\u0131 bir log analizi \u00e7al\u0131\u015fmas\u0131 bile; en az birka\u00e7 ayl\u0131k front-end optimizasyon turuna bedel iyile\u015ftirme f\u0131rsatlar\u0131 \u00e7\u0131karabiliyor. E\u011fer siz de sitenizin Core Web Vitals skorlar\u0131yla bo\u011fu\u015fuyor ve problemin tam olarak nereden geldi\u011fini kestiremiyorsan\u0131z, \u00f6nce loglara bakman\u0131z\u0131 tavsiye ederiz.<\/p>\n<p>Yeni bir DCHost VPS, dedicated veya colocation ortam\u0131 kurarken log ve izleme mimarisini en ba\u015fta do\u011fru tasarlamak istiyorsan\u0131z, ekibimizle birlikte <strong>projenize \u00f6zel bir log ve performans kontrol listesi<\/strong> \u00fczerinden ilerleyebiliriz. B\u00f6ylece, hem bug\u00fcnk\u00fc Core Web Vitals skorlar\u0131n\u0131 iyile\u015ftirir hem de b\u00fcy\u00fcd\u00fck\u00e7e tekrar tekrar kullan\u0131labilecek sa\u011flam bir g\u00f6zlemlenebilirlik (observability) temeli atm\u0131\u015f olursunuz.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Core Web Vitals ve Sunucu Loglar\u0131 Neden Ayn\u0131 Masaya Oturmal\u0131?2 Core Web Vitals\u2019\u0131n Sunucuya Dokunan K\u0131sm\u01313 Sa\u011flam Bir Log Altyap\u0131s\u0131 Kurmadan Core Web Vitals Okunmaz3.1 1. Access log mu, error log mu, yoksa uygulama log\u2019u mu?3.2 2. Nginx i\u00e7in \u00f6rnek log_format (Core Web Vitals dostu)3.3 3. Apache i\u00e7in extended log ayarlar\u01314 Core Web Vitals [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4555,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-4554","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/4554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=4554"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/4554\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/4555"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=4554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=4554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=4554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}