- Moderatör
- #1
- Kayıtlı
- 1 Yıl 9 Ay 26 Gün
- Katılım
- 10 Ocak 2025
- Konular
- 163
- Mesajlar
- 257
- Tepkime puanı
- 36
- Online süresi
- 11h 19m
- Puan
- 53
- Konum
- Türkiye
- Web sitesi
- www.zyncra.shop
Kısa Bakış: WebP dönüşümü, istemci tarafında yeniden boyutlandırma, piksel sayısı sınırları, görüntü proxy'si, XFMG EXIF, Discourse TL0 sınırları ve S3'e karşı CDN URL bölünmesi.
Konu İçeriği — Hızlı Bakış (
XenForo / Forum • ⏱ ~6 dk okuma •
Kod: Python)
01. Bir iş parçacığında "optimize edilmiş" ne anlama gelir?
02. XenForo 2.3: WebP, dürüst bir yüzdeyle
03. İstemci tarafında yeniden boyutlandırma (bunu yapın)
04. $config['maxImageResizePixelCount']
05. Resim ve bağlantı proxy'si
06. XFMG: EXIF, ardından WebP yolu
Bir forumun ilk ekran ağırlığı genellikle bir resimdir: logo, bir kahraman, popüler bir başlıktaki ilk ek, bir galeri şeridi. XenForo 2.3, JPEG / PNG / BMP yüklemelerini WebP'ye dönüştürecek, dosya PHP'ye ulaşmadan önce tarayıcıda yeniden boyutlandıracak ve piksel sayısı sınırının üzerindeki kaynakları reddedecek (veya yeniden boyutlandırmayı atlayacak).
// Bir iş parçacığında "optimize edilmiş" ne anlama gelir?
Üyeler LCP demiyor. Konunun ekran görüntüsünü göstermesinin üç saniye sürdüğünü, telefonun bir günün verilerini kullandığını veya resim geldiğinde sayfanın atladığını söylüyorlar.
| Belirti | Olağan neden | İlk kontrol |
|---|---|---|
| Kahraman veya ilk görüntü geç | Dönüştürülmemiş JPEG, uzak bağlantı, konuk önbelleği yok | WebP + yerel ana bilgisayar + CWV önbelleği |
| Yükleme başarısız oluyor / asla yeniden boyutlandırılmıyor | Sınırın üzerindeki piksel sayısı; PHP belleği | maxImageResizePixelCount ; istemci tarafında yeniden boyutlandırma |
| Karışık içerikli uyarılar | http:// https:// kartına yerleştirme | Görüntü proxy'si; Pano URL'sini düzelt |
| Yeni kullanıcı dört ekran görüntüsü yayınlayamaz | Söylem TL0 sınırı | Hoş geldiniz metni; belki newuser max embedded media'ı bir kademe yükseltebiliriz |
| Görüntüler Tokyo'dan 200 ms, Sidney'den 4 sn | CDN yok veya yanlış CDN URL'si | Uygulama CDN'si ≠ S3 CDN'si |
// XenForo 2.3: WebP, dürüst bir yüzdeyle
Bunu etkinleştirdiğinizde yeni JPEG, PNG ve BMP yüklemeleri WebP olur. Resmi 2.3 materyalleri ve dizüstü bilgisayar, mevcut dosyaları yeniden oluşturduğunuzda %52,5'da daha az ek depolama alanı olduğunu iddia ediyor.
// İstemci tarafında yeniden boyutlandırma (bunu yapın)
Ek yöneticisi, yüklemeden önce görüntüyü HTML5 ile tarayıcıda küçültebilir. Resmi sebep: daha az sunucu CPU'su, daha az ziyaretçi bant genişliği.
12 MP telefon fotoğrafı olan üyeler fark etmeyecektir.
data/attachments dizininiz olacaktır.//
$config['maxImageResizePixelCount']src/config.php'da:Python:
$config['maxImageResizePixelCount'] = 20000000;20.000.000 resmi varsayılandır. Yukarıdaki resimler yeniden boyutlandırılmaz ve reddedilebilir.
Genişlik × yükseklik sayıdır. 6000×4000 fotoğraf 24.000.000 pikseldir; bu zaten varsayılanın üzerindedir.
// Resim ve bağlantı proxy'si
Kurulum → Seçenekler → Görüntü ve bağlantı proxy'si. XenForo'nun HTTP istemcisi uzak görüntüleri getirir, böylece sayfalarınız bağlantı kurmaz (ve böylece karışık içerikli
https sayfaları bozulmaz).Python:
$config['proxyUrlFormat'] = 'proxy.php?{type}={url}&hash={hash}';// XFMG: EXIF, ardından WebP yolu
XenForo Medya Galerisi resmi bir eklentidir (kendi kendine barındırmada ayrıca satın alınır; Bulut planlarına dahildir). Not defteri / yazmaya değer resmi davranış:
- EXIF yeniden boyutlandırılmadan önce korunur. Kamera meta verileri (telefon açık bırakılmışsa GPS dahil), dosya küçüldüğü için silindiğini varsaymanız gereken bir şey değildir.
- Galeri, açıldığında WebP dönüşüm yolunu kullanır.
// Gönderdiğiniz logolar, kahramanlar ve görseller
Üye yüklemeleri hikayenin yarısıdır. Diğer yarısı stildir.
- Logo / işaret. Başlıkta 4000 piksellik bir PNG değil, boyutlu bir varlık sunun. Ekran boyutunda SVG veya kompakt bir WebP/AVIF. Başlık her sayfadadır; insanların düşündüğünden daha sık LCP'dir.
- PWA simgeleri. Resmi: 192 ve 512 , kare PNG, ideal olarak maskelenebilir. PWA / itin. Bu dosyalar başlık logosu değil.
- Kahraman / kaydırıcı. Tek bir resim, zaten görüntülediğiniz genişlikte veya kaydırıcı yok. Konu listesinden önce dört adet 2000 piksellik JPEG yükleyen bir haber ana sayfası kendine aittir. Açılış sayfası makalesi IA'dır; bu sayfa bayttır.
- Özel yazı tipleri görüntüler değil; hala aynı ilk ekran bütçesi için yarışıyorlar. Onları kendiniz ağırlayın. Uzak bir web yazı tipi CDN'si eklemeyin. Tipografiye bakınız.
// Söylem: Yeni kullanıcılar için tek resim
Varsayılan Söylem sanal alanları TL0 (Yeni) . Belgelenen varsayılan: Gönderi başına 1 gömülü resim.
Besteci, taslağın ortasında yeni kullanıcıyı dördüncü ekran görüntüsünün yayınlanmasını engelleyeceği konusunda uyarmaz. Uzun bir giriş yazıyorlar, dört fotoğraf ekliyorlar, yanıtla tuşuna basıyorlar ve bir limit alıyorlar.
- Korumalı alanı açık bırakın.
- Hoş geldiniz konusu: "Site sizi tanıtıncaya kadar bir görsel alırsınız. Birkaç konu okuyun, böylece TL1 olursunuz."
- Özel pencere, yeni kullanıcı, birinci ayın her haftası. Beklediğiniz introyu yayınlayın.
- Topluluğun ilk günde daha fazlasına izin vermesi gerekiyorsa (fotoğrafçılık, ekran görüntüleri desteği),
newuser max embedded media'ı bir kademe yükseltin. 20'ye ayarlamayın. Herkesi kayıt sırasında TL1'e yükseltmeyin.
// Söylem: yerel disk, S3 ve iki farklı CDN
Üç katman insan birbirine karışıyor.
# 1. Yerel yüklemeler
Varsayılan Docker: VPS birimine canlı olarak yükleme yapar. Küçük bir topluluk için gayet iyi.
S3 yedeklemelerinden ayrı bir proje. Meta:
s3_backup_bucket, yüklemelerle aynı klasör olmamalıdır.// CLS: deliği ayırın
Önemli Web Verileri bir paragrafta özetleniyor, ardından hız kısmına geri dönüyor:
- Görüntünün genişliği/yüksekliği yoksa, iplik geldiğinde atlar. Bu CLS'dır.
- İlk ekrandaki en büyük şey 2 MB PNG logosu ise LCP'dır.
- Geç yüklenen bir eklenti kaydırıcıyla mücadele ederse, dokunmanın hiçbir faydası olmaz. Bu INP bitişiktir.
// 60 dakikalık geçiş (XenForo)
- Yeni JPEG/PNG/BMP için WebP dönüştürmenin açık olduğunu doğrulayın.
- İstemci tarafında yeniden boyutlandırma açık.
maxImageResizePixelCount'ı okuyun. Günlükte bir ret olmadığınız sürece 20M bırakın.- Resim ve bağlantı proxy'si Üyelerin uzak URL'leri ekleyip ekleyemeyeceği. Bir nedeniniz olmadığı sürece
proxyUrlFormatvarsayılandır. - Misafir: ana sayfa + resim ağırlıklı bir konu. DevTools'ta ilk görüntünün türüne (WebP olsun ya da olmasın) dikkat edin.
- Logo dosyası boyutu. PNG balinasıysa bu saatte değiştirin. Bu saatte tüm tarihi ekleri yeniden inşa etmeyin.
- XFMG'yi çalıştırıyorsanız: EXIF / GPS cümlesini galeri kurallarına yazın. Bir cümle yeterli.
- Geçmiş WebP yeniden yapılandırmasını yalnızca yoğun olmayan dönemler için planlayın.
// 60 dakikalık bir geçiş (Söylem)
- Hoş geldiniz konusu, tek resim TL0 kuralını belirtir. Yeni kullanıcı testi.
newuser max embedded mediayalnızca topluluk türü bunu gerektiriyorsa ortaya çıkar.- Yüklemeler: hâlâ yerel mi? İyi. S3'ü mü planlıyorsunuz? Yedeklemelerden farklı bir paket. Meta'nın yükleme konusunu
app.yml'dan önce okuyun. - Bir CDN mevcutsa:
DISCOURSE_CDN_URL(uygulama) mı yoksaDISCOURSE_S3_CDN_URL(yüklemeler) mi? Protokol dahil mi? - Cloudflare: JS küçültme / JS değişiklikleri kapalı.
- Telefona 0 TL ve 1 TL olarak yüklenen uzun bir konu. Her ikisi de açıklanabilir olmalıdır.
- Disk: S3'e ihtiyacınız olduğunu düşünmenizin nedeni
/var/discoursemı, yoksa beş yerel yedekleme mi? Önce yedeklemeleri düzeltin (Meta 14855).
// Bu ne değil
Tam hız / CWV kılavuzu değildir. Konuk önbelleği, Redis, simge spriteları ve 60 dakikalık önceliklendirme burada yaşıyor.
Bu bir CDN satıcı sıralaması veya bir S3 fiyat listesi değildir.
// Kontrol listesi
- Yeni JPEG/PNG/BMP için XF 2.3 WebP açık; %52,5'i numaranız değil, satıcı/dizüstü bilgisayar olarak değerlendiriliyor
- İstemci tarafında yeniden boyutlandırma Açık
maxImageResizePixelCount20000000 veya ölçülen bir reddetme sonrasında 48000000- Resim ve bağlantı proxy'si anlaşıldı;
proxyUrlFormatyalnızca bilerek değiştirildi
// Paket servis
- XenForo 2.3'ün görüntü kazanımı sıkıcı ve iyi: Yeni yüklemeler için WebP, PHP'den önce HTML5 yeniden boyutlandırma, yalnızca kamera orijinalleri gerektirdiğinde 48 milyon'e yükselttiğiniz bir 20M piksel sınırı, uzak yerleştirmeler için bir proxy, EXIF'i tutan ve ardından WebP yolunu izleyen XFMG. %52,5'lik depolama kesintisi dizüstü bilgisayar/satıcı rakamıdır.
- Discourse'un imaj kazanması çoğunlukla politikadan kaynaklanıyor: TL0 mezun olana kadar bir imaj alıyor. Operasyon kazancı, yerel disk S3 yüklemeleri,
DISCOURSE_S3_CDN_URLveDISCOURSE_CDN_URL'ü karıştırmaz. - Genel olarak LCP / INP / CLS, konuk önbelleği ve simge spriteları hız makalesi olmaya devam ediyor. Sayfa önbelleğini açmaktan kaçınmak için her geçmiş eki yeniden oluşturmayın.
- Yer ayırın, gönderdiğiniz dosyaları kendiniz boyutlandırın ve resimlere önem vermenin bir yan etkisi olarak CDN'nin "JavaScript'i optimize etmesine" asla izin vermeyin.
Sıkça Sorulan Sorular (SSS)
Soru 1: Paylaşılan Python örneği canlı (production) ortamda kullanılabilir mi?
Evet. Konudaki kod bloğu bellek güvenliği, hata yakalama ve performans kriterleri gözetilerek hazırlanmıştır; kendi proje mimarinize uyarlayarak doğrudan kullanabilirsiniz.
Soru 2: XenForo veya Discourse forumunda görselleri ve medyayı optimize etme uygulamasında en sık yapılan hata nedir?
Girdi doğrulamasını (validation) ve zaman aşımı/kaynak sınırlarını varsayılan değerlerde bırakmaktır. Rehberdeki yapılandırma adımlarını eksiksiz uygulayarak olası darboğazları önleyebilirsiniz.
Evet. Konudaki kod bloğu bellek güvenliği, hata yakalama ve performans kriterleri gözetilerek hazırlanmıştır; kendi proje mimarinize uyarlayarak doğrudan kullanabilirsiniz.
Soru 2: XenForo veya Discourse forumunda görselleri ve medyayı optimize etme uygulamasında en sık yapılan hata nedir?
Girdi doğrulamasını (validation) ve zaman aşımı/kaynak sınırlarını varsayılan değerlerde bırakmaktır. Rehberdeki yapılandırma adımlarını eksiksiz uygulayarak olası darboğazları önleyebilirsiniz.

