Açıklama
Bu eklenti, WordPress’in mevcut sunucu tarafı sezgisel yöntemleriyle mümkün olmayan yükleme iyileştirmelerini uygulayabilmek amacıyla, sayfada hangi ögelerin görüntülendiğine ilişkin gerçek kullanıcı ölçümlerini çeşitli aygıt form faktörlerinde (ör. masaüstü, tablet ve telefon) toplar.
Bu eklenti, tek başına optimizasyon işlevi sunmayan bir çerçeve bağımlılığıdır. Bunun için lütfen Görsel Önceliklendirici ve Gömme İyileştirici bağımlı eklentilerini kurun (WordPress Core Performance ekibinden gelecek diğerleri dahil). Bu eklenti herhangi bir yapılandırma gerektirmeden çalışacak şekilde tasarlandığından şu anda hiçbir ayarı ve kullanıcı arayüzü yoktur.
Sitenizdeki sayfalar hakkında gerçek kullanıcı ölçümleri bu şekilde toplandığı için sitenizin şu anda giriş yapmamış ön yüz ziyaretçilerine REST API’ye erişilebilir olması gerekiyor; buna rağmen ölçümleri toplamak için alternatif mekanizmalar sunma yönünde araştırmalar sürüyor. Ayrıca Safari Largest Contentful Paint metriğini henüz desteklemediğinden şu anda Safari’den hiçbir ölçüm toplanmadığını lütfen unutmayın; ancak bu Core Web Vitals metriğine yönelik destek bu yıl Interop 2025 aracılığıyla geliyor.
Kullanım örneklerini gösteren bir teknik giriş, filtre/eylem kancaları ve uzantılar için tam eklenti belgelerine bakın. Ayrıca WordCamp Asia 2025’teki konuşmayı da izleyebilirsiniz: Optimizasyon Dedektifi ile Performansı Artırma.
Yükleme
WordPress içindeki dizinden kurulum
- WordPress yönetim ekranında Eklentiler > Yeni ekle sayfasına gidin.
- Optimizasyon Dedektifi araması yapın.
- Optimizasyon Dedektifi eklentisini yükleyin ve etkinleştirin.
Elle kurulum
- Eklentiyi WordPress.org’dan ZIP olarak indirin ya da Başlangıç talimatlarını uyguladıktan sonra GitHub deposunun bir klonundan
npm run build:plugin:optimization-detective --env zip=truekomutuyla bir ZIP derlemesi oluşturun. - WordPress yönetim ekranında Eklentiler > Yeni eklenti ekle bölümüne gidin.
- Eklenti yükle düğmesine tıklayın
- 1. adımda indirdiğiniz sistemdeki
optimization-detective.zipdosyasını seçin ve Şimdi kur düğmesine tıklayın. - Eklentiyi etkinleştir düğmesine tıklayın.
SSS
-
Eklenti hakkındaki geri bildirimimi nereye gönderebilirim?
-
Özellikle bu eklenti gelecekteki WordPress çekirdek özelliklerini barındırabileceğinden, geri bildirimde bulunulması teşvik edilir ve memnuniyetle karşılanır. Yeni özellik önerileriniz veya talepleriniz varsa bunları WordPress performans ekibinin GitHub deposunda bir sorun (issue) olarak iletebilirsiniz. Sorun giderme konusunda yardıma ihtiyacınız varsa ya da eklenti hakkında bir sorunuz varsa lütfen destek forumumuzda yeni bir konu oluşturun.
-
Güvenlik hatalarını nereden bildirebilirim?
-
Performans ekibi ve WordPress topluluğu güvenlik hatalarını ciddiye alır. Bulgularınızı sorumlu bir biçimde bildirme çabalarınızı takdir ediyoruz ve katkılarınızın karşılığını vermek için elimizden gelen her şeyi yapacağız.
Bir güvenlik sorununu bildirmek için lütfen WordPress HackerOne programını ziyaret edin.
-
Eklentiye nasıl katkıda bulunabilirim?
-
Katkılara her zaman açığız! Nasıl katkıda bulunabileceğinizi öğrenmek için Çekirdek performans ekibi el kitabı‘na göz atın.
Eklentinin kaynak kodu, GitHub’daki WordPress/performance deposunda yer alır.
İncelemeler
Katkıda Bulunanlar ve Geliştiriciler
“Optimizasyon Dedektifi” açık kaynaklı yazılımdır. Aşağıdaki kişiler bu eklentiye katkıda bulunmuşlardır.
Katkıda bulunanlar“Optimizasyon Dedektifi” 9 dile çevrildi. Katkıda bulundukları için çevirmenlere teşekkürler.
“Optimizasyon Dedektifi” eklentisini dilinize çevirin.
Geliştirmeyle ilgilenir misiniz?
Kodu görüntüleyin, SVN deposuna göz atın ya da RSS ile geliştirme günlüğüne abone olun.
Değişiklik Kaydı
1.0.0-beta7
İyileştirmeler
- Tüm PHP dosyalarına
declare( strict_types = 1 )eklendi. (2424) - Gerekli en düşük WordPress sürümünü 6.9’a yükselt. (2517)
- Gerekli en düşük PHP sürümünü 7.2’den 7.4’e yükselt. (2469)
- Yerleşik özellik türleri ve daha sıkı statik analizle kod kalitesini iyileştir. (1729)
- Paketlenen web-vitals kitaplığını 5.1.0 sürümünden 6.1.0 sürümüne yükselt; bu, 6.0.0 ana sürümünü de kapsıyor. (2606, 2629)
- Paketlenen web-vitals kitaplığı için kaynak haritalarını gönder; kitaplık bunları 6.0.0 sürümünde yayımlamaya başladı.
- Bağlantı metrikleri depolamasına ilişkin HMAC doğrulamasını REST uç noktası geri çağırma işlevine taşıyın; böylece doğrulama, tüm parametreler doğrulanıp temizlendikten sonra yürütülür ve
rest_invalid_paramhatası döndürülür. (2436) - Kullanımdan kaldırılan sabitleri, bunları içeren
deprecated.phpdosyasıyla birlikte kaldırın.
1.0.0-beta6
Güvenlik
- Algılama argümanları JSON’unu içeren SCRIPT ögesine doğrulama ekle. Bu, çakışan bir
iddeğerine sahip, araya eklenmiş bir ögenin betiği gölgeleyip rastgele bir modülün içe aktarılmasına neden olabildiği DOM clobbering güvenlik açığını giderir; açıktan yararlanabilmek için en az katkıda bulunan (contributor) rolüne sahip, kimliği doğrulanmış bir kullanıcı gerekiyordu. Sorumlu güvenlik bildirimi için Asaf Mozes’e (amosec) teşekkürler.
1.0.0-beta5
Hata düzeltmeleri
$wp_query->postsdeğerinullolduğundaod_get_current_url_metrics_etag()işlevinde oluşabilecek ölümcül hata önlendi. (2347)
İyileştirmeler
- dns-prefetch bağlantıları için destek eklendi. (2256)
1.0.0-beta4
İyileştirmeler
- Uzantı başlatma API’sine bağlantı metriği mutasyon yardımcılarını ekleme. (1951)
- Compression Streams API kullanarak bağlantı metrikleri için gzip sıkıştırması ekle. (1959)
- Negatif TTL değerleri kullanarak zaman damgası tabanlı tazelik denetimlerini devre dışı bırakmaya izin ver. (1940)
- web-vitals sürümünü 5.0.3’ten 5.1.0’a yükselt. (2116)
od_url_metricsyazıları için varsayılan çöp toplama TTL’sini 1 aydan 3 aya değiştir ve son kullanma süresini özelleştirmek için filtreyi ekle. (1950)- Optimizasyon Dedektifi meta generator etiketini tüm devre dışı bırakma nedenleriyle geliştir. (1979)
- Bağlantı metriklerini generator meta etiketi içeriğine ekle. (1954)
- Satır içi betiklerin oluşturulmasını
sourceURLkullanımı, sağlamlaştırılmış JSON kodlaması ve JSON’un ayrı bir betikte dışa aktarılmasıyla iyileştir. (2169) - Optimizasyon Dedektifi uzantılarının keşfedilebilirliğini ve kullanıcı rehberliğini iyileştir. (2261)
- Kullanımdan kaldırılmış
url_metrics_group_collectionve sınıf takma adlarını kaldır ve Görsel Önceliklendirici’de gereken OD sürümünü yükselt. (1943)
Hata düzeltmeleri
- Hata ayıklama modunda grupları okurken olası bir hatayı önle. (2108)
- Algılama modülünün yüklenmesi, sayfa yüklenene ve boşta kalana kadar ertelendi. (2017)
- Uzantılar başlatılmadan önce Ubağlantı metriğinin başlangıçta tüm öğelerle oluşturulması sağlandı. (1968)
- Sayfa arka plan sekmesinde açıldığında web-vitals.js LCP değerini raporlamayacağı için algılama atlandı. (1927)
1.0.0-beta3
İyileştirmeler
- Optimizasyon Dedektifi’nın bir belgeyi işlemesinin öncesinde ve sonrasında eylemleri tetikleme. (1919)
OD_HTML_Tag_Processor::next_tag()işlevini$querybağımsız değişkenine izin verecek şekilde güncelleme ve etiket kapanışlarını ziyaret etmeyi varsayılan olarak atlamaya hazırlanma. (1872)- Günlüğe kaydetme işlevlerini istemci tarafı uzantılara açma ve
isDebugdeğerini otomatik olarak hesaba katma. (1895) - Bağlantı metriği depolama REST API uç noktasını,
403 yasakyerine423 kilitlidurum kodu döndürecek şekilde güncelleme. (1863) - REST API ile bağlantı metrikleri yazı türü arasındaki yinelenen mantığı tekilleştirme. (1867)
Hata düzeltmeleri
- HTTP yanıtının Link başlığındaki URL kodlamasını düzeltme. (1907)
- Bağlantı metriği depolandıktan sonra yazı güncelleme eylemlerini tetiklemeyi düzeltme ve REST API uç noktası mantığını bir sınıfa aktarma. (1865)
- Bağlantı metriği grubunda öngörülemeyen bir LCP ögesinin belirlenmesini düzeltme. (1903)
- Halihazırda gönderilmiş
sessionStorageanahtarı oluşturulurken HTTPS olmayan bağlamlardaki eksik Web Crypto API’yi ele alma. (1911)
1.0.0-beta2
İyileştirmeler
- Beacon verisi gönderilirken 64 KiB sınırı hesaba katıldı. (1851)
od_url_metricsyazısının yazı kimliği etiket ziyaretçi bağlamına eklendi. (1847)- Minimum görüntü alanı genişliği hariç olacak, maksimum genişlik ise dâhil olacak şekilde değiştirildi. (1839)
- Yöneticiler için URL Metric depolama kilitlemesi varsayılan olarak devre dışı bırakıldı. (1835)
- Etkin eklentiler ETag verisine dahil edildi ve varsayılan tazelik TTL’si 1 günden 1 haftaya çıkarıldı. (1854)
- ETag, URL Metric’in zorunlu bir özelliği yapıldı. (1824)
- Medya sorgularında CSS aralık sözdizimi kullanıldı. (1833)
- Site Sağlığı testinde REST API depolama isteği hatalarında HTML yanıtlarını görüntülemek için
IFRAMEkullanıldı. (1849)
Hata düzeltmeleri
Linkbaşlığındaki URL’nin geçersiz karakterler içermesi engellendi. (1802)- Yazı önizlemelerinin varsayılan olarak optimize edilmesi engellendi. (1848)
Belgeler
- Optimizasyon Dedektifi belgeleri iyileştirildi. (1782)
1.0.0-beta1
İyileştirmeler
- Engellenen REST API’yi algılamak ve kullanılamadığında iyileştirmeyi atlamak için site sağlığı kontrolü ekler. (1762)
- Uzantıların
od_use_web_vitals_attribution_buildfiltresi aracılığıyla web-vitals attribution derlemesini kullanmayı seçmesine izin verir. (1759) BODYöğesininid,classveyaroleözniteliklerine sahip alt öğeleri için XPath ifadelerinin belirsizliğini giderir. (1797)- Bağlantı metriklerinin oturum açmış olma durumuna göre değişkenlik göstermesi kaldırıldı ve yöneticiler için iyileştirmenin varsayılan olarak devre dışı bırakılmasına son verildi. (1788)
- Optimizasyon Dedektifi için test kapsamı iyileştirildi. (1817)
- Etiket ziyaretçisi geri çağırmasında
truedöndürmeye alternatif olarakOD_Tag_Visitor_Context::track_tag()yöntemi eklendi. (1821) - XPath’lerde BODY’nin alt öğelerine kadar öğe düğümü dizini atlanıyor. (1790)
- Sayfa iyileştirilirken yönetici araç çubuğundaki etiketler artık ziyaret edilmiyor. (1816)
Hata düzeltmeleri
- wp-env yerel ortamında iyileştirmenin gerçekleştirilmesi güvence altına alındı ve devre dışı bırakıldığında hata ayıklama iletileri konsola kaydedildi. (1822)
NOSCRIPTöğelerinin içindeki etiketler artık ziyaret edilmiyor. (1783)
Belgeler
0.9.0
İyileştirmeler
- Masaüstünde ve mobilde LCP öğesi olduğu ve diğer görünüm alanı gruplarının boş olduğu durumlarda
IMGetiketinefetchpriority=higheklendi. (1723) - Optimizasyon Dedektifi’nde depolanan bağlantı metriklerinin hata ayıklaması iyileştirildi. (1656)
- Sayfa durumu ETag hesaplamasına dahil edildi. (1722)
- Yeni bir etiket ziyaretçisi kaydedildiğinde mevcut bağlantı metrikleri eski olarak işaretlendi. (1705)
- Geliştirme ortamında geliştirme modu ‘plugin’ olarak ayarlandı ve yönetici oturum açmışken (eklenti geliştirme modundayken) sayfaların optimize edilmesine izin verildi. (1700)
get_xpath_elements_map()yardımcı yöntemleriniOD_URL_Metric_Group_CollectionveOD_URL_Metric_Groupsınıflarına,get_all_element_max_intersection_ratios/get_element_max_intersection_ratioyöntemlerini iseOD_URL_Metric_Groupsınıfına ekler. (1654)OD_HTML_Tag_Processorsınıfınaget_breadcrumbs()yöntemini ekler. (1707)OD_URL_Metric_Groupsınıfınaget_sample_size()veget_freshness_ttl()yöntemlerini ekler. (1697)- Web-vitals.js’deki
onTTFB,onFCP,onLCP,onINPveonCLSişlevlerini,initializeişlevlerinin argümanları aracılığıyla uzantı JS modüllerine kullanıma sunar. (1697)
Hata düzeltmeleri
- Görünüm alanı boyutu değişmişse bağlantı metriği gönderilmesini engeller. (1712)
- Örtük olarak kapatılan paragraflar için XPath ifadelerinin oluşturulmasını düzeltir. (1707)
0.8.0
İyileştirmeler
SCRIPT_DEBUGetkinleştirildiğinde küçültülmemiş betikler sunulur. (1643)- web-vitals 4.2.3 sürümünden 4.2.4 sürümüne yükseltildi. (1628)
Hata düzeltmeleri
- Sayfa önbelleği varken URL metriklerinin toplanmasını engelleyen algılama zaman penceresi kaldırıldı. (1640)
- Bağlantı metriği depolama isteklerindeki nonce kullanımı gözden geçirildi ve kaynaklar arası istekler engellendi. (1637)
- Sayfa önbelleği doğrulaması planlamak için sorgulanan nesnenin veya döngüdeki ilk yazının yazı kimliği, URL metriği depolama isteğinde gönderildi. (1641)
- phpstan hataları düzeltildi. (1627)
0.7.0
İyileştirmeler
- Toplanan bağlantı metriği verileri, sayfa yüklendikten hemen sonra gönderilmek yerine sayfa gizlendiğinde/kaldırıldığında gönderilir; bu, düzen kaymalarının ve INP puanlarının sayfanın ömrü boyunca izlenmesini sağlar. (1373)
- Algılama mantığı çalıştığında yüklenen betik modülleri biçiminde istemci tarafı uzantılar kullanıma sunuldu. (1373)
- Uzantıların kodlarını yükleyebilmesi için bir
od_initeylemi eklendi. (1373) OD_Elementsınıfı kullanıma sunuldu ve PHP API’si geliştirildi. (1585)- İlk/son grupları almak için grup toplama yardımcı yöntemleri eklendi. (1602)
Hata düzeltmeleri
- Yakında sayfası sunulurken Optimizasyon Dedektifi’nin WooCommerce ile uyumluluğu düzeltildi. (1565)
- Düz (güzel olmayan) kalıcı bağlantılar etkinleştirildiğinde URL metriğinin depolanması düzeltildi. (1574)
0.6.0
İyileştirmeler
- Bağlantı metrik şemasının genişletilebilmesi sağlandı. (1492)
- Etiket ziyaretçisinin Boole dönüş değerine ilişkin belgeler netleştirildi. (1479)
- Her bir bağlantı metriği ile birlikte UUID dahil edildi. (1489)
- get_seek_count() ve get_next_token_count() yerine kullanılmak üzere get_cursor_move_count() tanıtıldı. (1478)
Hata düzeltmeleri
delete_all_posts()için eksik global belgelendirmesi eklendi. (1522)- Bağlantı metrikleri için görüntü alanı en-boy oranı doğrulaması kullanıma sunuldu. (1494)
0.5.0
İyileştirmeler
- web-vitals 4.2.1 sürümünden 4.2.2 sürümüne yükseltildi. (1386)
Hata düzeltmeleri
- Optimizasyon Dedektifi, gömme şablonunda varsayılan olarak devre dışı bırakıldı. (1472)
- Yalnızca HTML belgelerinin Optimizasyon Dedektifi tarafından işlenmesi sağlandı. (1442)
- Optimizasyon Dedektifi’nin işleyebilmesi için şablonun tamamının çıktı tamponu geri çağrısına aktarıldığından emin olundu. (1317)
- intersectionRect/boundingClientRect için tam destek uygulandı, viewportRect tür tanımı düzeltildi ve JSON şeması güçlendirildi. (1411)
0.4.1
İyileştirmeler
Hata düzeltmeleri
- seek() uyarılarının verilmesini önlemek için iyileştirme döngüsü sırasındaki arama mantığı düzeltildi. (1376)
0.4.0
İyileştirmeler
- Optimizasyon Dedektifi’nde konumsal parametrelerin aktarılmasından kaçınıldı. (1338)
- Ön yükleme bağlantıları, LINK etiketlerine ek olarak HTTP Link başlıklarıyla da gönderiliyor. (1323)
0.3.1
İyileştirmeler
- Hata ayıklama etkinleştirildiğinde (
WP_DEBUGdoğru olduğunda) URL Metrics grup toplanması konsola kaydedilir. (1295)
Hata düzeltmeleri
- Geç yükleme optimizasyonunu düzeltmek için kesişmeyen öğeler bağlantı metriğine dahil edildi. (1293)
0.3.0
- Görüntü optimizasyonu özellikleri, artık görsellerin geç yüklenmesini de iyileştiren Görsel Önceliklendirici adlı yeni bir bağımlı eklentiye ayrıldı. (1088)
0.2.0
İyileştirmeler
- Davranışı devre dışı bırakmak için optimization_detective_disabled sorgu değişkeni eklendi. (1193)
- Optimizasyon Dedektifi’nin diğer eklentilere/temalara gömülmesi kolaylaştırıldı. (1185)
- Optimizasyon Dedektifi’nde PHP 7.2 özellikleri kullanıldı. (1162)
- Daha katı statik analiz denetimleriyle genel kod kalitesi iyileştirildi. (775)
- En düşük PHP gereksinimi 7.2’ye yükseltildi. (1130)
Hata düzeltmeleri
- Output buffering etkinleştirilmediğinde Optimizasyon Dedektifi’nde Ssunucu zamanlaması için _doing_it_wrong() çağrısından kaçınıldı. (1194)
- Yalnızca HTML yanıtlarının optimize edilmesi sağlandı. (1189)
- XPath indeksleri, 0 tabanlı yerine 1 tabanlı olacak biçimde düzeltildi. (1191)
0.1.1
- Generator etiketi için eklenti kısa adı kullanıldı. (1103)
- Klasik temalarda algılama betiğinin eklenmesinin import map’leri bozması engellendi. (1084)
0.1.0
- İlk sürüm.
