Gömme İyileştirici

Açıklama

Bu eklentinin amacı, Tweetler, YouTube videoları, TikTok’lar ve diğerleri gibi WordPress’teki gömülü içeriklerin performansını optimize etmektir.

Mevcut iyileştirmeler şunları içerir:

  1. Görünür hâle gelmeden hemen önce gömülü içerikleri geç yükleme
  2. İlk görünüm alanındaki gömülü içerikler için dns-prefetch bağlantıları ekleme
  3. Yerleşim kaymasını azaltmak için yeniden boyutlanan gömülü içerikler için alan ayırma

Gömülü içerikleri geç yükleme performansı iyileştirir, çünkü gömülü içerikler genellikle çok kaynak yoğundur; geç yükleme, sayfa yüklenirken kaynaklarla rekabet etmelerini engeller. IFRAME-tabanlı gömülü içeriklerin geç yüklenmesi yalnızca loading=lazy özniteliği eklenerek sağlanır. SCRIPT etiketleri içeren gömülü içeriklerin geç yüklenmesi ise bir Intersection Observer kullanılarak, gömülü içeriğin FIGURE kapsayıcısının görünüm alanına girmek üzere olduğu izlenip ardından SCRIPT etiketinin dinamik olarak eklenmesiyle sağlanır.

Bu eklenti ayrıca Optimizasyon Dedektifi eklentisinin kurulmasını ve etkinleştirilmesini önerir, bu da yalnızca geç yüklemenin ötesinde birçok iyileştirmenin önünü açar. Optimizasyon Dedektifi olmadığında geç yükleme, bir gömülü içerik ilk görünür alanda konumlandığında aslında performansı düşürebilir. Bunun nedeni, bu tür ilk görünür alandaki öğelerin geç yüklenmesinin LCP’yi düşürebilmesidir; çünkü öğenin görünür olup olmadığını sınayan mantık, işlemeyi geciktirir. Bu nedenle WordPress Core, sunucu tarafındaki sezgisel yöntemler kusursuz olmasa da, ilk görünür alanda görünen IMG etiketlerinin geç yüklenmesini önlemek için elinden geleni yapar. Optimizasyon Dedektifi tam bu noktada devreye girer; çünkü bir gömülü içeriğin mobil, tablet ve masaüstü gibi kırılma noktasına özgü görünür alanların herhangi birinde görünüp görünmediğini algılar. (Ayrıca bir IMG öğesinin ilk görünür alanda olup olmamasına göre geç yüklemenin doğru biçimde uygulandığından emin olmak için Optimizasyon Dedektifi’ni genişleten Image Prioritizer eklentisine de bakın.)

Optimizasyon Dedektifi etkinleştirildiğinde, sitenize yapılan gerçek ziyaretlere dayanarak hangi gömmelerin başlangıç görünüm alanında göründüğünü izlemeye başlayacak. Bu bilgiler elindeyken Gömme İyileştirici, başlangıç görünüm alanında görünen gömmeleri geç yüklemeyle yüklemeyecek. Ayrıca bu tür ilk ekranda görünen gömmeler için Gömme İyileştirici, bu gömmeler tarafından kullanıldığı bilinen kaynaklara dns-prefetch bağlantıları da ekleyecek. Örneğin başlangıç görünüm alanında bir YouTube gömmesi görünüyorsa, Optimizasyon Dedektifi ile birlikte Gömme İyileştirici loading=lazy kodunu atlayacak ve YouTube video poster görsellerinin sunulduğu alan adı olan https://i.ytimg.com için bir dns-prefetch bağlantısı da ekleyecek. Bu tür bağlantılar, başlangıç görünüm alanındaki gömmelerin daha da hızlı yüklenmesini sağlar.

Optimizasyon Dedektifi tarafından etkinleştirilen Gömme İyileştirici’deki diğer önemli özellik, yüklenirken boyut değiştiren gömmelerin neden olduğu düzen kaymalarını azaltmaktır. Bu durum en çok WordPress yazı gömmelerinde veya Tweet gömmelerinde görülür. Gömme İyileştirici, bu gömmelerin yeniden boyutlandırılan yüksekliklerini takip eder. Bu yükseklikler saklandığında Gömme İyileştirici, kapsayıcı FIGURE öğesinde uygun yüksekliği görünüme özgü min-height değeri olarak ayarlar; böylece gömme yüklendiğinde düzen kayması oluşmaz.

Optimizasyon Dedektifi, sayfanın nasıl düzenlendiğini öğrenmek için sayfa ziyaretlerine dayandığından, optimizasyonların uygulandığını görmeye başlamak için mobil ve masaüstü bir cihazdan ziyaret alana kadar beklemeniz gerekecek. Ayrıca, Optimizasyon Dedektifi’nin oturum açmış yönetici kullanıcılar için varsayılan olarak optimizasyon uygulamadığına dikkat edin.

Optimizasyonların Gömme bloklarına uygulanması amaçlanmaktadır. Bu nedenle optimizasyonların uygulandığını görmüyorsanız gömmelerinizin bir Klasik Blok içinde olmadığından emin olun.

Siteniz, kimlik doğrulaması yapmamış ön yüz ziyaretçilerine erişilebilir bir REST API sunmalıdır; çünkü bir sayfanın nasıl optimize edileceğine dair metrikler bu şekilde toplanır. Bu eklenti, herhangi bir yapılandırma olmadan çalışacak şekilde tasarlandığından şu anda hiçbir ayarı ve kullanıcı arayüzü yoktur.

Yükleme

WordPress içinden kurulum

  1. Eklentiler > Yeni ekle‘yi ziyaret edin.
  2. Gömme İyileştirici için arama yapın.
  3. Gömme İyileştirici eklentisini yükleyip etkinleştirin.

Elle kurulum

  1. embed-optimizer klasörünün tamamını /wp-content/plugins/ dizinine yükleyin.
  2. Eklentiler‘i ziyaret edin.
  3. Gömme İyileştirici eklentisini etkinleştirin.

SSS

Eklenti hakkındaki geri bildirimimi nereye gönderebilirim?

Bu eklenti gelecekteki WordPress çekirdek özelliklerini içerebileceğinden özellikle geri bildirimde bulunulması teşvik edilir ve geri bildirimler çok kıymetlidir. Yeni özelliklerle ilgili önerileriniz veya istekleriniz varsa bunları WordPress performans ekibinin GitHub deposunda bir sorun kaydı olarak iletebilirsiniz. Sorun giderme konusunda yardıma ihtiyacınız varsa veya eklenti hakkında bir sorunuz varsa lütfen destek forumumuzda yeni bir konu oluşturun.

Güvenlik hatalarını nereye bildirebilirim?

Performans ekibi ve WordPress topluluğu güvenlik açıklarını ciddiye alır. Bulgularınızı sorumlu bir şekilde paylaştığınız için teşekkür ederiz ve katkılarınızı takdir etmek için her türlü çabayı göstereceğiz.

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

2 incelemeyi oku

Katkıda Bulunanlar ve Geliştiriciler

“Gömme İyileştirici” açık kaynaklı yazılımdır. Aşağıdaki kişiler bu eklentiye katkıda bulunmuşlardır.

Katkıda bulunanlar

“Gömme İyileştirici” 11 dile çevrildi. Katkıda bulundukları için çevirmenlere teşekkürler.

“Gömme İyileştirici” 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-beta6

İyileştirmeler

  • Tüm PHP dosyalarına declare( strict_types = 1 ) eklendi. (2424)
  • Gerekli en düşük WordPress sürümü 6.9 olarak yükseltildi. (2517)
  • Gerekli en düşük PHP sürümünü 7.2’den 7.4’e yükseltildi. (2469)
  • Yerleşik özellik türleri ve daha sıkı statik analizle kod kalitesini iyileştir. (1729)

1.0.0-beta5

Hata düzeltmeleri

  • İlk görüntü alanındaki gömmeler preconnect bağlantılarından dns-prefetch bağlantılarına geçirildi. (2256)

1.0.0-beta4

Güvenlik

  • Yerleşim kaymalarını azaltmak için eklenen stillerdeki ID seçicisine kaçış uygulandı. Bu, en az katkıcı rolüne sahip, kimliği doğrulanmış bir kullanıcı gerektiren bir XSS güvenlik açığını giderir. duc193 kişisine sorumlu güvenlik açıklaması için teşekkürler. (2397)

1.0.0-beta3

İyileştirmeler

  • Uzantı başlatma API’sine bağlantı metriği mutasyon yardımcılarını ekleme. (1951)
  • Satır içi betiklerin oluşturulmasını sourceURL kullanımı, sağlamlaştırılmış JSON kodlaması ve JSON’un ayrı bir betikte dışa aktarılmasıyla iyileştir. (2169)

1.0.0-beta2

İyileştirmeler

  • OD_HTML_Tag_Processor::next_tag() işlevini $query bağı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 isDebug değerini otomatik olarak hesaba katma. (1895)

1.0.0-beta1

İyileştirmeler

  • Artık deneysel olmadığını belirtmek için sürüm 1.0.0-beta1’e yükseltildi. Ayrıntılar için 1846 sayfasına bakın.
  • Medya sorgularında CSS aralık sözdizimi kullanıldı. (1833)

0.4.1

Hata düzeltmeleri

  • preconnect bağlantılarının eklenmesi için hem mobil hem de masaüstü URL metriklerinin toplanması gerekliliğini kaldırın. (1764)

0.4.0

İyileştirmeler

  • Gömmelerin görüntü alanında olup olmadığını hesaba katmak için medya sorgularını preconnect bağlantılarına dahil edin. (1654)
  • SCRIPT_DEBUG etkinleştirildiğinde küçültülmemiş betikler sunulur. (1643)

0.3.0

İyileştirmeler

  • CLS’yi azaltmak amacıyla gömmeler için alan ayırmak üzere URL metriklerinden yararlanın. (1373)
  • Hem mobil hem de masaüstü için URL metrikleri bulunmadığı sürece görsellerin ve gömmelerin geç yüklenmesinden kaçının. (1604)

0.2.0

İyileştirmeler

  • Gömme İyileştirici’nin gömülmesini kolaylaştırın. (1337)
  • Gömme İyileştirici’de gömmeleri iyileştirmek için Optimizasyon Dedektifi özelliğinden yararlanılır. (1302)

0.1.2

İyileştirmeler

  • 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

  • Yazı gömmesi iframe’lerini kırpma yerine visibility:hidden ile gizleyin. (1192)

0.1.1

  • Generator etiketi için eklenti kısa adı kullanıldı. (1103)
  • Gerekli en düşük WP sürümü 6.4 olarak yükseltildi. (1076)

0.1.0

  • İlk sürüm.