{"id":3382,"date":"2025-12-26T15:08:04","date_gmt":"2025-12-26T12:08:04","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/wordpress-veritabani-optimizasyonu-wp_options-ve-autoload-sismesini-temizleme-rehberi\/"},"modified":"2026-11-04T16:29:00","modified_gmt":"2026-11-04T13:29:00","slug":"wordpress-veritabani-optimizasyonu","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/wordpress-veritabani-optimizasyonu\/","title":{"rendered":"WordPress Veritaban\u0131 Optimizasyonu: Autoload ve Tablolar"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" role=\"navigation\" aria-label=\"Table of Contents\" data-nosnippet class=\"toc_transparent no_bullets toc_numbered toc_title_center\"><p class=\"toc_title\">\u0130\u00e7indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#WordPress_Veritabaninda_Autoload_ve_Buyuk_Tablolar\"><span class=\"toc_number toc_depth_1\">1.<\/span> WordPress Veritaban\u0131nda Autoload ve B\u00fcy\u00fck Tablolar<\/a><\/li><li><a href=\"#wp_options_Tablosunu_Gercekten_Tanimak\"><span class=\"toc_number toc_depth_1\">2.<\/span> wp_options Tablosunu Ger\u00e7ekten Tan\u0131mak<\/a><ul><li><a href=\"#Temel_Yapi_Hangi_Alan_Ne_Ise_Yarar\"><span class=\"toc_number toc_depth_2\">2.1.<\/span> Temel Yap\u0131: Hangi Alan Ne \u0130\u015fe Yarar?<\/a><\/li><li><a href=\"#Autoload_Mantigi_Nasil_Calisir\"><span class=\"toc_number toc_depth_2\">2.2.<\/span> Autoload Mant\u0131\u011f\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/a><\/li><li><a href=\"#Hangi_Veriler_wp_options_Icine_Yazilir\"><span class=\"toc_number toc_depth_2\">2.3.<\/span> Hangi Veriler wp_options \u0130\u00e7ine Yaz\u0131l\u0131r?<\/a><\/li><\/ul><\/li><li><a href=\"#Sismis_wp_options_Belirtileri_ve_Teshis_Yontemleri\"><span class=\"toc_number toc_depth_1\">3.<\/span> \u015ei\u015fmi\u015f wp_options Belirtileri ve Te\u015fhis Y\u00f6ntemleri<\/a><ul><li><a href=\"#Sismis_wp_options_Tablosunun_Tipik_Belirtileri\"><span class=\"toc_number toc_depth_2\">3.1.<\/span> \u015ei\u015fmi\u015f wp_options Tablosunun Tipik Belirtileri<\/a><\/li><li><a href=\"#Once_Veritabaninin_Tamamini_Karsilastirin\"><span class=\"toc_number toc_depth_2\">3.2.<\/span> \u00d6nce Veritaban\u0131n\u0131n Tamam\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131r\u0131n<\/a><\/li><li><a href=\"#Tablonun_Boyutu_ve_Autoload_Toplamini_Olcmek\"><span class=\"toc_number toc_depth_2\">3.3.<\/span> Tablonun Boyutu ve Autoload Toplam\u0131n\u0131 \u00d6l\u00e7mek<\/a><\/li><li><a href=\"#Slow_Query_Log_ve_EXPLAIN_Ciktilarini_Incelemek\"><span class=\"toc_number toc_depth_2\">3.4.<\/span> Slow Query Log ve EXPLAIN \u00c7\u0131kt\u0131lar\u0131n\u0131 \u0130ncelemek<\/a><\/li><\/ul><\/li><li><a href=\"#Guvenli_Temizlikten_Once_Yedek_ve_Test_Ortami\"><span class=\"toc_number toc_depth_1\">4.<\/span> G\u00fcvenli Temizlikten \u00d6nce: Yedek ve Test Ortam\u0131<\/a><ul><li><a href=\"#Her_Seyden_Once_Tam_Yedek_Alin\"><span class=\"toc_number toc_depth_2\">4.1.<\/span> Her \u015eeyden \u00d6nce Tam Yedek Al\u0131n<\/a><\/li><li><a href=\"#Staging_Test_Ortami_Uzerinde_Calismak\"><span class=\"toc_number toc_depth_2\">4.2.<\/span> Staging \/ Test Ortam\u0131 \u00dczerinde \u00c7al\u0131\u015fmak<\/a><\/li><\/ul><\/li><li><a href=\"#wp_options_Temizligi_Transient_Cache_ve_Yetim_Kayitlar\"><span class=\"toc_number toc_depth_1\">5.<\/span> wp_options Temizli\u011fi: Transient, Cache ve Yetim Kay\u0131tlar<\/a><ul><li><a href=\"#1_Transient_Temizliginde_Sure_ve_Kapsam_Kontrolu\"><span class=\"toc_number toc_depth_2\">5.1.<\/span> 1. Transient Temizli\u011finde S\u00fcre ve Kapsam Kontrol\u00fc<\/a><\/li><li><a href=\"#2_Kullanilmayan_Eklenti_ve_Tema_Ayarlarini_Tespit_Etmek\"><span class=\"toc_number toc_depth_2\">5.2.<\/span> 2. Kullan\u0131lmayan Eklenti ve Tema Ayarlar\u0131n\u0131 Tespit Etmek<\/a><\/li><li><a href=\"#3_Log_Istatistik_ve_Buyuk_Boyutlu_Kayitlari_Incelemek\"><span class=\"toc_number toc_depth_2\">5.3.<\/span> 3. Log, \u0130statistik ve B\u00fcy\u00fck Boyutlu Kay\u0131tlar\u0131 \u0130ncelemek<\/a><\/li><\/ul><\/li><li><a href=\"#Autoload_Sismesini_Kontrol_Altina_Almak\"><span class=\"toc_number toc_depth_1\">6.<\/span> Autoload \u015ei\u015fmesini Kontrol Alt\u0131na Almak<\/a><ul><li><a href=\"#Toplam_Autoload_Boyutunu_Olcmek_ve_Hedef_Belirlemek\"><span class=\"toc_number toc_depth_2\">6.1.<\/span> Toplam Autoload Boyutunu \u00d6l\u00e7mek ve Hedef Belirlemek<\/a><\/li><li><a href=\"#Hangi_Veriler_Autoload_Olmamali\"><span class=\"toc_number toc_depth_2\">6.2.<\/span> Hangi Veriler Autoload Olmamal\u0131?<\/a><\/li><li><a href=\"#Autoload_Bayraklarini_Duzenlerken_Dikkat_Edilmesi_Gerekenler\"><span class=\"toc_number toc_depth_2\">6.3.<\/span> Autoload Bayraklar\u0131n\u0131 D\u00fczenlerken Dikkat Edilmesi Gerekenler<\/a><\/li><\/ul><\/li><li><a href=\"#Buyuk_WordPress_Tablolarini_Incelemek_ve_Bakimini_Planlamak\"><span class=\"toc_number toc_depth_1\">7.<\/span> B\u00fcy\u00fck WordPress Tablolar\u0131n\u0131 \u0130ncelemek ve Bak\u0131m\u0131n\u0131 Planlamak<\/a><ul><li><a href=\"#Canli_Veride_Partili_Islem_Icin_Ayri_Bir_Plan_Hazirlayin\"><span class=\"toc_number toc_depth_2\">7.1.<\/span> Canl\u0131 Veride Partili \u0130\u015flem \u0130\u00e7in Ayr\u0131 Bir Plan Haz\u0131rlay\u0131n<\/a><\/li><li><a href=\"#wp_postmeta_Boyutu_ve_Yetim_Kayitlar\"><span class=\"toc_number toc_depth_2\">7.2.<\/span> wp_postmeta Boyutu ve Yetim Kay\u0131tlar<\/a><\/li><li><a href=\"#Revizyonlar_Cop_Kutusu_ve_Spam_Yorumlar\"><span class=\"toc_number toc_depth_2\">7.3.<\/span> Revizyonlar, \u00c7\u00f6p Kutusu ve Spam Yorumlar<\/a><\/li><li><a href=\"#Eklenti_Loglari_ve_Saklama_Politikasi\"><span class=\"toc_number toc_depth_2\">7.4.<\/span> Eklenti Loglar\u0131 ve Saklama Politikas\u0131<\/a><\/li><li><a href=\"#OPTIMIZE_ve_ANALYZE_Amac_ve_Kapasite_Kontrolu\"><span class=\"toc_number toc_depth_2\">7.5.<\/span> OPTIMIZE ve ANALYZE: Ama\u00e7 ve Kapasite Kontrol\u00fc<\/a><\/li><li><a href=\"#Depolama_Motoru_ve_Indeksleri_Kontrol_Edin\"><span class=\"toc_number toc_depth_2\">7.6.<\/span> Depolama Motoru ve \u0130ndeksleri Kontrol Edin<\/a><\/li><\/ul><\/li><li><a href=\"#Gelistiriciler_Icin_En_Iyi_Uygulamalar_Sismeyi_Bastan_Onlemek\"><span class=\"toc_number toc_depth_1\">8.<\/span> Geli\u015ftiriciler \u0130\u00e7in En \u0130yi Uygulamalar: \u015ei\u015fmeyi Ba\u015ftan \u00d6nlemek<\/a><ul><li><a href=\"#add_option_Kullanirken_Autoload_Parametresi\"><span class=\"toc_number toc_depth_2\">8.1.<\/span> add_option Kullan\u0131rken Autoload Parametresi<\/a><\/li><li><a href=\"#wp-cron_Zamanlanmis_Gorevler_ve_Temizlik\"><span class=\"toc_number toc_depth_2\">8.2.<\/span> wp-cron, Zamanlanm\u0131\u015f G\u00f6revler ve Temizlik<\/a><\/li><li><a href=\"#Persistent_Object_Cache_Kullanimi_Redis_vb\"><span class=\"toc_number toc_depth_2\">8.3.<\/span> Persistent Object Cache Kullan\u0131m\u0131 (Redis vb.)<\/a><\/li><\/ul><\/li><li><a href=\"#Veritabani_ve_Hosting_Katmaninda_Ek_Optimizasyonlar\"><span class=\"toc_number toc_depth_1\">9.<\/span> Veritaban\u0131 ve Hosting Katman\u0131nda Ek Optimizasyonlar<\/a><ul><li><a href=\"#Indeksler_ve_MySQL_Tarafi_Ayarlar\"><span class=\"toc_number toc_depth_2\">9.1.<\/span> \u0130ndeksler ve MySQL Taraf\u0131 Ayarlar<\/a><\/li><li><a href=\"#TTFB_ve_Genel_Sayfa_Hizina_Etkisi\"><span class=\"toc_number toc_depth_2\">9.2.<\/span> TTFB ve Genel Sayfa H\u0131z\u0131na Etkisi<\/a><\/li><li><a href=\"#Dogru_Hosting_ve_Kaynak_Planlamasi\"><span class=\"toc_number toc_depth_2\">9.3.<\/span> Do\u011fru Hosting ve Kaynak Planlamas\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Uzun_Vadeli_Bakim_Buyumeyi_ve_Sorgu_Maliyetini_Izlemek\"><span class=\"toc_number toc_depth_1\">10.<\/span> Uzun Vadeli Bak\u0131m: B\u00fcy\u00fcmeyi ve Sorgu Maliyetini \u0130zlemek<\/a><ul><li><a href=\"#Duzenli_Kontrol_ve_Otomasyon\"><span class=\"toc_number toc_depth_2\">10.1.<\/span> D\u00fczenli Kontrol ve Otomasyon<\/a><\/li><li><a href=\"#Gelistirici_ve_Sistem_Tarafinin_Birlikte_Calismasi\"><span class=\"toc_number toc_depth_2\">10.2.<\/span> Geli\u015ftirici ve Sistem Taraf\u0131n\u0131n Birlikte \u00c7al\u0131\u015fmas\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Sonuc_Gereksiz_Veriyi_Ayirin_Etkiyi_Olcun\"><span class=\"toc_number toc_depth_1\">11.<\/span> Sonu\u00e7: Gereksiz Veriyi Ay\u0131r\u0131n, Etkiyi \u00d6l\u00e7\u00fcn<\/a><\/li><li><a href=\"#Resmi_Kaynaklar\"><span class=\"toc_number toc_depth_1\">12.<\/span> Resm\u00ee Kaynaklar<\/a><\/li><\/ul><\/div>\n<h2><span id=\"WordPress_Veritabaninda_Autoload_ve_Buyuk_Tablolar\">WordPress Veritaban\u0131nda Autoload ve B\u00fcy\u00fck Tablolar<\/span><\/h2>\n<p>WordPress sitelerde veritaban\u0131 performans\u0131 konu\u015fulunca \u00e7o\u011fu ki\u015fi do\u011frudan sorgulardan, indekslerden veya MySQL ayarlar\u0131ndan bahseder. Ancak incelenmesi gereken alanlardan biri de b\u00fcy\u00fcyen <strong>wp_options<\/strong> tablosudur. \u00d6zellikle WooCommerce, \u00e7ok say\u0131da eklenti veya s\u0131k tema de\u011fi\u015fikli\u011fi kullan\u0131lan sitelerde gereksiz kay\u0131tlar ve b\u00fcy\u00fck <strong>autoload<\/strong> verileri birikebilir. Bu durum artan TTFB ve kaynak kullan\u0131m\u0131na katk\u0131da bulunabilir; yava\u015fl\u0131k veya beyaz ekran tek ba\u015f\u0131na bu tablonun sorunlu oldu\u011funu g\u00f6stermez.<\/p>\n<p>Bu rehberde WordPress veritaban\u0131 optimizasyonunu iki d\u00fczeyde ele al\u0131yoruz: <code>wp_options<\/code> ve autoload y\u00fck\u00fc; ard\u0131ndan <code>wp_postmeta<\/code>, revizyonlar, yorumlar ve eklenti loglar\u0131 gibi b\u00fcy\u00fck tablolar. \u00d6nce verinin boyutunu, kullan\u0131m\u0131n\u0131 ve sorgu maliyetini \u00f6l\u00e7\u00fcyor; sonra do\u011frulanm\u0131\u015f silme adaylar\u0131n\u0131, saklama kurallar\u0131n\u0131 ve tablo bak\u0131m\u0131n\u0131 de\u011ferlendiriyoruz. Yedek ve staging kontrollerini, b\u00fcy\u00fck canl\u0131 tablolar i\u00e7in ayr\u0131ca tasarlanmas\u0131 gereken partili y\u00fcr\u00fctme plan\u0131ndan ay\u0131r\u0131yoruz. Ama\u00e7, gerekli veriyi koruyarak darbo\u011faza y\u00f6nelik \u00f6l\u00e7\u00fclebilir bir iyile\u015ftirme sa\u011flamakt\u0131r.<\/p>\n<h2><span id=\"wp_options_Tablosunu_Gercekten_Tanimak\">wp_options Tablosunu Ger\u00e7ekten Tan\u0131mak<\/span><\/h2>\n<h3><span id=\"Temel_Yapi_Hangi_Alan_Ne_Ise_Yarar\">Temel Yap\u0131: Hangi Alan Ne \u0130\u015fe Yarar?<\/span><\/h3>\n<p>Varsay\u0131lan bir WordPress kurulumunda wp_options tablosu (\u00f6nek de\u011fi\u015ftirdiyseniz farkl\u0131 isimdedir) \u015fu kritik alanlar\u0131 i\u00e7erir:<\/p>\n<ul>\n<li><strong>option_id<\/strong>: Her kay\u0131t i\u00e7in benzersiz kimlik (primary key).<\/li>\n<li><strong>option_name<\/strong>: Ayar\u0131n ad\u0131. \u00d6rnek: siteurl, home, blogdescription, woocommerce_version, wc_cache_excluded.<\/li>\n<li><strong>option_value<\/strong>: Ayar\u0131n ger\u00e7ek de\u011feri. D\u00fcz metin, dizi (serialize edilmi\u015f), JSON vb olabilir.<\/li>\n<li><strong>autoload<\/strong>: Ayar\u0131n otomatik y\u00fcklenme davran\u0131\u015f\u0131n\u0131 belirleyen alan.<\/li>\n<\/ul>\n<p>Uygulama taraf\u0131nda pek \u00e7ok eklenti ve tema, konfig\u00fcrasyon verilerini, ge\u00e7ici cache verilerini ve hatta log benzeri verileri bile wp_options i\u00e7inde saklar. Bu da zaman i\u00e7inde tablonun hem sat\u0131r say\u0131s\u0131 hem de tek tek option_value boyutu a\u00e7\u0131s\u0131ndan b\u00fcy\u00fcmesine neden olur.<\/p>\n<h3><span id=\"Autoload_Mantigi_Nasil_Calisir\">Autoload Mant\u0131\u011f\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/span><\/h3>\n<p>WordPress\u2019in \u00e7al\u0131\u015ft\u0131\u011f\u0131 isteklerde, belli ayarlar\u0131 tek tek sorgulamak yerine birlikte y\u00fcklemek i\u00e7in autoload alan\u0131 kullan\u0131l\u0131r. A\u015fa\u011f\u0131da yes \/ no de\u011ferleri \u00fczerinden basitle\u015ftirilmi\u015f bir \u00f6rnek verilmi\u015ftir:<\/p>\n<ul>\n<li>autoload = yes olan kay\u0131tlar birlikte y\u00fcklenir; kal\u0131c\u0131 nesne \u00f6nbelle\u011finde kullan\u0131labilir veri varsa her istekte yeniden SELECT \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 gerekmez.<\/li>\n<li>autoload = no olan kay\u0131tlar ihtiya\u00e7 duyuldu\u011funda al\u0131n\u0131r; \u00f6nbellekten kar\u015f\u0131lanan eri\u015fim i\u00e7in ayr\u0131ca veritaban\u0131 sorgusu gerekmez.<\/li>\n<\/ul>\n<p>Autoload ile y\u00fcklenen verilerin toplam boyutu b\u00fcy\u00fcd\u00fck\u00e7e bellek ve veri i\u015fleme y\u00fck\u00fc artabilir. \u00d6zellikle y\u00fczlerce kilobayt veya megabayta ula\u015fan serialize edilmi\u015f dizilerin TTFB \u00fczerindeki etkisini \u00f6l\u00e7mek gerekir; veri boyutu tek ba\u015f\u0131na gecikmenin nedenini veya b\u00fcy\u00fckl\u00fc\u011f\u00fcn\u00fc belirlemez.<\/p>\n<h3><span id=\"Hangi_Veriler_wp_options_Icine_Yazilir\">Hangi Veriler wp_options \u0130\u00e7ine Yaz\u0131l\u0131r?<\/span><\/h3>\n<p>Genel olarak \u015funlar\u0131 wp_options i\u00e7inde g\u00f6r\u00fcrs\u00fcn\u00fcz:<\/p>\n<ul>\n<li>\u00c7ekirdek WordPress ayarlar\u0131 (siteurl, home, permalink_structure vb).<\/li>\n<li>Tema ayarlar\u0131, widget konfig\u00fcrasyonlar\u0131.<\/li>\n<li>Eklenti lisans anahtarlar\u0131, API anahtarlar\u0131, genel konfig\u00fcrasyonlar.<\/li>\n<li>Ge\u00e7ici veriler (transient), cache edilmi\u015f sonu\u00e7lar.<\/li>\n<li>Bazen hatal\u0131 yaz\u0131lm\u0131\u015f eklentiler nedeniyle log, istatistik, b\u00fcy\u00fck liste verileri, queue benzeri yap\u0131lar.<\/li>\n<\/ul>\n<p>B\u00fcy\u00fck veri setlerinde eri\u015fim bi\u00e7imine g\u00f6re ayr\u0131 \u00f6zel tablolar, yeniden \u00fcretilebilir \u00f6nbellek verileri i\u00e7inse Redis gibi harici cache sistemleri de\u011ferlendirilebilir. Kal\u0131c\u0131 verinin saklanmas\u0131 ile \u00f6nbellekleme farkl\u0131 ihtiya\u00e7lard\u0131r; wp_options i\u00e7indeki her b\u00fcy\u00fck kay\u0131t da gereksiz de\u011fildir.<\/p>\n<h2><span id=\"Sismis_wp_options_Belirtileri_ve_Teshis_Yontemleri\">\u015ei\u015fmi\u015f wp_options Belirtileri ve Te\u015fhis Y\u00f6ntemleri<\/span><\/h2>\n<h3><span id=\"Sismis_wp_options_Tablosunun_Tipik_Belirtileri\">\u015ei\u015fmi\u015f wp_options Tablosunun Tipik Belirtileri<\/span><\/h3>\n<p>A\u015fa\u011f\u0131daki belirtiler wp_options tablosunu incelemek i\u00e7in gerek\u00e7e olabilir; ancak tek ba\u015flar\u0131na sorunun bu tablodan kaynakland\u0131\u011f\u0131n\u0131 kan\u0131tlamaz:<\/p>\n<ul>\n<li>\u00d6nbellek kapal\u0131yken veya oturum a\u00e7m\u0131\u015f kullan\u0131c\u0131lar i\u00e7in <strong>\u00e7ok y\u00fcksek TTFB<\/strong> (\u00f6rne\u011fin 1\u20132 saniye).<\/li>\n<li>MySQL slow query log i\u00e7inde s\u00fcrekli tekrar eden SELECT * FROM wp_options &#8230; sorgular\u0131.<\/li>\n<li>phpMyAdmin veya benzeri ara\u00e7larda wp_options tablosunun y\u00fcz binlerce kayda ula\u015fmas\u0131.<\/li>\n<li>Sunucu taraf\u0131nda CPU kullan\u0131m\u0131n\u0131n, \u00f6zellikle trafik artt\u0131\u011f\u0131nda h\u0131zla tavana vurmas\u0131.<\/li>\n<\/ul>\n<p>Siteniz belli saatlerde yava\u015fl\u0131yorsa ve \u00f6zellikle MySQL taraf\u0131nda tak\u0131lmalar g\u00f6r\u00fcyorsan\u0131z, <a href='https:\/\/www.dchost.com\/blog\/belirli-saatlerde-site-yavasligi\/'>CPU, IO ve MySQL darbo\u011faz\u0131 te\u015fhisi rehberimizde<\/a> anlatt\u0131\u011f\u0131m\u0131z y\u00f6ntemlerle darbo\u011faz\u0131n kayna\u011f\u0131n\u0131 ara\u015ft\u0131rabilirsiniz. wp_options&#8217;\u0131n pay\u0131n\u0131 sorgu s\u00fcreleri ve kaynak kullan\u0131m\u0131 \u00f6l\u00e7\u00fcmleriyle de\u011ferlendirin.<\/p>\n<h3><span id=\"Once_Veritabaninin_Tamamini_Karsilastirin\">\u00d6nce Veritaban\u0131n\u0131n Tamam\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131r\u0131n<\/span><\/h3>\n<p>Yaln\u0131zca <code>wp_options<\/code> boyutuna bakmay\u0131n. A\u015fa\u011f\u0131daki salt okunur sorguda <code>your_database_name<\/code> yerine hedef veritaban\u0131n\u0131 yaz\u0131n; sonraki \u00f6rneklerde de <code>wp_<\/code> \u00f6nekini ger\u00e7ek tablo adlar\u0131yla de\u011fi\u015ftirin. Multisite kurulumunda hedef siteyi ve a\u011f tablolar\u0131n\u0131 ayr\u0131ca belirleyin. Yetkiniz yoksa hosting y\u00f6neticisinden rapor isteyin.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT \n  TABLE_NAME, \n  ROUND((DATA_LENGTH + INDEX_LENGTH) \/ 1024 \/ 1024, 2) AS size_mb\nFROM information_schema.TABLES\nWHERE TABLE_SCHEMA = &#039;your_database_name&#039;\nORDER BY size_mb DESC;\n<\/code><\/pre>\n<p><code>DATA_LENGTH + INDEX_LENGTH<\/code>, InnoDB i\u00e7in bildirilen yakla\u015f\u0131k veri\/indeks tahsisidir; silinebilir kay\u0131t miktar\u0131 veya i\u015flem i\u00e7in gereken bo\u015f alan de\u011fildir. 1024\u00b2 b\u00f6leni nedeniyle <code>size_mb<\/code> s\u00fctunundaki birim MiB&#8217;dir. Tablo b\u00fcy\u00fckl\u00fc\u011f\u00fc ve b\u00fcy\u00fcme h\u0131z\u0131, sorgu s\u00fcreleriyle birlikte ara\u015ft\u0131rma \u00f6nceli\u011fi belirler; b\u00fcy\u00fck tablo tek ba\u015f\u0131na gereksiz veri veya performans sorunu kan\u0131t\u0131 de\u011fildir.<\/p>\n<h3><span id=\"Tablonun_Boyutu_ve_Autoload_Toplamini_Olcmek\">Tablonun Boyutu ve Autoload Toplam\u0131n\u0131 \u00d6l\u00e7mek<\/span><\/h3>\n<p>\u0130lk ad\u0131m, wp_options tablonuzun kabaca ne durumda oldu\u011funu g\u00f6rmektir. A\u015fa\u011f\u0131daki salt okunur SELECT sorgular\u0131n\u0131 SSH ile MySQL kabu\u011fundan veya phpMyAdmin SQL sekmesinden \u00e7al\u0131\u015ft\u0131rabilirsiniz; farkl\u0131 bir tablo \u00f6neki kullan\u0131yorsan\u0131z wp_options ad\u0131n\u0131 uyarlay\u0131n. \u0130kinci ve \u00fc\u00e7\u00fcnc\u00fc sorgu, <strong>WordPress 6.6 ve sonras\u0131 i\u00e7in varsay\u0131lan etkin autoload de\u011ferlerini<\/strong> (yes, on, auto-on, auto) kapsar. wp_autoload_values_to_autoload filtresi bu k\u00fcmeyi daraltabilir; sitenize \u00f6zg\u00fc toplam\u0131 \u00f6l\u00e7mek i\u00e7in ayn\u0131 adl\u0131 \u00e7ekirdek i\u015flevinin ger\u00e7ek sonucunu kontrol edip IN listesini buna g\u00f6re uyarlay\u0131n. \u0130kinci sorgu, se\u00e7ilen option_value alanlar\u0131n\u0131n saklanan bayt uzunluklar\u0131n\u0131 toplar ve 1024&#8217;e b\u00f6lerek KiB cinsinden verir; tablo\/indeks boyutunu veya PHP bellek t\u00fcketimini \u00f6l\u00e7mez. Ayr\u0131ca wp_load_alloptions \u00f6nbellek ve filtrelerden etkilenir; veritaban\u0131 se\u00e7imi bo\u015fsa t\u00fcm se\u00e7eneklere ba\u015fvurabilir. Bu nedenle statik SQL sonucu, \u00e7al\u0131\u015fma an\u0131nda kullan\u0131lan nihai autoload verisiyle veya her istekte fiziksel sorgu \u00e7al\u0131\u015fmas\u0131yla e\u015f tutulmamal\u0131d\u0131r:<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT COUNT(*) AS toplam_kayit\nFROM wp_options;\n\nSELECT SUM(LENGTH(option_value)) \/ 1024 AS kb_autoload\nFROM wp_options\nWHERE autoload IN (&#039;yes&#039;, &#039;on&#039;, &#039;auto-on&#039;, &#039;auto&#039;);\n\nSELECT option_name, LENGTH(option_value) AS boyut\nFROM wp_options\nWHERE autoload IN (&#039;yes&#039;, &#039;on&#039;, &#039;auto-on&#039;, &#039;auto&#039;)\nORDER BY boyut DESC\nLIMIT 20;\n<\/code><\/pre>\n<p>Autoload verilerini birka\u00e7 y\u00fcz KB d\u00fczeyinde tutmak bir optimizasyon hedefi olabilir, ancak evrensel bir s\u0131n\u0131r de\u011fildir. Megabayt d\u00fczeyindeki verileri inceleyin; temizlik veya yeniden yap\u0131land\u0131rma karar\u0131n\u0131 kay\u0131tlar\u0131n kullan\u0131m\u0131na ve \u00f6l\u00e7\u00fclen performans etkisine g\u00f6re verin.<\/p>\n<h3><span id=\"Slow_Query_Log_ve_EXPLAIN_Ciktilarini_Incelemek\">Slow Query Log ve EXPLAIN \u00c7\u0131kt\u0131lar\u0131n\u0131 \u0130ncelemek<\/span><\/h3>\n<p>E\u011fer <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> veya <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a> kullan\u0131yorsan\u0131z, MySQL slow query log eri\u015fiminiz varsa, kaydedilen wp_options sorgular\u0131n\u0131 inceleyebilirsiniz. A\u015fa\u011f\u0131daki SELECT, WordPress 6.6 ve sonras\u0131n\u0131n varsay\u0131lan etkin autoload de\u011ferlerine g\u00f6re sat\u0131r se\u00e7imini g\u00f6sterir. wp_autoload_values_to_autoload filtresi listeyi daraltabilir; sitenizde kullan\u0131lan listeyi kontrol edin. \u00d6rne\u011fi her s\u00fcr\u00fcmde aynen veya her istekte \u00e7al\u0131\u015fan bir sorgu olarak kabul etmeyin: \u00f6nbellek ve wp_load_alloptions filtreleri \u00e7al\u0131\u015fma an\u0131ndaki davran\u0131\u015f\u0131 de\u011fi\u015ftirebilir. Farkl\u0131 tablo \u00f6neki kullan\u0131yorsan\u0131z wp_options ad\u0131n\u0131 uyarlay\u0131n:<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT option_name, option_value\nFROM wp_options\nWHERE autoload IN (&#039;yes&#039;, &#039;on&#039;, &#039;auto-on&#039;, &#039;auto&#039;);\n<\/code><\/pre>\n<p>Bu t\u00fcr sorgular s\u0131k \u00e7al\u0131\u015f\u0131yor ve b\u00fcy\u00fck miktarda veri okuyorsa veritaban\u0131 y\u00fck\u00fcn\u00fc art\u0131rabilir; tablo boyutu tek ba\u015f\u0131na disk I\/O veya CPU darbo\u011faz\u0131n\u0131 kan\u0131tlamaz. Ayr\u0131ca, option_name \u00fczerinden yap\u0131lan aramalar\u0131n eri\u015fim plan\u0131n\u0131 ve mevcut indekslerin kullan\u0131m\u0131n\u0131 EXPLAIN ile inceleyebilirsiniz. Sunucu taraf\u0131 ayarlar\u0131 ile ilgili daha geni\u015f bir perspektif i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/wordpress-sunucu-optimizasyonu-php-redis-mysql\/'>WordPress i\u00e7in sunucu taraf\u0131 optimizasyon rehberimize<\/a> de g\u00f6z atman\u0131z faydal\u0131 olacakt\u0131r.<\/p>\n<h2><span id=\"Guvenli_Temizlikten_Once_Yedek_ve_Test_Ortami\">G\u00fcvenli Temizlikten \u00d6nce: Yedek ve Test Ortam\u0131<\/span><\/h2>\n<h3><span id=\"Her_Seyden_Once_Tam_Yedek_Alin\">Her \u015eeyden \u00d6nce Tam Yedek Al\u0131n<\/span><\/h3>\n<p>Veritaban\u0131 \u00fczerinde manuel sorgular \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z i\u00e7in, ilk ve tart\u0131\u015fmas\u0131z kural\u0131m\u0131z: <strong>\u00d6nce tam yedek<\/strong>. \u00dcretim veritaban\u0131nda de\u011fi\u015fiklik yapmadan \u00f6nce \u015fu g\u00fcvenlik ad\u0131mlar\u0131n\u0131 uygulay\u0131n:<\/p>\n<ul>\n<li>Tam veritaban\u0131 yede\u011fi (mysqldump, panel yede\u011fi veya otomatik yedek sistemi).<\/li>\n<li>M\u00fcmk\u00fcnse dosya sistemi dahil tam site yede\u011fi.<\/li>\n<li>Yede\u011fin geri y\u00fcklenebilir oldu\u011funu <strong>en az bir kez test etmi\u015f<\/strong> olmak.<\/li>\n<\/ul>\n<p>Bu konuda ad\u0131m ad\u0131m fikir almak isterseniz, <a href='https:\/\/www.dchost.com\/blog\/wordpress-yedekleme-stratejileri-paylasimli-hosting-ve-vpste-otomatik\/'>WordPress yedekleme stratejileri yaz\u0131m\u0131zda<\/a> hem <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a> hem de VPS taraf\u0131nda otomatik yedek ve geri y\u00fckleme senaryolar\u0131n\u0131 detayl\u0131ca anlatt\u0131k. Daha veritaban\u0131 odakl\u0131 bir bak\u0131\u015f i\u00e7in de <a href='https:\/\/www.dchost.com\/blog\/mysql-veritabani-yedekleme-stratejileri-mysqldump-percona-xtrabackup\/'>MySQL veritaban\u0131 yedekleme stratejileri rehberimizden<\/a> faydalanabilirsiniz.<\/p>\n<h3><span id=\"Staging_Test_Ortami_Uzerinde_Calismak\">Staging \/ Test Ortam\u0131 \u00dczerinde \u00c7al\u0131\u015fmak<\/span><\/h3>\n<p>\u00d6zellikle yo\u011fun trafikli e-ticaret sitelerinde, veritaban\u0131 temizli\u011fi ve autoload ayarlar\u0131n\u0131 do\u011frudan canl\u0131 ortamda denemek risklidir. \u0130deal senaryo:<\/p>\n<ul>\n<li>Canl\u0131 sitenizi staging alan\u0131na klonlay\u0131n; \u00f6deme entegrasyonlar\u0131n\u0131 test moduna al\u0131n ve ger\u00e7ek m\u00fc\u015fterilere e-posta veya d\u0131\u015f sistemlere \u00fcretim i\u015flemi g\u00f6nderilmesini engelleyin.<\/li>\n<li>Yaln\u0131zca se\u00e7ti\u011finiz ve kapsam\u0131n\u0131 do\u011frulad\u0131\u011f\u0131n\u0131z bak\u0131m y\u00f6ntemini staging&#8217;de test edin; \u00e7al\u0131\u015ft\u0131r\u0131lmamas\u0131 gereken kar\u015f\u0131 \u00f6rnekleri uygulamay\u0131n.<\/li>\n<li>Kritik formlar, \u00f6deme, giri\u015f\/\u00e7\u0131k\u0131\u015f ve arama ak\u0131\u015flar\u0131n\u0131 kontrol edin.<\/li>\n<li>Canl\u0131 de\u011fi\u015fiklik i\u00e7in g\u00fcncel yedek ve ayr\u0131 y\u00fcr\u00fctme plan\u0131n\u0131 do\u011frulay\u0131n; s\u0131n\u0131rs\u0131z staging \u00f6rneklerini b\u00fcy\u00fck canl\u0131 tablolara ta\u015f\u0131may\u0131n.<\/li>\n<\/ul>\n<p>Staging i\u00e7in ayr\u0131 bir alt alan ad\u0131 ve veritaban\u0131 kullanmak bir se\u00e7enektir. Ancak bunlar tek ba\u015f\u0131na kaynak izolasyonu sa\u011flamaz; ayn\u0131 sunucudaki yo\u011fun testler canl\u0131 trafi\u011fi etkileyebilir. Test ortam\u0131n\u0131n canl\u0131 veritaban\u0131na veya \u00fcretim entegrasyonlar\u0131na ba\u011flanmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n. Canl\u0131 de\u011fi\u015fiklikten hemen \u00f6nce g\u00fcncel, geri y\u00fcklenebilir bir yedek al\u0131n. Staging ba\u015far\u0131s\u0131, b\u00fcy\u00fck canl\u0131 tabloda s\u0131n\u0131rs\u0131z silme sorgusunu g\u00fcvenli yapmaz; a\u015fa\u011f\u0131daki partili \u00fcretim plan\u0131n\u0131 ayr\u0131ca do\u011frulay\u0131n.<\/p>\n<h2><span id=\"wp_options_Temizligi_Transient_Cache_ve_Yetim_Kayitlar\">wp_options Temizli\u011fi: Transient, Cache ve Yetim Kay\u0131tlar<\/span><\/h2>\n<h3><span id=\"1_Transient_Temizliginde_Sure_ve_Kapsam_Kontrolu\">1. Transient Temizli\u011finde S\u00fcre ve Kapsam Kontrol\u00fc<\/span><\/h3>\n<p>WordPress ve pek \u00e7ok eklenti, ge\u00e7ici verileri <strong>transient<\/strong> ad\u0131 verilen mekanizma ile saklar. Temizlik de\u011ferlendirmesinde s\u00fcresi ge\u00e7mi\u015f kay\u0131tlar\u0131 h\u00e2l\u00e2 ge\u00e7erli olanlardan ay\u0131rmak gerekir; yaln\u0131zca ad \u00f6neki bir kayd\u0131n yetim veya silinebilir oldu\u011funu g\u00f6stermez. Veritaban\u0131nda saklanan transient kay\u0131tlar\u0131nda \u015fu ad \u00f6nekleriyle kar\u015f\u0131la\u015fabilirsiniz:<\/p>\n<ul>\n<li>_transient_&#8230;<\/li>\n<li>_site_transient_&#8230;<\/li>\n<li>_transient_timeout_&#8230;<\/li>\n<li>_site_transient_timeout_&#8230;<\/li>\n<\/ul>\n<p>A\u015fa\u011f\u0131daki SQL, <strong>s\u00fcresi ge\u00e7mi\u015f transient temizli\u011fi i\u00e7in g\u00fcvenli bir \u00f6rnek de\u011fildir; bu ama\u00e7la \u00e7al\u0131\u015ft\u0131rmay\u0131n<\/strong>. S\u00fcre kontrol\u00fc yapmad\u0131\u011f\u0131ndan h\u00e2l\u00e2 ge\u00e7erli de\u011ferleri de silebilir ve timeout kay\u0131tlar\u0131n\u0131 b\u0131rak\u0131r. Ayr\u0131ca LIKE desenlerindeki ka\u00e7\u0131r\u0131lmam\u0131\u015f alt \u00e7izgiler tek karakter jokeridir; e\u015fle\u015fme kapsam\u0131 g\u00f6r\u00fcnen \u00f6neklerden daha geni\u015f olabilir. S\u00fcresi ge\u00e7mi\u015f kay\u0131tlar\u0131 hedefleyen, de\u011fer ve timeout e\u015flerini birlikte ele alan bir y\u00f6ntem kullan\u0131lmal\u0131d\u0131r:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">-- \u00c7ALI\u015eTIRMAYIN: S\u00fcre denetimsiz, hatal\u0131 silme kar\u015f\u0131 \u00f6rne\u011fi.\n-- DELETE FROM wp_options\n-- WHERE option_name LIKE &#039;_transient_%&#039;\n--   AND option_name NOT LIKE &#039;_transient_timeout_%&#039;;\n\n-- DELETE FROM wp_options\n-- WHERE option_name LIKE &#039;_site_transient_%&#039;\n--   AND option_name NOT LIKE &#039;_site_transient_timeout_%&#039;;\n<\/code><\/pre>\n<p>Yorum sat\u0131rlar\u0131na al\u0131nm\u0131\u015f bu kar\u015f\u0131 \u00f6rnek s\u00fcresi ge\u00e7mi\u015f kay\u0131tlarla s\u0131n\u0131rl\u0131 de\u011fildir: s\u00fcreyi denetlemez, de\u011fer\/timeout \u00e7iftlerini birlikte silmez ve LIKE i\u00e7indeki alt \u00e7izgileri literal e\u015fle\u015ftirmez. Silme \u00f6ncesinde adaylar\u0131 SELECT ile incelemek bu hatalar\u0131 d\u00fczeltmez. A\u015fa\u011f\u0131daki WP-CLI komutu se\u00e7ili kurulumun ge\u00e7erli sitesindeki veritaban\u0131 kay\u0131tlar\u0131n\u0131 s\u00fcreye g\u00f6re temizler. Multisite&#8217;ta her site i\u00e7in <code>--url=https:\/\/site.example<\/code> ile hedefi se\u00e7in; a\u011f\/site transient&#8217;leri i\u00e7in ayr\u0131ca <code>wp transient delete --expired --network<\/code> kullan\u0131n. Bunlar harici nesne \u00f6nbelle\u011fini temizlemez. Site transient&#8217;leri tek sitede options, multisite&#8217;ta sitemeta tablosunda tutulur.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">wp transient delete --expired\n<\/code><\/pre>\n<p>Bu temizlikle kald\u0131r\u0131labilecek veri miktar\u0131, kullan\u0131lan eklentilere ve biriken transient kay\u0131tlar\u0131n\u0131n boyutuna ba\u011fl\u0131d\u0131r.<\/p>\n<h3><span id=\"2_Kullanilmayan_Eklenti_ve_Tema_Ayarlarini_Tespit_Etmek\">2. Kullan\u0131lmayan Eklenti ve Tema Ayarlar\u0131n\u0131 Tespit Etmek<\/span><\/h3>\n<p>Bir di\u011fer klasik \u015fi\u015fme sebebi, <strong>kald\u0131r\u0131lm\u0131\u015f eklentilerin geride b\u0131rakt\u0131\u011f\u0131 ayarlar<\/strong>d\u0131r. Baz\u0131 eklentiler kald\u0131r\u0131l\u0131rken ayarlar\u0131n\u0131 geride b\u0131rakabilir. Devre d\u0131\u015f\u0131 b\u0131rak\u0131lan ancak yeniden kullan\u0131lacak eklentilerin ayarlar\u0131 ise silme aday\u0131 say\u0131lmamal\u0131d\u0131r. Stratejik yakla\u015f\u0131m:<\/p>\n<ol>\n<li>WordPress y\u00f6netim panelinizde kurulu eklentilerin ve temalar\u0131n listesini \u00e7\u0131kar\u0131n; devre d\u0131\u015f\u0131 olan ancak yeniden kullan\u0131lacaklar\u0131 da i\u015faretleyin.<\/li>\n<li>wp_options i\u00e7inde option_name alan\u0131nda ilgili eklentinin ad\u0131na, prefixine veya vendor ismine g\u00f6re arama yap\u0131n. \u00d6rnek: %woocommerce%, %yoast%, %wpml%, %elementor% vb.<\/li>\n<li>\u0130sim e\u015fle\u015fmesini tek ba\u015f\u0131na silme gerek\u00e7esi saymay\u0131n. Kayd\u0131 hangi bile\u015fenin kulland\u0131\u011f\u0131n\u0131 ve veriye art\u0131k ihtiya\u00e7 olmad\u0131\u011f\u0131n\u0131 do\u011frulad\u0131ktan sonra, \u00f6nce staging ortam\u0131nda silmeyi deneyin.<\/li>\n<\/ol>\n<p>\u00d6rne\u011fin, art\u0131k hi\u00e7 kullanmad\u0131\u011f\u0131n\u0131z bir form eklentisinin ayarlar\u0131 \u015fu isimlerde olabilir:<\/p>\n<ul>\n<li>xyz_form_settings<\/li>\n<li>xyz_form_version<\/li>\n<li>xyz_form_logs<\/li>\n<\/ul>\n<p>Bu eklentiyi tamamen hayat\u0131n\u0131zdan \u00e7\u0131kard\u0131ysan\u0131z, bunlar g\u00fcvenle silinebilecek kay\u0131tlar olabilir. Ancak burada tek bir <strong>alt\u0131n kural<\/strong> var: <strong>Emin olmad\u0131\u011f\u0131n\u0131z kayd\u0131 silmeyin; \u00f6nce yede\u011fe, sonra staging ortam\u0131na g\u00fcvenin.<\/strong><\/p>\n<h3><span id=\"3_Log_Istatistik_ve_Buyuk_Boyutlu_Kayitlari_Incelemek\">3. Log, \u0130statistik ve B\u00fcy\u00fck Boyutlu Kay\u0131tlar\u0131 \u0130ncelemek<\/span><\/h3>\n<p>Baz\u0131 eklentiler (ve \u00f6zel yaz\u0131lm\u0131\u015f fonksiyonlar), log verilerini veya istatistikleri wp_options i\u00e7inde tutarlar. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>debug_log, api_error_log vb isimler.<\/li>\n<li>binlerce sat\u0131r URL, IP, user-agent i\u00e7eren b\u00fcy\u00fck diziler.<\/li>\n<\/ul>\n<p>Bu kay\u0131tlar autoload = no olarak i\u015faretlenmi\u015f olsalar bile, b\u00fcy\u00fck hacimde biriktiklerinde tablonun boyutunu ve yedekleme\/ta\u015f\u0131ma s\u00fcrelerini art\u0131rabilir. Bu t\u00fcr kay\u0131tlar\u0131 tespit etmek i\u00e7in b\u00fcy\u00fck boyutlu option_value alanlar\u0131n\u0131 listeleyebilirsiniz:<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT option_id, option_name, LENGTH(option_value) AS boyut, autoload\nFROM wp_options\nORDER BY boyut DESC\nLIMIT 50;\n<\/code><\/pre>\n<p>B\u00fcy\u00fck log verisi bulursan\u0131z, hangi kay\u0131tlar\u0131n operasyonel olarak gerekli oldu\u011funu belirleyin. Eklentinin destekledi\u011fi saklama s\u00fcresini veya uygun dosya\/\u00f6zel tablo hedefini de\u011ferlendirin; yaln\u0131zca boyutu k\u00fc\u00e7\u00fcltmek i\u00e7in gerekli loglar\u0131 kapatmay\u0131n. Veri sahibinin ihtiya\u00e7lar\u0131n\u0131 ve uygulama davran\u0131\u015f\u0131n\u0131 staging \u00fczerinde do\u011frulay\u0131n.<\/p>\n<h2><span id=\"Autoload_Sismesini_Kontrol_Altina_Almak\">Autoload \u015ei\u015fmesini Kontrol Alt\u0131na Almak<\/span><\/h2>\n<h3><span id=\"Toplam_Autoload_Boyutunu_Olcmek_ve_Hedef_Belirlemek\">Toplam Autoload Boyutunu \u00d6l\u00e7mek ve Hedef Belirlemek<\/span><\/h3>\n<p>A\u015fa\u011f\u0131daki sorgu WordPress 6.6+ varsay\u0131lan autoload de\u011ferlerine sahip kay\u0131tlar\u0131n saklanan option_value baytlar\u0131n\u0131 toplar; 1024&#8217;e b\u00f6l\u00fcnen sonu\u00e7 KiB&#8217;dir. Filtreler etkin de\u011fer k\u00fcmesini daraltabilir: siteye \u00f6zg\u00fc \u00f6l\u00e7\u00fcm i\u00e7in <code>wp_autoload_values_to_autoload()<\/code> sonucuyla SQL filtresini e\u015fle\u015ftirin. Bu \u00f6l\u00e7\u00fcm PHP bellek t\u00fcketimi, sorgu s\u0131kl\u0131\u011f\u0131 veya \u00f6nbellek\/filtreler sonras\u0131 \u00e7al\u0131\u015fma zaman\u0131 y\u00fck\u00fc de\u011fildir. <code>wp_options<\/code> ad\u0131n\u0131 hedef sitenin ger\u00e7ek tablo ad\u0131yla de\u011fi\u015ftirin.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT SUM(LENGTH(option_value)) \/ 1024 AS kb_autoload\nFROM wp_options\nWHERE autoload IN (&#039;yes&#039;, &#039;on&#039;, &#039;auto-on&#039;, &#039;auto&#039;);\n<\/code><\/pre>\n<p>\u00d6l\u00e7\u00fcmlere g\u00f6re uyarlanabilecek \u00f6rnek boyut hedefleri:<\/p>\n<ul>\n<li>K\u00fc\u00e7\u00fck sitelerde (blog, kurumsal site): 200\u2013400 KB aral\u0131\u011f\u0131.<\/li>\n<li>Orta \u00f6l\u00e7ekli sitelerde (i\u00e7erik\/kurumsal + birka\u00e7 entegrasyon): 400\u2013800 KB aral\u0131\u011f\u0131.<\/li>\n<li>\u00c7ok b\u00fcy\u00fck sitelerde bile m\u00fcmk\u00fcnse birka\u00e7 MB s\u0131n\u0131r\u0131n\u0131 zorlamamak.<\/li>\n<\/ul>\n<p>Bu aral\u0131klar do\u011frulanm\u0131\u015f performans e\u015fikleri de\u011fildir. Hedefi sitenin ihtiya\u00e7lar\u0131na g\u00f6re belirleyin; boyutun yan\u0131nda yan\u0131t s\u00fcresi ve bellek kullan\u0131m\u0131n\u0131 da \u00f6l\u00e7erek de\u011fi\u015fikli\u011fin yarar\u0131n\u0131 de\u011ferlendirin.<\/p>\n<h3><span id=\"Hangi_Veriler_Autoload_Olmamali\">Hangi Veriler Autoload Olmamal\u0131?<\/span><\/h3>\n<p>\u00d6ncelikle <strong>nadiren okunan ve b\u00fcy\u00fck yer kaplayan verilerin autoload d\u0131\u015f\u0131nda tutulmas\u0131n\u0131 de\u011ferlendirin.<\/strong> Karar\u0131 yaln\u0131zca veri ad\u0131na de\u011fil, kullan\u0131m s\u0131kl\u0131\u011f\u0131na ve \u00f6l\u00e7\u00fclen etkisine g\u00f6re verin. \u0130ncelenebilecek adaylar:<\/p>\n<ul>\n<li>Belli sayfalarda kullan\u0131lan, site genelini ilgilendirmeyen ayarlar.<\/li>\n<li>Ge\u00e7ici cache sonu\u00e7lar\u0131 (transient verileri).<\/li>\n<li>B\u00fcy\u00fck dizi\/nesne yap\u0131lar\u0131; \u00f6zellikle rapor veya toplu veri i\u00e7erenler.<\/li>\n<li>Nadiren kullan\u0131lan panel i\u00e7i rapor ayarlar\u0131, i\u00e7 istatistikler vb.<\/li>\n<\/ul>\n<p>Di\u011fer yandan, <strong>siteurl, home, aktif tema ve \u00e7ekirdek ayarlar<\/strong> gibi kritik verileri s\u0131rf autoload toplam\u0131n\u0131 k\u00fc\u00e7\u00fcltmek i\u00e7in de\u011fi\u015ftirmeyin. Bunlar\u0131n y\u00fckleme davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftirmek, kullan\u0131m bi\u00e7imlerinin ve etkilerinin ayr\u0131ca incelenmesini gerektirir.<\/p>\n<h3><span id=\"Autoload_Bayraklarini_Duzenlerken_Dikkat_Edilmesi_Gerekenler\">Autoload Bayraklar\u0131n\u0131 D\u00fczenlerken Dikkat Edilmesi Gerekenler<\/span><\/h3>\n<p>WordPress 6.6+ varsay\u0131lan autoload k\u00fcmesindeki en b\u00fcy\u00fck kay\u0131tlar\u0131 saklanan bayt say\u0131s\u0131na g\u00f6re listelemek i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullan\u0131n. \u00d6zel filtre varsa SQL k\u00fcmesini <code>wp_autoload_values_to_autoload()<\/code> sonucuna uyarlay\u0131n; tablo ad\u0131n\u0131 hedef siteye g\u00f6re de\u011fi\u015ftirin. Bu liste PHP belle\u011fini veya \u00f6nbellek\/filtreler sonras\u0131 ger\u00e7ek y\u00fck\u00fc \u00f6l\u00e7mez.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT option_id, option_name, LENGTH(option_value) AS boyut\nFROM wp_options\nWHERE autoload IN (&#039;yes&#039;, &#039;on&#039;, &#039;auto-on&#039;, &#039;auto&#039;)\nORDER BY boyut DESC\nLIMIT 50;\n<\/code><\/pre>\n<p>Bir kayd\u0131n cache veya raporla ilgili g\u00f6r\u00fcnmesi yeterli de\u011fildir. \u0130lgili eklentinin belgelerinden veya kodundan kullan\u0131m\u0131n\u0131 inceleyip autoload d\u0131\u015f\u0131nda tutulmas\u0131n\u0131n uygun oldu\u011funa karar verirseniz, \u00f6nce staging ortam\u0131nda \u015fu de\u011fi\u015fikli\u011fi de\u011ferlendirin:<\/p>\n<p>Bu i\u015flem WordPress 6.4+ ve WP-CLI eri\u015fimi gerektirir. Do\u011fru kurulum dizininde \u00e7al\u0131\u015f\u0131n; multisite&#8217;ta hedef siteyi <code>--url<\/code> ile se\u00e7in. \u00d6nce se\u00e7ti\u011finiz kayd\u0131n mevcut autoload de\u011ferini kaydedin ve veritaban\u0131 yede\u011fini al\u0131n. Yer tutucu ad\u0131, kullan\u0131m\u0131n\u0131 do\u011frulad\u0131\u011f\u0131n\u0131z ger\u00e7ek se\u00e7enek ad\u0131yla de\u011fi\u015ftirerek staging ortam\u0131nda uygulay\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">wp eval &#039;wp_set_option_autoload_values( array( &quot;ornek_option_adi&quot; =&gt; false ) );&#039;\n<\/code><\/pre>\n<p>Bu API de\u011fi\u015fiklikte WordPress se\u00e7enek \u00f6nbelle\u011fini de tutarl\u0131 tutar; autoload d\u0131\u015f\u0131na al\u0131nan kayd\u0131 alloptions koleksiyonundan \u00e7\u0131kar\u0131r. B\u00f6ylece kal\u0131c\u0131 nesne \u00f6nbelle\u011fi kullan\u0131rken de do\u011frudan SQL&#8217;in atlad\u0131\u011f\u0131 g\u00fcncelleme yolu kullan\u0131l\u0131r; payla\u015f\u0131lan \u00f6nbelle\u011fin tamam\u0131n\u0131 bo\u015faltman\u0131z gerekmez. Ard\u0131ndan bayra\u011f\u0131 yeniden kontrol edin ve se\u00e7ene\u011fi kullanan i\u015flevleri staging&#8217;de test edin. Sonu\u00e7 uygunsa canl\u0131da hedef kurulum\/siteyi ve yede\u011fi do\u011frulay\u0131p ayn\u0131 API yolunu uygulay\u0131n, ilgili i\u015flevleri tekrar kontrol edin. <strong>Ne yapt\u0131\u011f\u0131n\u0131zdan emin de\u011filseniz \u00e7ekirdek ve kritik ayarlar\u0131n autoload bayra\u011f\u0131yla oynamay\u0131n.<\/strong><\/p>\n<h2><span id=\"Buyuk_WordPress_Tablolarini_Incelemek_ve_Bakimini_Planlamak\">B\u00fcy\u00fck WordPress Tablolar\u0131n\u0131 \u0130ncelemek ve Bak\u0131m\u0131n\u0131 Planlamak<\/span><\/h2>\n<p><code>wp_postmeta<\/code> yaz\u0131, sayfa ve \u00f6zel i\u00e7erik t\u00fcrlerinin meta verilerini; <code>wp_posts<\/code> ise i\u00e7erikleri ve revizyonlar\u0131 bar\u0131nd\u0131r\u0131r. Yorumlar ve yorum meta verileri ayr\u0131 tablolardad\u0131r. Eklentiler kendi log, istatistik veya oturum tablolar\u0131n\u0131 da olu\u015fturabilir. Bir tablonun b\u00fcy\u00fck olmas\u0131, b\u00fct\u00fcn kay\u0131tlar\u0131n\u0131n gereksiz oldu\u011fu anlam\u0131na gelmez.<\/p>\n<h3><span id=\"Canli_Veride_Partili_Islem_Icin_Ayri_Bir_Plan_Hazirlayin\">Canl\u0131 Veride Partili \u0130\u015flem \u0130\u00e7in Ayr\u0131 Bir Plan Haz\u0131rlay\u0131n<\/span><\/h3>\n<p><strong>Bu b\u00f6l\u00fcmdeki s\u0131n\u0131rs\u0131z DELETE \u00f6rnekleri yaln\u0131zca k\u00fc\u00e7\u00fck, do\u011frulanm\u0131\u015f staging veri k\u00fcmeleri i\u00e7indir.<\/strong> Ger\u00e7ek verinin korunmas\u0131, geri y\u00fckleme denemesi ve kritik uygulama ak\u0131\u015flar\u0131n\u0131n testi gerekir. B\u00fcy\u00fck canl\u0131 tabloda ayn\u0131 ifadeleri oldu\u011fu gibi \u00e7al\u0131\u015ft\u0131rmay\u0131n; salt okunur say\u0131mlar\u0131n bile b\u00fcy\u00fck tablolarda maliyetli olabilece\u011fini hesaba kat\u0131n.<\/p>\n<ol>\n<li>Veri sahibiyle saklama s\u00fcresini, ili\u015fkileri ve ger\u00e7ekten silinebilecek kay\u0131tlar\u0131 belirleyin; g\u00fcncel yede\u011fin geri y\u00fcklenebildi\u011fini do\u011frulay\u0131n.<\/li>\n<li>\u0130ndeksli anahtarlar veya g\u00f6zden ge\u00e7irilmi\u015f anahtar aral\u0131klar\u0131yla k\u00fc\u00e7\u00fck partileri se\u00e7en, e\u015fzamanl\u0131 yaz\u0131lar\u0131 ve ilgili \u00f6nbelle\u011fi ele alan bir y\u00fcr\u00fctme plan\u0131 tasarlay\u0131n. Silme kapsam\u0131n\u0131 \u00f6nce SELECT ile inceleyin; uygulamaya \u00f6zg\u00fc ili\u015fkileri yaln\u0131zca ad \u00f6nekinden \u00e7\u0131karmay\u0131n.<\/li>\n<li>Etkilenen sat\u0131r say\u0131s\u0131n\u0131, sorgu\/transaction s\u00fcresini ve kilit beklemelerini \u00f6l\u00e7\u00fcn. Her do\u011frulanm\u0131\u015f partiyi ba\u011f\u0131ms\u0131z tamamlay\u0131p <strong>partiler aras\u0131nda commit<\/strong> edin; b\u00fct\u00fcn silmeyi tek b\u00fcy\u00fck transaction i\u00e7inde biriktirmeyin. Commit edilmi\u015f partilerin geri al\u0131nmas\u0131 yedek veya ayr\u0131 telafi plan\u0131 gerektirir.<\/li>\n<li>Canl\u0131 istek gecikmesini, veritaban\u0131 y\u00fck\u00fcn\u00fc, undo\/redo hacmini, bo\u015f alan\u0131 ve varsa replikasyon gecikmesini izleyin. Kabul s\u0131n\u0131rlar\u0131 a\u015f\u0131l\u0131rsa yeni partileri durdurun; devam eden i\u015fi iptal etme ve hen\u00fcz commit edilmemi\u015f i\u015flemi rollback etme y\u00f6ntemini \u00f6nceden belirleyin.<\/li>\n<li>Sonu\u00e7 ve uygulama davran\u0131\u015f\u0131 do\u011frulanmadan sonraki partiye ge\u00e7meyin. Evrensel bir g\u00fcvenli sat\u0131r say\u0131s\u0131 veya s\u00fcre yoktur; partiyi ger\u00e7ek sorgu plan\u0131na ve y\u00fcke g\u00f6re ayarlay\u0131n.<\/li>\n<\/ol>\n<p>MySQL&#8217;de tek tabloyu hedefleyen <code>DELETE ... LIMIT<\/code> silinen sat\u0131r say\u0131s\u0131n\u0131 s\u0131n\u0131rlar; sorgunun s\u00fcresini veya kilit beklemesini garanti etmez. A\u015fa\u011f\u0131daki \u00e7ok tablolu join silmesine sonradan LIMIT eklemek ge\u00e7erli bir \u00e7\u00f6z\u00fcm de\u011fildir: \u00e7ok tablolu DELETE bu s\u00f6z dizimini desteklemez. Anahtar se\u00e7imi ve silme ak\u0131\u015f\u0131 ayr\u0131ca tasarlanmal\u0131d\u0131r. WordPress API&#8217;lerini kullanan bir bak\u0131m arac\u0131 da b\u00fcy\u00fck veride otomatik olarak partili veya d\u00fc\u015f\u00fck maliyetli \u00e7al\u0131\u015fmaz; davran\u0131\u015f\u0131n\u0131 do\u011frulay\u0131n.<\/p>\n<h3><span id=\"wp_postmeta_Boyutu_ve_Yetim_Kayitlar\">wp_postmeta Boyutu ve Yetim Kay\u0131tlar<\/span><\/h3>\n<p>\u00d6nce hedef veritaban\u0131n\u0131 se\u00e7in; \u00f6rnekteki veritaban\u0131 ve tablo adlar\u0131n\u0131 uyarlay\u0131n. \u0130lk sorgu ger\u00e7ek meta kay\u0131tlar\u0131n\u0131 sayar; ikinci sorgu ayr\u0131 olarak bildirilen veri\/indeks tahsisini MiB cinsinden verir. <code>information_schema.TABLES<\/code> sat\u0131rlar\u0131n\u0131 saymak, <code>wp_postmeta<\/code> kay\u0131t say\u0131s\u0131n\u0131 vermez. B\u00fcy\u00fck InnoDB tablolar\u0131nda tam say\u0131m pahal\u0131 olabilir.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT COUNT(*) AS row_count\nFROM wp_postmeta;\n\nSELECT\n  ROUND((DATA_LENGTH + INDEX_LENGTH) \/ 1024 \/ 1024, 2) AS size_mb\nFROM information_schema.TABLES\nWHERE TABLE_SCHEMA = &#039;your_database_name&#039;\n  AND TABLE_NAME = &#039;wp_postmeta&#039;;\n<\/code><\/pre>\n<p>\u00dcr\u00fcn \u00f6zellikleri, sayfa olu\u015fturucu verileri veya art\u0131k kullan\u0131lmayan bile\u015fen kay\u0131tlar\u0131 inceleme aday\u0131 olabilir. Kayd\u0131n hangi kod taraf\u0131ndan kullan\u0131ld\u0131\u011f\u0131n\u0131 ve saklama gereksinimini do\u011frulay\u0131n. A\u015fa\u011f\u0131daki salt okunur sorgu yaln\u0131zca kar\u015f\u0131l\u0131k gelen yaz\u0131 kayd\u0131 bulunmayan meta sat\u0131rlar\u0131n\u0131 sayar; e\u015fle\u015fmeme durumu tek ba\u015f\u0131na silme onay\u0131 de\u011fildir.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT COUNT(*) AS orphan_count\nFROM wp_postmeta m\nLEFT JOIN wp_posts p ON m.post_id = p.ID\nWHERE p.ID IS NULL;\n<\/code><\/pre>\n<p><strong>A\u015fa\u011f\u0131daki s\u0131n\u0131rs\u0131z silme yaln\u0131zca k\u00fc\u00e7\u00fck, do\u011frulanm\u0131\u015f staging veri k\u00fcmesi ve geri y\u00fcklenebilir yedek i\u00e7indir.<\/strong> Ko\u015fula uyan b\u00fct\u00fcn yetim meta sat\u0131rlar\u0131n\u0131 siler; \u00f6rneklemle s\u0131n\u0131rl\u0131 de\u011fildir. WordPress hook ve \u00f6nbellek yollar\u0131n\u0131 atlar. B\u00fcy\u00fck canl\u0131 veri i\u00e7in yukar\u0131daki anahtarl\u0131 parti plan\u0131, e\u015fzamanl\u0131 yaz\u0131 ve \u00f6nbellek y\u00f6netimi ayr\u0131ca tasarlanmal\u0131d\u0131r.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">DELETE m\nFROM wp_postmeta m\nLEFT JOIN wp_posts p ON m.post_id = p.ID\nWHERE p.ID IS NULL;\n<\/code><\/pre>\n<h3><span id=\"Revizyonlar_Cop_Kutusu_ve_Spam_Yorumlar\">Revizyonlar, \u00c7\u00f6p Kutusu ve Spam Yorumlar<\/span><\/h3>\n<p>Revizyonlar geri d\u00f6n\u00fc\u015f ge\u00e7mi\u015fidir; silmeden \u00f6nce edit\u00f6rlerin ka\u00e7 s\u00fcr\u00fcme ihtiya\u00e7 duydu\u011funu belirleyin. Rutin bak\u0131mda WordPress&#8217;in revizyon\/yorum ara\u00e7lar\u0131n\u0131 tercih edin; kapsam ve b\u00fcy\u00fck veri davran\u0131\u015flar\u0131n\u0131 yine do\u011frulay\u0131n.<\/p>\n<p><strong>Sonraki s\u0131n\u0131rs\u0131z DELETE yaln\u0131zca k\u00fc\u00e7\u00fck, do\u011frulanm\u0131\u015f staging verisi ve geri y\u00fcklenebilir yedek i\u00e7indir.<\/strong> Ya\u015f filtresi olmadan <strong>t\u00fcm revizyonlar\u0131<\/strong> siler. Yaln\u0131zca <code>wp_posts<\/code> kay\u0131tlar\u0131n\u0131 etkiledi\u011fi i\u00e7in ili\u015fkili postmeta yetim kalabilir. Ard\u0131ndan yetim kayd\u0131 yeniden kontrol edin; yukar\u0131daki s\u0131n\u0131rs\u0131z silmeyi otomatik olarak zincirlemeyin. Canl\u0131 b\u00fcy\u00fck veri i\u00e7in ayr\u0131 parti plan\u0131 gerekir; do\u011frudan SQL, WordPress&#8217;in uygulama d\u00fczeyindeki temizli\u011fini atlar.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">DELETE FROM wp_posts\nWHERE post_type = &#039;revision&#039;;\n<\/code><\/pre>\n<p>Gelecekteki revizyon saklama say\u0131s\u0131n\u0131 d\u00fczenlemek i\u00e7in <code>wp-config.php<\/code> i\u00e7inde WordPress y\u00fcklenmeden \u00f6nce mevcut tan\u0131m\u0131 de\u011fi\u015ftirin veya yoksa ekleyin; ayn\u0131 sabiti iki kez tan\u0131mlamay\u0131n. 10 yaln\u0131zca \u00f6rnektir. Dosyay\u0131 de\u011fi\u015ftirmek mevcut revizyonlar\u0131 o anda topluca silmez; sonraki revizyon kaydetme i\u015flemleri, ge\u00e7erli s\u0131n\u0131r ve filtrelere g\u00f6re en eski s\u00fcr\u00fcmleri temizleyebilir. Bu ayar\u0131 ge\u00e7mi\u015f verinin anl\u0131k temizli\u011fiyle kar\u0131\u015ft\u0131rmay\u0131n.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">define( &#039;WP_POST_REVISIONS&#039;, 10 ); \/\/ or a lower number\n<\/code><\/pre>\n<p><strong>A\u015fa\u011f\u0131daki iki s\u0131n\u0131rs\u0131z ifade yaln\u0131zca k\u00fc\u00e7\u00fck, do\u011frulanm\u0131\u015f staging verisi ve geri y\u00fcklenebilir yedek i\u00e7indir.<\/strong> \u0130lk ifade spam ve \u00e7\u00f6p durumundaki yorumlar\u0131, ikinci ifade ise eski yetimler d\u00e2hil hi\u00e7bir yoruma ba\u011fl\u0131 olmayan <strong>t\u00fcm<\/strong> yorum meta verilerini siler. \u0130ki kapsam\u0131 ayr\u0131 do\u011frulay\u0131n. Do\u011frudan SQL, WordPress yorum temizli\u011fi ve \u00f6nbellek g\u00fcncellemelerini atlar; rutin i\u015fte WordPress&#8217;in yorum ara\u00e7lar\u0131n\u0131 tercih edin. B\u00fcy\u00fck canl\u0131 veride sorgular\u0131 aynen \u00e7al\u0131\u015ft\u0131rmay\u0131n veya tek b\u00fcy\u00fck transaction i\u00e7ine almay\u0131n; anahtarl\u0131 parti plan\u0131 gerekir.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">DELETE FROM wp_comments\nWHERE comment_approved = &#039;spam&#039; \n   OR comment_approved = &#039;trash&#039;;\n\nDELETE FROM wp_commentmeta\nWHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);\n<\/code><\/pre>\n<p>\u00c7\u00f6p kutusunun saklama s\u00fcresini ve zamanlanm\u0131\u015f temizli\u011fin \u00e7al\u0131\u015fmas\u0131n\u0131 kontrol edin. Spam saklama kural\u0131n\u0131 ayr\u0131ca inceleyin; \u00e7\u00f6p temizli\u011finin spam\u0131 da ayn\u0131 kuralla sildi\u011fini varsaymay\u0131n.<\/p>\n<h3><span id=\"Eklenti_Loglari_ve_Saklama_Politikasi\">Eklenti Loglar\u0131 ve Saklama Politikas\u0131<\/span><\/h3>\n<p>Log, istatistik, g\u00fcvenlik veya oturum tablolar\u0131 b\u00fcy\u00fcyebilir. \u00d6nce eklentinin yerle\u015fik saklama\/purge \u00f6zelli\u011fini ara\u015ft\u0131r\u0131n; operasyonel ve kay\u0131t tutma ihtiya\u00e7lar\u0131na uygun s\u00fcreyi veri sahibiyle belirleyin. Desteklenen y\u00f6ntem yoksa geli\u015ftiriciden tablo ili\u015fkilerini ve silme yolunu \u00f6\u011frenin. Oturum veya log ad\u0131, verinin gereksiz oldu\u011funu kan\u0131tlamaz.<\/p>\n<p>Varsay\u0131msal <code>wp_plugin_logs<\/code> i\u00e7in a\u015fa\u011f\u0131daki s\u0131n\u0131rs\u0131z sorgu, <strong>yaln\u0131zca k\u00fc\u00e7\u00fck, do\u011frulanm\u0131\u015f staging verisinde ve geri y\u00fcklenebilir yedekle<\/strong> 90 g\u00fcnl\u00fck kesimi g\u00f6sterir. <code>created_at<\/code> alan\u0131n\u0131n tarih\/saat t\u00fcr\u00fcnde ve <code>NOW()<\/code> ile ayn\u0131 zaman temelinde oldu\u011funu; veri sahibinin 90 g\u00fcn\u00fc ve eklentinin bu silme yolunu kabul etti\u011fini do\u011frulay\u0131n. Bu bir canl\u0131 cron tarifi de\u011fildir. B\u00fcy\u00fck tablolar i\u00e7in ayr\u0131 anahtarl\u0131 parti plan\u0131, izleme ve durdurma ko\u015fullar\u0131 gerekir.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">DELETE FROM wp_plugin_logs\nWHERE created_at &lt; NOW() - INTERVAL 90 DAY;\n<\/code><\/pre>\n<p>Log tablolar\u0131n\u0131 geli\u015fig\u00fczel bo\u015faltmay\u0131n veya kald\u0131rmay\u0131n; eklenti mevcut \u015femay\u0131 ve ili\u015fkileri bekleyebilir. Yaln\u0131zca do\u011frulanm\u0131\u015f kapsam\u0131 otomatikle\u015ftirin; rehberdeki t\u00fcm SQL \u00f6rneklerini bir zamanlanm\u0131\u015f g\u00f6reve koymay\u0131n.<\/p>\n<h3><span id=\"OPTIMIZE_ve_ANALYZE_Amac_ve_Kapasite_Kontrolu\">OPTIMIZE ve ANALYZE: Ama\u00e7 ve Kapasite Kontrol\u00fc<\/span><\/h3>\n<p>B\u00fcy\u00fck silmelerden sonra depolamada yeniden kullan\u0131labilir alan olu\u015fabilir. <code>OPTIMIZE TABLE<\/code> depolamay\u0131 yeniden d\u00fczenleyebilir; i\u015fletim sistemine alan\u0131n geri d\u00f6nmesi motor ve tablespace d\u00fczenine ba\u011fl\u0131d\u0131r. <code>ANALYZE TABLE<\/code> optimizer istatistiklerini g\u00fcnceller, alan a\u00e7maz. \u0130kisi de sorgular\u0131n h\u0131zlanmas\u0131n\u0131 garanti etmez; a\u015fa\u011f\u0131daki ifadeler zorunlu bir i\u015flem s\u0131ras\u0131 de\u011fildir.<\/p>\n<p><strong>Yeniden olu\u015fturmadan \u00f6nce kapasiteyi do\u011frulay\u0131n.<\/strong> Veri\/indeks boyutlar\u0131yla birlikte hem MySQL ge\u00e7ici depolama konumunda hem tablonun dosya sisteminde ger\u00e7ekten kullan\u0131labilir alan\u0131 inceleyin. MySQL 8.0 InnoDB i\u015flemleri mevcut tabloya ek olarak ge\u00e7ici s\u0131ralama dosyalar\u0131 ve ara yeniden olu\u015fturulmu\u015f tablo i\u00e7in ciddi alan gerektirebilir. Evrensel bir bo\u015f alan \u00e7arpan\u0131na g\u00fcvenmeyin; tam MySQL\/MariaDB s\u00fcr\u00fcm\u00fc, motor ve i\u015flem i\u00e7in gereksinimleri do\u011frulay\u0131n. Alan veya yetki do\u011frulanam\u0131yorsa i\u015flemi erteleyip veritaban\u0131 y\u00f6neticisiyle g\u00f6r\u00fc\u015f\u00fcn.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">OPTIMIZE TABLE wp_options, wp_postmeta, wp_posts, wp_comments;\nANALYZE TABLE wp_options, wp_postmeta, wp_posts, wp_comments;\n<\/code><\/pre>\n<p>Se\u00e7ilen i\u015flemi staging&#8217;de do\u011frulay\u0131n; g\u00fcncel yedek, d\u00fc\u015f\u00fck trafik penceresi ve izleme planlay\u0131n. MySQL 8.0 InnoDB <code>OPTIMIZE TABLE<\/code> tabloyu yeniden olu\u015fturur. Online DDL kesintiyi azaltabilse de haz\u0131rl\u0131k\/commit a\u015famalar\u0131nda \u00f6zel kilitler vard\u0131r; baz\u0131 ayarlar veya FULLTEXT indeksleri tablo kopyalama y\u00f6ntemini gerektirir. Uzun transaction ve kilit beklemelerini kontrol edin. ANALYZE de motor ve s\u00fcr\u00fcme ba\u011fl\u0131 kilitleme davran\u0131\u015f\u0131 g\u00f6sterir. Kabul edilemez y\u00fck veya bloklama durumunda erteleme ko\u015fulunu \u00f6nceden belirleyin.<\/p>\n<h3><span id=\"Depolama_Motoru_ve_Indeksleri_Kontrol_Edin\">Depolama Motoru ve \u0130ndeksleri Kontrol Edin<\/span><\/h3>\n<p>InnoDB sat\u0131r d\u00fczeyinde kilitleme ve \u00e7\u00f6kme sonras\u0131 kurtarma \u00f6zellikleri sunar. A\u015fa\u011f\u0131daki salt okunur sorguda ger\u00e7ek veritaban\u0131 ve tablo adlar\u0131n\u0131 kullanarak motorlar\u0131 inceleyin; yaln\u0131zca tablo ad\u0131na bak\u0131p d\u00f6n\u00fc\u015f\u00fcm yapmay\u0131n.<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT TABLE_NAME, ENGINE\nFROM information_schema.TABLES\nWHERE TABLE_SCHEMA = &#039;your_database_name&#039;\n  AND TABLE_NAME IN (&#039;wp_posts&#039;,&#039;wp_postmeta&#039;,&#039;wp_options&#039;,&#039;wp_comments&#039;);\n<\/code><\/pre>\n<p>MyISAM bir tabloyu InnoDB&#8217;ye d\u00f6n\u00fc\u015ft\u00fcrme karar\u0131, tam s\u00fcr\u00fcm\/motor uyumlulu\u011fu, mevcut indeks ve uygulama davran\u0131\u015f\u0131 incelendikten sonra verilir. A\u015fa\u011f\u0131daki \u00f6rne\u011fi \u00f6nce staging&#8217;de; g\u00fcncel geri y\u00fcklenebilir yedek, gerekli ge\u00e7ici\/ara tablo alan\u0131 ve kilitleme etkisini do\u011frulayarak deneyin. Canl\u0131 d\u00f6n\u00fc\u015f\u00fcm i\u00e7in ayr\u0131ca bak\u0131m penceresi ve izleme gerekir.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">ALTER TABLE wp_posts ENGINE=InnoDB;\n<\/code><\/pre>\n<p>Di\u011fer her tablo i\u00e7in karar\u0131 ayr\u0131 verin; b\u00fct\u00fcn tablolar\u0131 otomatik olarak d\u00f6n\u00fc\u015ft\u00fcrmeyin. Tablo ba\u015f\u0131na veri\/indeks boyutunu, disk kapasitesini, uyumlulu\u011fu ve yedekten d\u00f6n\u00fc\u015f yolunu tekrar do\u011frulay\u0131n.<\/p>\n<p>Kurulu WordPress s\u00fcr\u00fcm\u00fcn\u00fcn standart indekslerini inceleyin. <code>wp_postmeta(post_id, meta_key)<\/code> bile\u015fik indeksini zorunlu \u00e7ekirdek indeksi saymay\u0131n; mevcut indeksler, ger\u00e7ek sorgular ve EXPLAIN planlar\u0131na g\u00f6re de\u011ferlendirilecek bir adayd\u0131r. Gereksiz indeksler yazma ve depolama maliyetini art\u0131rabilir. \u00d6l\u00e7\u00fcm olmadan indeks eklemeyin.<\/p>\n<h2><span id=\"Gelistiriciler_Icin_En_Iyi_Uygulamalar_Sismeyi_Bastan_Onlemek\">Geli\u015ftiriciler \u0130\u00e7in En \u0130yi Uygulamalar: \u015ei\u015fmeyi Ba\u015ftan \u00d6nlemek<\/span><\/h2>\n<h3><span id=\"add_option_Kullanirken_Autoload_Parametresi\">add_option Kullan\u0131rken Autoload Parametresi<\/span><\/h3>\n<p>Kendi geli\u015ftirdi\u011finiz tema veya eklentilerde, WordPress API fonksiyonlar\u0131n\u0131 kullan\u0131rken autoload parametresini mutlaka bilin\u00e7li kullan\u0131n. \u00d6rne\u011fin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">add_option( &#039;ornek_ayar&#039;, $deger, &#039;&#039;, &#039;no&#039; );\n<\/code><\/pre>\n<p>Bu \u015fekilde olu\u015fturdu\u011funuz ayar, varsay\u0131lan olarak autoload edilmez. \u00d6zellikle:<\/p>\n<ul>\n<li>B\u00fcy\u00fck dizi\/nesne sakl\u0131yorsan\u0131z,<\/li>\n<li>Nadiren kullan\u0131lan y\u00f6netim paneli ayarlar\u0131ysa,<\/li>\n<li>Cache\/rapor gibi iste\u011fe ba\u011fl\u0131 okunan verilerse<\/li>\n<\/ul>\n<p>autoload parametresini no kullanmak, gereksiz y\u00fcklemeyi azaltmaya yard\u0131mc\u0131 olabilir; performans etkisini \u00f6l\u00e7erek de\u011ferlendirin.<\/p>\n<h3><span id=\"wp-cron_Zamanlanmis_Gorevler_ve_Temizlik\">wp-cron, Zamanlanm\u0131\u015f G\u00f6revler ve Temizlik<\/span><\/h3>\n<p>wp_options tablosundaki baz\u0131 \u015fi\u015fmeler, d\u00fczenli olarak \u00e7al\u0131\u015fmas\u0131 gereken ama tak\u0131lan veya \u00e7ok s\u0131k tetiklenen cron g\u00f6revlerinden de kaynaklanabilir. \u00d6rne\u011fin ba\u015far\u0131s\u0131z entegrasyon denemeleri her seferinde yeni bir kay\u0131t a\u00e7\u0131yorsa, k\u0131sa s\u00fcrede on binlerce sat\u0131r birikebilir. Bu y\u00fczden:<\/p>\n<ul>\n<li>wp-cron g\u00f6revlerini, ba\u015far\u0131s\u0131zl\u0131klar\u0131n\u0131 ve tekrar \u00e7al\u0131\u015fma s\u0131kl\u0131\u011f\u0131n\u0131 izleyin.<\/li>\n<li>G\u00f6revin ger\u00e7ekten daha seyrek \u00e7al\u0131\u015fabilece\u011fini do\u011frulamadan s\u0131kl\u0131\u011f\u0131n\u0131 azaltmay\u0131n. Ger\u00e7ek cron kullan\u0131m\u0131 zamanlamay\u0131 d\u00fczenleyebilir; hatal\u0131 silme kapsam\u0131n\u0131 veya b\u00fcy\u00fck i\u015flem y\u00fck\u00fcn\u00fc d\u00fczeltmez.<\/li>\n<li>Yaln\u0131zca staging ve \u00fcretim parti plan\u0131 do\u011frulanm\u0131\u015f temizlik\/saklama g\u00f6revlerini otomatikle\u015ftirin.<\/li>\n<\/ul>\n<p>Bu konuda daha derin bir bak\u0131\u015f i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/wordpresste-wp-cron-devre-disi-birakma-ve-gercek-cron-job-kurulumu\/'>wp-cron devre d\u0131\u015f\u0131 b\u0131rakma ve ger\u00e7ek cron job kurulumu rehberimizi<\/a> incelemenizi \u00f6neririz.<\/p>\n<h3><span id=\"Persistent_Object_Cache_Kullanimi_Redis_vb\">Persistent Object Cache Kullan\u0131m\u0131 (Redis vb.)<\/span><\/h3>\n<p>WordPress nesne \u00f6nbelle\u011fi varsay\u0131lan olarak istek \u00f6mr\u00fcyle s\u0131n\u0131rl\u0131d\u0131r. Redis veya Memcached gibi bir arka u\u00e7la uygun entegrasyon kurularak kal\u0131c\u0131 hale getirildi\u011finde, wp_options verileri i\u00e7in tekrarlanan veritaban\u0131 eri\u015fimlerini azaltabilir. \u00d6zellikle:<\/p>\n<ul>\n<li>Kal\u0131c\u0131 nesne \u00f6nbelle\u011fi, tekrar eden se\u00e7enek eri\u015fimlerinin veritaban\u0131 maliyetini azaltabilir.<\/li>\n<li>B\u00fcy\u00fck se\u00e7enek koleksiyonunun aktar\u0131m ve PHP i\u015fleme maliyeti devam edebilir. Redis kullan\u0131m\u0131 verinin gerekli olup olmad\u0131\u011f\u0131n\u0131 kan\u0131tlamaz; temizlik karar\u0131n\u0131 sahiplik, kullan\u0131m ve \u00f6l\u00e7\u00fclen etkiye g\u00f6re verin.<\/li>\n<\/ul>\n<p>Kal\u0131c\u0131 cache d\u00fcnyas\u0131na giri\u015f yapmak i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/redis-cache-nedir-hosting-performansini-nasil-artirir\/'>Redis cache performans rehberimize<\/a> g\u00f6z atabilirsiniz. Kal\u0131c\u0131 nesne \u00f6nbelle\u011fi planlarken se\u00e7ilen altyap\u0131n\u0131n Redis \u00e7al\u0131\u015ft\u0131rma veya bir Redis hizmetine ba\u011flanma olanaklar\u0131n\u0131 ve WordPress entegrasyonunu de\u011ferlendirin.<\/p>\n<h2><span id=\"Veritabani_ve_Hosting_Katmaninda_Ek_Optimizasyonlar\">Veritaban\u0131 ve Hosting Katman\u0131nda Ek Optimizasyonlar<\/span><\/h2>\n<h3><span id=\"Indeksler_ve_MySQL_Tarafi_Ayarlar\">\u0130ndeksler ve MySQL Taraf\u0131 Ayarlar<\/span><\/h3>\n<p>Modern WordPress kurulumlar\u0131nda wp_options i\u00e7in option_id ve option_name \u00fczerinde gerekli indeksler zaten mevcuttur. Yine de \u00e7ok b\u00fcy\u00fck tablolarda, sorgu planlar\u0131n\u0131 incelemek \u00f6nemlidir. EXPLAIN \u00e7\u0131kt\u0131s\u0131n\u0131 yaln\u0131zca <strong>Using where; Using index<\/strong> gibi notlara bakarak iyi veya k\u00f6t\u00fc diye s\u0131n\u0131fland\u0131rmay\u0131n. Sorgu plan\u0131n\u0131 ve \u00f6l\u00e7\u00fclen maliyeti birlikte inceleyerek ek indeks ihtiyac\u0131n\u0131 de\u011ferlendirin.<\/p>\n<p>MySQL ayarlar\u0131n\u0131 kullan\u0131lan s\u00fcr\u00fcm ve \u00f6l\u00e7\u00fclen i\u015f y\u00fck\u00fcne g\u00f6re de\u011ferlendirin; a\u015fa\u011f\u0131daki adlar\u0131 her kurulumda ge\u00e7erli bir ayar listesi olarak kullanmay\u0131n:<\/p>\n<ul>\n<li>innodb_buffer_pool_size<\/li>\n<li>Redo log kapasitesi: MySQL 8.0.30+ i\u00e7in innodb_redo_log_capacity; \u00f6nceki s\u00fcr\u00fcmlerde tarihsel ayarlar innodb_log_file_size ve innodb_log_files_in_group&#8217;dur. S\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn y\u00f6ntemini kullan\u0131n.<\/li>\n<li>MySQL query cache: 5.7.20&#8217;de kullan\u0131mdan kald\u0131r\u0131lmak \u00fczere i\u015faretlendi, 8.0.3&#8217;te kald\u0131r\u0131ld\u0131; g\u00fcncel MySQL i\u00e7in yap\u0131land\u0131rmay\u0131n. Bu s\u00fcr\u00fcm bilgisi MariaDB&#8217;ye genellenmez. WordPress nesne \u00f6nbelle\u011fi ve sayfa \u00f6nbelle\u011fi ayr\u0131 uygulama katmanlar\u0131d\u0131r; query cache ayar\u0131n\u0131n birebir yerine ge\u00e7mezler.<\/li>\n<\/ul>\n<p>Daha geni\u015f bir MySQL tuning ve yedekleme perspektifi i\u00e7in, yukar\u0131da bahsetti\u011fimiz <a href='https:\/\/www.dchost.com\/blog\/mysql-veritabani-yedekleme-stratejileri-mysqldump-percona-xtrabackup\/'>MySQL veritaban\u0131 yedekleme ve y\u00f6netimi rehberini<\/a> mutlaka okuman\u0131z\u0131 \u00f6neririz.<\/p>\n<h3><span id=\"TTFB_ve_Genel_Sayfa_Hizina_Etkisi\">TTFB ve Genel Sayfa H\u0131z\u0131na Etkisi<\/span><\/h3>\n<p>wp_options i\u00e7indeki gereksiz verilerin ve autoload y\u00fck\u00fcn\u00fcn azalt\u0131lmas\u0131, veritaban\u0131 eri\u015fimi veya PHP i\u015flemesi darbo\u011faz olu\u015fturuyorsa <strong>TTFB&#8217;yi iyile\u015ftirebilir<\/strong>. Etkiyi belirlemek i\u00e7in temizlik \u00f6ncesi ve sonras\u0131nda ayn\u0131 ko\u015fullarda \u00f6l\u00e7\u00fcm yap\u0131n. PHP-FPM, OPcache, Redis ve MySQL ayarlar\u0131yla birlikte de\u011ferlendirilebilecek olas\u0131 kazan\u0131mlar:<\/p>\n<ul>\n<li>Daha az autoload verisi i\u015flenmesiyle PHP bellek kullan\u0131m\u0131n\u0131n azalmas\u0131,<\/li>\n<li>Veritaban\u0131ndan okunan gereksiz veri miktar\u0131n\u0131n azalmas\u0131.<\/li>\n<\/ul>\n<p>HTTP\/2, HTTP\/3 ve CDN ise farkl\u0131 katmanlardaki iyile\u015ftirmelerdir; wp_options temizli\u011finin sonucu olarak de\u011ferlendirilmemelidir.<\/p>\n<p>Bu noktada, sunucu taraf\u0131 optimizasyonu ile veritaban\u0131 temizli\u011fini birlikte d\u00fc\u015f\u00fcnmek i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/wordpress-sunucu-optimizasyonu-php-redis-mysql\/'>WordPress sunucu optimizasyon rehberimize<\/a> geri d\u00f6n\u00fcp, t\u00fcm resmi bir arada de\u011ferlendirmeniz iyi olacakt\u0131r.<\/p>\n<h3><span id=\"Dogru_Hosting_ve_Kaynak_Planlamasi\">Do\u011fru Hosting ve Kaynak Planlamas\u0131<\/span><\/h3>\n<p>Autoload ve b\u00fcy\u00fck tablolar\u0131 inceleyip sorgu, kilit ve ba\u011flant\u0131 y\u00f6netimi sorunlar\u0131n\u0131 de\u011ferlendirdikten sonra \u00f6l\u00e7\u00fcmler s\u00fcrekli CPU, bellek veya depolama yetersizli\u011fi g\u00f6steriyorsa kapasite art\u0131\u015f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Yava\u015f sorgu veya y\u00fcksek ba\u011flant\u0131 say\u0131s\u0131 tek ba\u015f\u0131na donan\u0131m eksikli\u011fini kan\u0131tlamaz. \u015eu se\u00e7enekleri de\u011ferlendirebilirsiniz:<\/p>\n<ul>\n<li>\u0130\u015f y\u00fck\u00fc ve eri\u015fim ihtiyac\u0131n\u0131 kar\u015f\u0131layan payla\u015f\u0131ml\u0131 hosting plan\u0131,<\/li>\n<li>\u00d6l\u00e7\u00fclen gereksinime g\u00f6re VPS, fiziksel sunucu veya ayr\u0131 veritaban\u0131\/\u00f6nbellek hizmeti<\/li>\n<\/ul>\n<p>CPU\/RAM limitlerini, depolama performans\u0131n\u0131, kaynak tahsis ko\u015fullar\u0131n\u0131 ve MySQL y\u00f6netim yetkisini s\u00f6zle\u015fmeden do\u011frulay\u0131n. Redis gibi kal\u0131c\u0131 nesne \u00f6nbelle\u011fi i\u00e7in WordPress entegrasyonu da gerekir. Daha b\u00fcy\u00fck paket veya farkl\u0131 sunucu t\u00fcr\u00fc tek ba\u015f\u0131na h\u0131zlanma garantisi de\u011fildir.<\/p>\n<h2><span id=\"Uzun_Vadeli_Bakim_Buyumeyi_ve_Sorgu_Maliyetini_Izlemek\">Uzun Vadeli Bak\u0131m: B\u00fcy\u00fcmeyi ve Sorgu Maliyetini \u0130zlemek<\/span><\/h2>\n<h3><span id=\"Duzenli_Kontrol_ve_Otomasyon\">D\u00fczenli Kontrol ve Otomasyon<\/span><\/h3>\n<p>Kontrol s\u0131kl\u0131\u011f\u0131n\u0131 tablonun b\u00fcy\u00fcme h\u0131z\u0131na, i\u015f y\u00fck\u00fcne ve saklama ihtiya\u00e7lar\u0131na g\u00f6re se\u00e7in. \u00d6rne\u011fin \u00fc\u00e7 ayl\u0131k autoload incelemesi veya y\u0131ll\u0131k ayr\u0131nt\u0131l\u0131 bak\u0131m bir ba\u015flang\u0131\u00e7 plan\u0131 olabilir; yo\u011fun b\u00fcy\u00fcyen sistemlerde daha s\u0131k kontrol gerekir. Bunlar otomatik silme aral\u0131klar\u0131 de\u011fildir.<\/p>\n<ul>\n<li>Autoload toplam\u0131n\u0131, b\u00fcy\u00fck tablolar\u0131n veri\/indeks boyutunu ve sorgu s\u00fcrelerini ayn\u0131 y\u00f6ntemle izleyin.<\/li>\n<li>Yeni eklenti, g\u00fcncelleme ve trafik de\u011fi\u015fimlerini b\u00fcy\u00fcmeyle kar\u015f\u0131la\u015ft\u0131r\u0131n; zaman ili\u015fkisini tek ba\u015f\u0131na neden kan\u0131t\u0131 saymay\u0131n.<\/li>\n<li>S\u00fcresi ge\u00e7mi\u015f transient, do\u011frulanm\u0131\u015f log saklama ve \u00e7\u00f6p kutusu g\u00f6revlerini kapsam ve \u00e7al\u0131\u015fma sonu\u00e7lar\u0131yla kontrol edin. OPTIMIZE i\u015flemini takvime ba\u011fl\u0131 bir zorunluluk saymay\u0131n.<\/li>\n<\/ul>\n<p>K\u00fc\u00e7\u00fck i\u015fletmeler i\u00e7in y\u0131ll\u0131k bak\u0131m takvimi olu\u015ftururken, veritaban\u0131 kontrollerini de eklemek mant\u0131kl\u0131 olacakt\u0131r. DCHost blogunda payla\u015ft\u0131\u011f\u0131m\u0131z genel bak\u0131m ve g\u00fcvenlik rehberleri ile bu rutini zenginle\u015ftirebilirsiniz.<\/p>\n<h3><span id=\"Gelistirici_ve_Sistem_Tarafinin_Birlikte_Calismasi\">Geli\u015ftirici ve Sistem Taraf\u0131n\u0131n Birlikte \u00c7al\u0131\u015fmas\u0131<\/span><\/h3>\n<p>Performans sorunlar\u0131 her zaman yaln\u0131zca veritaban\u0131 veya sunucu ayar\u0131yla \u00e7\u00f6z\u00fclmez. Sa\u011fl\u0131kl\u0131 bir WordPress altyap\u0131s\u0131nda:<\/p>\n<ul>\n<li>Geli\u015ftirici, wp_options ve autoload kullan\u0131m\u0131n\u0131 bilin\u00e7li tasarlar.<\/li>\n<li>Sistem y\u00f6neticisi, MySQL, PHP-FPM, OPcache, Redis gibi katmanlar\u0131 do\u011fru boyutland\u0131r\u0131r.<\/li>\n<li>Hosting sa\u011flay\u0131c\u0131s\u0131n\u0131n altyap\u0131 izleme, darbo\u011faz raporlama ve iyile\u015ftirme \u00f6nerileri konusundaki sorumluluklar\u0131, hizmet kapsam\u0131na g\u00f6re netle\u015ftirilir.<\/li>\n<\/ul>\n<p>Bu koordinasyon, uygulama, veritaban\u0131 ve sunucu katmanlar\u0131n\u0131 birlikte ele almay\u0131 ve tespit edilen sorunlar i\u00e7in sorumlular\u0131 belirlemeyi sa\u011flar.<\/p>\n<h2><span id=\"Sonuc_Gereksiz_Veriyi_Ayirin_Etkiyi_Olcun\">Sonu\u00e7: Gereksiz Veriyi Ay\u0131r\u0131n, Etkiyi \u00d6l\u00e7\u00fcn<\/span><\/h2>\n<p>WordPress veritaban\u0131 optimizasyonu, yaln\u0131zca <code>wp_options<\/code> ve autoload toplam\u0131n\u0131 k\u00fc\u00e7\u00fcltmekten ibaret de\u011fildir. B\u00fcy\u00fck postmeta, revizyon, yorum ve log tablolar\u0131n\u0131n kullan\u0131m\u0131n\u0131; saklama ihtiyac\u0131n\u0131, sorgu plan\u0131n\u0131 ve bak\u0131m maliyetini birlikte inceleyin. Gereksiz verinin azalt\u0131lmas\u0131 ancak ger\u00e7ek darbo\u011faz\u0131 etkiledi\u011fi \u00f6l\u00e7\u00fcde yan\u0131t s\u00fcresini veya kaynak kullan\u0131m\u0131n\u0131 iyile\u015ftirir.<\/p>\n<p>\u00d6nce \u00f6l\u00e7\u00fcm ve geri y\u00fcklenebilir yedek; ard\u0131ndan staging do\u011frulamas\u0131 ve b\u00fcy\u00fck canl\u0131 veri i\u00e7in ayr\u0131 anahtarl\u0131 parti plan\u0131 haz\u0131rlay\u0131n. S\u0131n\u0131rs\u0131z silme \u00f6rneklerini canl\u0131ya aynen ta\u015f\u0131may\u0131n. Partiler aras\u0131nda commit, izleme ve durdurma ko\u015fullar\u0131n\u0131 uygulay\u0131n; yeniden olu\u015fturma \u00f6ncesinde ge\u00e7ici\/ara tablo kapasitesini ve kilitleme etkisini kontrol edin. Ayn\u0131 y\u00fckte \u00f6nce\/sonra TTFB, y\u00f6netim paneli yan\u0131t\u0131 ve kaynak kullan\u0131m\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rarak sonucun yarar\u0131n\u0131 de\u011ferlendirin.<\/p>\n<p>D\u0131\u015f destek al\u0131rken autoload incelemesi, b\u00fcy\u00fck tablo bak\u0131m\u0131, yedekten d\u00f6n\u00fc\u015f, sunucu y\u00f6netimi ve uygulama de\u011fi\u015fikliklerinin hangilerinin hizmete d\u00e2hil oldu\u011funu \u00f6nceden netle\u015ftirin.<\/p>\n<h2><span id=\"Resmi_Kaynaklar\">Resm\u00ee Kaynaklar<\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_autoload_values_to_autoload\/\" rel=\"nofollow noopener\" target=\"_blank\">WordPress: autoload values<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_set_option_autoload_values\/\" rel=\"nofollow noopener\" target=\"_blank\">WordPress: autoload API<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/cli\/commands\/transient\/delete\/\" rel=\"nofollow noopener\" target=\"_blank\">WP-CLI: transient deletion<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_save_post_revision\/\" rel=\"nofollow noopener\" target=\"_blank\">WordPress: revision retention<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_delete_comment\/\" rel=\"nofollow noopener\" target=\"_blank\">WordPress: comment deletion<\/a><\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/delete.html\" rel=\"nofollow noopener\" target=\"_blank\">MySQL 8.0: DELETE<\/a><\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/optimize-table.html\" rel=\"nofollow noopener\" target=\"_blank\">MySQL 8.0: OPTIMIZE TABLE<\/a><\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/analyze-table.html\" rel=\"nofollow noopener\" target=\"_blank\">MySQL 8.0: ANALYZE TABLE<\/a><\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-online-ddl-space-requirements.html\" rel=\"nofollow noopener\" target=\"_blank\">MySQL 8.0: online DDL space<\/a><\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/converting-tables-to-innodb.html\" rel=\"nofollow noopener\" target=\"_blank\">MySQL 8.0: InnoDB conversion<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>wp_options ve autoload y\u00fck\u00fcn\u00fc \u00f6l\u00e7\u00fcn; b\u00fcy\u00fck postmeta, revizyon, yorum ve log tablolar\u0131n\u0131n bak\u0131m\u0131n\u0131 planlay\u0131n. Yedek, staging, partili i\u015flem ve kapasite kontrolleriyle de\u011fi\u015fikli\u011fin etkisini do\u011frulay\u0131n.<\/p>\n","protected":false},"author":1,"featured_media":12153,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3382","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\/3382","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=3382"}],"version-history":[{"count":4,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3382\/revisions"}],"predecessor-version":[{"id":12155,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3382\/revisions\/12155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/12153"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}