Sunucu Yüküyle İlgili WordPress'i Optimize Etme Adımları?


81

W3 Total Cache veya başka bir önbellek eklentisi kurmanın yanı sıra, temamın ve sitemin olabildiğince hızlı çalışmasını sağlamak için ne gibi adımlar atabilirim.


sitenizi vps'de çalıştırıyorsanız, redis önbelleğini yeniden denemelisiniz.
ahmetlutfu

Yanıtlar:


32

WordPress'i Nginx'e yükleyebilirsiniz. Yardımcı olacak çok sayıda kaynak var:

Son bağlantıdan gelen bazı performans bilgileri (diğerlerinden biraz farklı ayarlanmış gibi görünüyor):

Bu yüzden mümkün olduğunca statik önbelleğe wordpressin önüne bir proxy koymaya karar verdim. TÜM kimliği doğrulanmamış trafik, doğrudan nginx dosya önbellekten sunulur, bazı istekler (RSS beslemesi oluşturma gibi) 6 sayfa / saniye ila 7000+ sayfa / saniye arasındadır. Oof. Nginx ayrıca günlüğe kaydetme ve gzipleme işlemlerini yürütür ve ağır arka uç apaçıklarını en iyi yaptıklarını yapmak için bırakır: yalnızca gerektiğinde dinamik wordpress sayfalarına hizmet eder.

...

Nginx'de - çok verimli, korkutucu. En ağır yükümüz altında bile 10 ila 15 meg RAM ve bir işlemci bloğu kullandığını hiç görmedim. Ganglion grafiklerimiz yalan söylemez: bellek gereksinimlerimizi yarıya indirdik, giden ağ hacmimizi iki katına çıkardık ve yükümüzü tamamen düzelttik. Bunu kurduğumuzdan beri temelde hiçbir problem yaşamadık.


Nginx kullanarak hız tasarrufu konusunda herhangi bir istatistik var mı?
Mike Lee,

Mike, başka bir link ekledim ve o yazıdan bazı bilgiler.
Travis Northcutt

Ana blogumu Apache çalıştıran 1G sunucusundan Nginx çalıştıran 512M sunucusuna taşıdım. RAM'deki düşüşe rağmen daha sorunsuz çalışır. Kuşkusuz, 1G sunucusunda çalışan başka hizmetler de var (e-posta, imap, postacı, diğer birkaç trafik yoğun web sitesi).
Dougal Campbell

Nginx'te WordPress çalıştıran NB, Wordpress'in önünde nginx'i proxy önbellek olarak kullanmaktan farklıdır.
sam,

26

Her sayfa görünümü için yeniden indirilmesi gerekmeyen css, resimler, JavaScript vb. Bu, bugüne kadar sitemin yükleme sürelerinde en büyük farkı yarattı. En hızlı indirme hiç gerçekleşmemiş olan indirme ...

# BEGIN Expire headers
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 7200 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 2592000 seconds"
  ExpiresByType text/javascript "access plus 2592000 seconds"
  ExpiresByType application/x-javascript "access plus 2592000 seconds"
  ExpiresByType text/html "access plus 7200 seconds"
  ExpiresByType application/xhtml+xml "access plus 7200 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
  <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz)$">
    Header set Cache-Control "max-age=2592000, public"
  </FilesMatch>
  <FilesMatch "\\.(css)$">
    Header set Cache-Control "max-age=2592000, public"
  </FilesMatch>
  <FilesMatch "\\.(js)$">
    Header set Cache-Control "max-age=2592000, private"
  </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers

Makul bir şey yapabileceğiniz her şeyi önceden gzipleyebilirsiniz (7-zip bunun için iyi bir araçtır) ve kopyaladığınız dosyayla aynı yere yükleyebilirsiniz. Önceden gzip'lenmiş dosyaları sunmak için .htaccess'i değiştirin. Buradaki uyarı, şeyleri güncellediğinizde / değiştirdiğinizde bunları yeniden kaydetmeyi unutmamanız gerektiğidir. Bu, .htaccess'un ayrıştırılması dışında CPU ek yükünü keser.

RewriteEngine on
#Check to see if browser can accept gzip files. If so and we have it - serve it!
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
#make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [QSA,L]

Bu sadece ham bir cevap. Bu tema üzerinde birçok varyasyon var. Bunun hakkında blog yazdım ve http://icanhazdot.net/2010/03/23/some-wordpress-stuff/ adresindeki daha ayrıntılı makalelere birkaç referans ekledim . Bunu okuyun ve daha da önemlisi, işaret ettiğim referanslar - onlar iyi kaynaklar.

Sık sık denetlerseniz, kullanıcıların önbelleklerini yenilemeleri gerekeceğini unutmayın.

Ben de çok yararlı buldum bir eklenti wp-minify . Bununla dikkat edilmesi gereken, sayfaya özel öğeleri (iletişim formu, ön sayfa kaydırıcısı vb.) Hariç tutmanız gerektiğidir, böylece her sayfa için tüm css, JS etc setlerini tekrar indiremezsiniz. Temel CSS, JS vb .'nizi küçültmek, birleştirmek ve sıkıştırmak için iyi bir yoldur. Http isteklerini çok azaltır. Wp-minify, süper önbellekle ve ayrıca yukarıda ayrıntılı olarak açıkladığım son kullanma süresi başlıklarıyla iyi oynuyor.

Firebug'ta (Firefox) Yslow kullanın veya http isteklerinizi ve neyin sıkıştırıldığını ve neyin sıkıştırılmadığını izlemek için benzer. İçerideki süre sonu başlıklarına da bir göz atın. Yakında neleri geliştirebileceğinizi göreceksiniz.


2
Birisinin sizin Yeniden Yazmalarınızı kopyalayıp yapıştırmayı planlaması durumunda, düzeltilmesi gereken bir "Yeniden Yazma" örneği vardır.
Jeremy L,

2
hangi örnek
CAD

@Nerdling Hangi örneğin düzeltilmesi gerektiğini belirtir misiniz? Yukarıdaki kodu kullanmak istiyorum.
Aralık'ta

Mod gzip'in Apache'nin sonraki sürümlerinde kullanımdan kaldırılmasıyla ilgili olabilir. Son zamanlarda söndürmek için benimkini değiştirmek zorunda kaldım.
CAD,

2
.Htaccess için iyi bir varsayılan set için, HTML5 Boilerplate projesi bir şablon sağlar. github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
Paul Sheldrake

21

Çalıştığınız eklentilerin sayısını, yalnızca gerçekten ihtiyacınız olana indirgeyin. Özellikle her sayfa yüklemesinde javascript ve CSS kodu ekleyen eklentilerin farkında olun, bu sayfa sayfada kullanılmıyor olsa bile.

Kendi temanızı sıfırdan oluşturuyorsanız, yalnızca belirli sayfa şablonlarına veya görünüm türlerine (tek yazı, arşivler, kategori vb.) İhtiyaç duyan özelliklerin yalnızca gerektiğinde yüklenebilmesi için CSS'nizi yıkın.

W3TC'yi bir CDN (Amazon CloudFront veya W3TC tarafından desteklenen herhangi biri gibi) kullanacak şekilde yapılandırın.

Küçült seçeneklerinin sizin için işe yarayıp yaramadığını görün (bazı eklentiler js / css'yi güzel bir şekilde küçültmez, bu nedenle küçültme özelliğini etkinleştirdikten sonra sitenizi test ettiğinizden emin olun).

MySQL sunucunuzu tam olarak kontrol ediyorsanız, query_cache'nin açık olduğundan emin olun. Veritabanı yapılandırmanızı optimize etmenin başka yollarını bulmak için bir MySQL ayarlama komut dosyası kullanın.

Bir CDN kullanmak nedense sorunluysa, apache kurulumunuzda mod_expires yapılandırın. Son kullanma zamanlarını resimler, css, javascript, video, ses vb. Statik türler için makul olduğu sürece ayarlayın.


14

Memcached komutunu çalıştırın ve veritabanı sorgularının sayısını azaltmak için bir nesne önbelleği kullanın. Bu, sayfaları veri tabanından ziyade veritabanında önbelleğe alır. W3-total-cache öğesinin bunu zaten yapıp yapmadığından emin değilim.

APC gibi bir opcode önbellek çalıştırdığınızdan emin olun . (Birkaç tane daha var.)


2
APC gerçekten wordpress'i, özellikle yönetici sayfalarını daha duyarlı hale getiriyor. AMA, WP-SuperCache ve APC arasında bazı potansiyel yapılandırma çatışmaları var. Bunlar W3 Önbelleğini etkilemiyor gibi görünüyor.
WhIteSidE

Bu konuda Mark Jaquith'den mükemmel bir yazı var: WordPress için APC Nesne Önbelleği Arka Planı . Batcache'i APC ile mutlu bir şekilde kullanabilirsiniz .
icc97

8

Wp-cache gibi bir disk önbellek eklentisi kullanmanın yanı sıra, blogunuzu "noatime" özelliğinin ayarlanmış olduğu bir ana bilgisayar birimine yerleştirin. Aksi takdirde, ana makinenize SSH (webhost sunucunuz bunu sağlarsa) ve bu komutu rutin olarak birkaç günde bir çalıştırın:

chattr -R +A ~/*

~ / * "Dosyalarımı ana dizinin altındaki" anlamına gelir. Uygun gördüğünüz gibi bu yolu değiştirebilirsiniz. Webhost sunucunuz sağlarsa, bunu cpanel'deki bir cron işinde de ayarlayabilirsiniz.

Atime özelliği hakkında daha fazla bilgi için bkz bu . Linux disk okuma performansını büyük ölçüde hızlandırır.

Bazen siteniz örümcekler tarafından dövülüyor. Sitenize daha fazla sayfa sıralaması getirmeyen ve yalnızca yavaşlatan örümcekleri filtrelemek için SpyderSpanker veya Chennai Central gibi bir araç kullanabilirsiniz, sonra da iyi örümcekleri (Google, Bing vb.) Rastgele göndererek HTTP 304 Değiştirilmemiş mesajlar.

Gördüğüm başka bir şey sadece kötü yazılmış eklentiler. Eklentileri nasıl yapacağınızı öğrenirseniz, bazı eklentilerin nasıl verimsiz bir şekilde kodlandığını görmeye başlarsınız, hatta gelen bağlantı verilerini depolayan, doldurup dolduran ve hiçbir zaman temizlenmeyen bir veritabanı tablosu gibi zaman çizelgeleri bulmaya başlarsınız.

Buradaki diğer tüm çözümlerin ötesinde, blogunuzdaki bir WordPress web grubu oluşturarak, dosyaları tek bir veritabanına ve dosyalar için tek bir disk birimine (NFS üzerine monte edilmiş bir birim gibi) bağlanan birkaç web düğümü PC'sinde barındırarak ). Check out Ultra Monkey tüm gidiş olduğunu nasıl için.


7

Kafamın tepesinden birkaç cevap:

1) Mümkün olduğunda / pratikte JavaScript ve CSS'yi birleştirerek tarayıcınızın ana makinenize yapması gereken HTTP isteklerinin sayısını en aza indirin.

2) Özellikle paylaşılan barındırma kullanıyorsanız, 3. tarafın CDN'lerine sunulan görüntü / ortamınızın mümkün olduğunca boşaltın.

3) Toplam oluşturma süresini kısaltmak için ön sayfada görüntülemekte olduğunuz yayın sayısını azaltmayı deneyin.

3a) Ön sayfada tam olarak öne çıkan birkaç yazıyı ve alıntı olarak diğer eski yazıyı sunan bir tema kullanmayı deneyin.


2
Gönderi sayısını azaltmak için +1, bu da masrafsız bir destek sağlar. İnsanların on eski yazı görmesine gerek yok, sadece kafamı sekize çekiyorum.
ripper234

7

WordPress Menüsünü önbelleğe almak da size performans artışı sağlar. Özellikle çok sayıda Sayfa veya dev bir Menü Yapısı varsa, bu dikkate alınmalıdır.

2 kolay adımda yapın. İlk başta, wp_nav_menudoğrudan arama yapmak yerine menüyü alan veya oluşturan bir fonksiyon oluşturun .

function get_cached_menu( $menuargs ) {

    if ( !isset( $menuargs['menu'] ) ) {

        $theme_locations = get_nav_menu_locations();
        $nav_menu_selected_id = $theme_locations[$menuargs['theme_location']];
        $termslug = get_term_by( 'id', $nav_menu_selected_id, 'nav_menu' );
        $transient = 'menu_' . $termslug->slug . '_transient';

    } else {

        $transient = 'menu_' . $menuargs['menu'] . '_transient';

    }


    if ( !get_transient( $transient ) ) { // check if the menu is already cached

        $menuargs['echo'] = '0'; // set the output to return
        $this_menu = wp_nav_menu( $menuargs ); // build the menu with the given $menuargs
        echo $this_menu; // output the menu for this run
        set_transient( $transient, $this_menu ); // set the transient, where the build HTML is saved

    } else {

        echo get_transient( $transient ); // just output the cached version

    }

}

Temanızda, wp_nav_menus ile değiştirin get_cached_menu. Şimdi, menü her çağrıldığında, tüm Menubuilding yerine bir Databasequery'e sahipsiniz.

Menüler sık ​​sık değişmez - ancak wp_update_nav_menueski geçici olayları silmek için bu eylemi başlatmanız gerekir.

Bu şekilde yapın:

add_action('wp_update_nav_menu', 'my_delete_menu_transients');

function my_delete_menu_transients($nav_menu_selected_id) {

    $termslug = get_term_by( 'id', $nav_menu_selected_id, 'nav_menu' );

    $transient = 'menu_' . $termslug->slug . '_transient';

    delete_transient( $transient ); 

}

Sayfa, bir daha çağrıldığında Menü oluşturulur - ve birileri menüyü tekrar güncelleyene kadar önbellek sürümünü kullanın.

Güncellenmiş versiyon

Sümüklü böcek ve kimlikleri arasında bir hata olduğunu belirtti @helgathevik teşekkürler. O ile de çalışır yüzden işlevlerini güncellenmiş theme_positionve menu(menüsünün doğrudan arama için).

Menüler, Temadaki konumlarla değil daima Menü adıyla kaydedilir.


Bu gerçekten harika bir fikir gibi görünüyor. Ancak kodla ilgili bir sorun yaşıyorum. Geçici $nav_menu_selected_idolanı temizlediğimizde, sayıdır, get_cached_menu()the menu_iddizgesini çağırırken dizge değişkenidir, çünkü bu parametre <ul>elemanın CSS ID'sidir.
Aralık'ta

5

Optimizasyon için kesilmiş bir veritabanı sınıfı kullanın. Bellek kullanımını ve veritabanı erişim hızını azaltmak için kendi kodlarımızla iyi deneyimler yaptık. Bunun yanında, veritabanı yapısının kendisini, çok şey yapan bazı küçük değişikliklerle de optimize edebilirsiniz.

Veri tabanı sınıf kodunun bir kısmı wordpress trac'te bulunabilir, çekirdek haline getirmedi ( Ticket # 11799 ve benzeri ).


İlginç bir çözüm. Ayrıca, herkesin de ilgisini çekmesi
Mike Lee 15

4

Çok fazla trafik çeken bir site için, şu anda mevcut olan içerik için tüm MySQL arabelleğini ayarlamanız gerekir. WordPress'in sürümünden bağımsız olarak, MySQL katmanı konfigürasyonunu hesaplayabilir .

Aslında, innodb_file_per_table'ı etkinleştirmeden InnoDB verileriniz varsa, her masayı kendi fiziksel tablo alanına bölerek InnoDB'yi temizlemeniz gerekir . Sınırlı bir donanıma sahip olsanız bile, iyi MySQL ayarları yapmak mümkündür . Böyle InnoDB optimizasyonları yapmak için birçok senaryo var .

IMHO, yapılandırılacak veri miktarını bilmeden my.cnf için iyi ayarları planlayamazsınız. Güncel bir veri setini üretimden aşamalı bir ortama periyodik olarak yüklemeniz, optimizasyonları gerçekleştirmeniz ve üretim sunucusunun my.cnf dosyasında yapılandırmak için sayılarla gelmeniz gerekir.


3

Genel çıktı sıkıştırmasını etkinleştirebilirsiniz . tarayıcı destekliyorsa bu otomatik olarak çıkan her şeyi gzip olacaktır. Bu aktarılan dosyaların boyutunu büyük ölçüde azaltır, ancak CPU yükünüzü artırır.


Bu, sitenizi çok daha yavaş "hissetme" eğilimindedir. Yahoo! teknik belgeler, kodun ve stillerin yüklenmeye başlayabilmesi için kodun başın hemen sonunda ve vücudun başlangıcından önce yıkanmasını önerir. Tüm sayfayı tamponlayarak, bunun olmasını önlüyorsunuz ve böylece kullanıcı bir şey görmeden önce WordPress'in tüm sayfayı oluşturmasını beklemek zorunda kaldığından sayfa "yavaş" hissediyor.
WhIteSidE

Scott tüm sayfayı tamponlamaktan ziyade apache çıktı sıkıştırma kullanıyordu. Bu farklı bir şey, yalnızca PHP çıktı sıkıştırmasını çıktı tamponu aracılığıyla kullanırsanız, bunun belirsizlikleri açıklar. Ama yine de bilemezsiniz çünkü sonunda, tamponlama çıktıları işleri daha hızlı yapabilir. Bunun sunucunuzdaki G / Ç ile ilgisi var.
hakre

3

Geçenlerde WordCamp Houston'da konu hakkında konuştum . Yukarıdaki önerilerin tümü mükemmeldir ve önemli olan, tüm ön uç öğelerinin tamamen optimize edildiğinden emin olmaktır; ardından önbellek ve sunucu performansı sorunları üzerinde çalışmaya başlayabilirsiniz.

Aşamalı oluşturma, kullanıcılar sayfa içeriğini tam olarak yüklenmeden önce göreceği için sayfalarınızı daha hızlı hissetmenizi sağlar. Bunu yapmak için, herhangi bir engelleme js sayfanın en altında olduğundan ve css en üstte olduğundan emin olun.

Ayrıca çok sayıda sosyal medya düğmesi kullanıyorsanız, komut dosyaları, sayfa tamamen yüklendikten sonra iframe içine yüklenmelerini sağlayacak şekilde özelleştirebilirsiniz. TweetMeMe re tweet düğmesiyle nasıl yapılacağı hakkında bir öğretici yazı yazdım (şimdi Twitter kendi retweet düğmesini bıraktığından beri eski) ancak yine de diğer paylaşım düğmelerine de uygulanabiliyor.

Sunucu performansı için, ağır PHP ve MySQL yüklerini kaldıran Apache ile statik içerik için ön uç proxy olarak Nginx'e bakın.


2

Henüz kimseden bahsetmediğinden, herhangi bir LAMP kurulumuyla bağlantılı olarak sunucu performansını artırmak için en önemli adımlardan biri, apache çalışan iş parçacığına ve mod_fcgid'ye geçmek olacaktır.

Bu, sanal özel sunucumda 500 MB belleği serbest bıraktı.


Bunu daha önce denedim, ancak istikrarlı bir apache çalışanı + fcgi ortamı çalıştırmayı hiç başaramadım. Ubuntu'da bunun için bazı iyi kurulum talimatlarını bilen biri varsa , lütfen onları gönderin. FCGI davranışını etkileyen Apache yapılandırma direktiflerinin bazılarını ayrıntılandıran talimatlar ve bunların ince ayarının bellek kullanımını, performansı vb. Etkileyebileceğini açıklayan talimatlar için özellikle minnettar olurum. Proxy önbellek sunucusunda.
Dougal Campbell

Kararlı tanımla. Yüklemem çok kararlı çalışıyor, ancak yapılandırmamda 2GB RAM'e ihtiyacınız olacak. Sadece okumak ve ince ayar yapmanız gerekir. apache'nin fcgi hakkındaki belgeleri oldukça geniştir.
mesh

3
virtualmin.com'u çok sağlam ve ücretsiz kontrol etmeye çalışın
Ünsal Korkmaz

1

Eklentiyi yavaşlatmak için kılavuz

Sayfa altbilginize zamanlayıcı ekleyen Sayfa Yükleme Süresi adlı güzel ve basit bir eklenti var . Aslında sadece dört kod satırı:

<?php
function ur_pageload_footer() {
    printf(__('Page in %s seconds', 'pageload'), timer_stop());
}
add_action('wp_footer', 'ur_pageload_footer')

Sonra:

  1. Elektronik tablo oluştur
  2. Tüm aktif eklentilerinizi listeleyin ve onları oraya koyun.
  3. Her dönüş sırasında sayfa yükleme süresini belirterek sayfayı üç kez yenileyin
  4. Eklentilerinizi birer birer devre dışı bırakarak geçirin
  5. 3. adımı tekrarlayın
  6. Eklentileri devre dışı bırakma sırasına dikkat edin

E-tablonuz şöyle görünmeli

+-------+-------+-------+-------+--------+
| Run 1 | Run 2 | Run 3 | Order | Plugin |

Bir eklentiyi devre dışı bıraktıktan sonra sayfa yanıt süresi önemli ölçüde artarsa, bu eklentiden kaçınıp korunamayacağını görebilirsiniz.

'Önemli' yavaşlamaya mqtranslate ve (oldukça eski ama iyi) Çok Düzeyli Gezinme Eklentisi neden iki eklenti buldum .


Bu işlemi otomatikleştirmek gerçekten harika olurdu, fantomlar ve selenyum (veya benzer bir şey) bu yüzden otomatik olarak çalışıyor ve sonunda küçük bir rapor yayınlıyor.
Paul Sheldrake

-1

WordPress'teki işlevselliği önbelleğe almak için W3 Total Cache eklentisini kullanın. Eklentinin ayarlar sayfasından sayfa önbelleğe almayı ve veritabanı önbelleğe almayı etkinleştirin. Önbellekleme mekanizması olarak 'Alternatif PHP Önbelleği (APC / APCu)' seçtiğinizden emin olun. Sitenizin görünümünü ve / veya işlevselliğini bozma olasılığınız çok fazla olduğundan, W3 Toplam Önbellekte küçültmeyi etkinleştirmeyin. Cloudflare'a bırakacağız.

Eklenti işlevlerinin geri kalanını yapılandırma işlemini tamamladığınızda, web siteniz için Cloudflare uygulamasını ayarlayın. Cloudflare'yu 'Uzantılar' altındaki W3 Toplam Önbellek ayarlarında da etkinleştirdiğinizden emin olun.

Cloudflare, tüm statik içerikleri (resim dosyaları, CSS, JS, belgeler vb.) Sitenizden önbelleğe alan ve ziyaretçilerinize global sunucularından ziyaretçilerinize hizmet veren bir İçerik Dağıtım Ağıdır. Bu, sayfa yükleme sürelerini hızlandırabilir ve sunucunuzdaki yükü azaltabilir. Cloudlfare tarafından önbelleğe alınan dosya türlerinin bir listesi için bu listeyi kullanın . Dahası, Cloudflare'nun ücretsiz bir planı var.

Cloudflare'da, önbelleğe alma düzeyini standart olarak ayarlayın ve tarayıcı önbellek sona erme süresini en az 20 saatten daha büyük bir değere ayarlayın. Her zaman Çevrimiçi ™ seçeneğini etkinleştirin; böylece sunucunuz düşse bile, Cloudflare web sitenizin statik sayfalarını önbellekten sunacaktır. Ayrıca otomatik küçültme özelliğini de etkinleştir (neden küçültmeyi etkinleştirmemi istediğimi hatırla neden W3 Total Cache? Cloudflare daha iyi yapıyor!) Ardından Rocket Loader ™ 'ı otomatik olarak ayarlayın.

İşte Rocket Loader'ın yaptıklarından bir alıntı:

  • Sayfa oluşturmayı yavaşlatmamak için JavaScript dosyalarını, hatta üçüncü taraf kaynaklarını da bir araya getirerek ağ isteklerinin sayısını azaltmak.

  • Üçüncü taraf komut dosyaları da dahil olmak üzere, eşzamanlı olmayan yükleme komut dosyaları, böylece
    sayfanızın içeriğinin
    derhal yüklenmesini engellemezler .

  • Komut dosyalarını yerel olarak önbelleğe alma (LocalStorage kullanarak, çoğu
    tarayıcıda ve akıllı telefonlarda bulunur), böylece gerekmedikçe yeniden alınmazlar
    .

Daha fazla bilgi burada bulunabilir .

Mümkünse, WordPress için Genesis çerçevesine geçin, çünkü herhangi bir şişirmeden temizler . Genesis akılda hız ve SEO ile inşa edilmiştir. Ben kendim test ettim ve PageSpeed ​​puanlarım iyi geçti. Ayrıca Genesis kullanıyorsanız, W3 Total Cache ayarlarında fragman önbelleğini etkinleştirmeyi unutmayın.

Artık Cloudlfare'i CDN olarak kullandığınızdan, TingPNG tarafından resimlerinizi sıkıştırmak için ' Imagify ' veya ' JPEG ve PNG resimlerini sıkıştır ' gibi bir eklentiden yararlanabilirsiniz. Her ikisi de WordPress.org eklenti deposunda bulunan ücretsiz eklentilerdir. Ayrıca, Imagify güçlü kayıplı sıkıştırma algoritmasını da destekler.

Son olarak, ' Sorgu Dizelerini Statik Kaynaklardan Çıkarın ' eklentisini WordPress deposundan yükleyin, böylece sorgu dizelerini CSS ve JS dosyaları gibi statik kaynaklardan kaldırır. Bunun nedeni, URL’deki “?” Veya “&” olan kaynakların bazı proxy önbellekleme sunucuları tarafından önbelleğe alınmamasıdır (unutmayın, Cloudflare aynı zamanda bir proxy önbellek sunucusudur).

Ardından ' Google Kitaplıklarını Kullan ' eklentisini yükleyin . Bu eklenti, WordPress sitenizin bu dosyaları doğrudan WordPress kurulumunuzdan sunmak yerine, Google’ın AJAX Kütüphanesi API CDN’ini kullanmasına izin verir.

Yararlarından bazıları şunlardır:

  • Bir kullanıcının zaten bu dosyaları önbelleğe alma olasılığını artırır.
  • Ekstra yükü sunucunuzdan alır.
  • Kütüphanelerin sıkıştırılmış versiyonlarını kullanır (uygun olduğunda).
  • Google'ın sunucuları, istekte bulunan tarayıcıyla HTTP sıkıştırması konusunda anlaşmak üzere ayarlanmış.

Son fakat en az olmayan, veritabanını temizlemek ve optimize etmek için Ruhani Rabin tarafından ' WP-Optimize ' eklentisini kullanın.

Sunucu yükünü azaltmak için WordPress'i en iyi duruma getirme konusundaki sorunuzu yanıtladığını umarım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.