WordPress Blog Performansınızı ve Güvenliğini Artıracak Öneriler

Kullandığı şablonlarla bir çok kişinin kolayca web sitesi sahibi olmasını sağlayan WordPress için performans artırıcı özelliklerden bahsedeceğiz.

Tavsiye 1- Görsel ve scriptlerin tekrar yüklenmesini engelleme

Bu yöntemle WordPress sitemizde kullandığımız imaj dosyaları, javascript dosyalarının site ziyaretçileri tarafından her defasında tekrar yüklenmesinin önüne geçeceksiniz. Ziyaretçinin siteyi ilk görüntülemesinden sonra belirli bir süre boyunca tekrar aynı şeyleri yüklemeden hızlıca site görüntülemesi sağlanacaktır.

Aşağıdaki kodu sunucunuzdaki .htaccess dosyasına ekleyiniz. Burada süre olarak genelde 1 ay belirledik. Siz bunu değiştirebilirsiniz.

# BEGIN EXPIRES
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
# END EXPIRES

Tavsiye 2- Performans Eklentileri (Plug-in)

Bazı eklentilerle WordPress sitenizin performansını monitör edebilir, performans artırıcı özellikler ekleyebilirsiniz.

P3 (Performance Profiler)

Bu eklentilerden bir tanesi P3 (Performance Profiler). Godaddy firmasının plug-in uygulaması olan P3-Profiler bir çeşit yüklü eklentilerin performanslarını ölçen özelliklere sahiptir. Hangi eklenti ne kadar yükleme zamanı harcıyor bu tip bilgileri raporlayabiliyor. Böylece sistemi tıkayan eklentiler varsa onları kapatarak performansınızı yükseltiyorsunuz. Eklenti yükleme ekranında P3 olarak aratıp yükleyebilirsiniz.

p3-profiler

Eklentileri aşağıdaki linkten zip dosya olarak indirip WordPress eklenti yükle bölümünden zip dosya yükleyip kurabilirsiniz veya WordPress eklenti yükle bölümünden arama motoruna ismini yazıp yükle seçeneği ile yükletebilirsiniz.

P3 (Plugin Performance Profiler)
P3 (Plugin Performance Profiler)

WP Smush

Wp-Smush

Diğer bir faydalı gördüğümüz eklenti ise WP Smush eklentisidir. Bu eklenti WordPress sitenize yüklediğiniz resimleri optimize edip, içindeki gereksiz bilgileri silerek imaj dosyalarının daha küçük boyutta yüklenmesini sağlar. Eklenti kurulduktan sonra her imaj yüklemede otomatik bu işi yapar. Hali hazırda yüklenmiş imaj dosyalarınızı da menüsünden optimize edebilmektedir.


WP Super Cache

WP-Super-Cache

WordPress sitemizde yazılarımızın içerikleri çok sık değişmiyorsa bu cache eklentisi ile sayfalar daha hızlı yüklenebilmektedir. WP Super Cache eklentisi sitenizde oldukça iyi bir performans artışı sağlamaktadır. Bunun yerine alternatif diğer popüler cache eklentisi W3 Total Cache de kullanılabilir.

WP Super Cache
WP Super Cache
Developer: Automattic
Price: Free
W3 Total Cache
W3 Total Cache
Developer: Frederick Townes
Price: Free

WP Optimize

wp-optimize

Performans artışı yaparken veritabanını da unutmuyoruz. WordPress veritabanı zamanla silinmiş yazılar, yayındaki yazıların her revizyonda kopyalarının tutulduğu alanlar, spam ve silinmiş yorumlar ve bunun gibi veritabanını meşgul eden şeyleri temizleme işini WP Optimize eklentisine bırakın.


Tavsiye 3- Veritabanı Optimizasyonu

define ('EMPTY_TRASH_DAYS', 5);
define ('WP_POST_REVISIONS', 3);

Tavsiye 4- CDN Domain Kullanımı

Bilindiği gibi internet tarayıcıları (IE, Chrome, Firefox, vs) bir siteyi yüklerken aynı domainden (alanadı) tek bir istekte (request) bulunabilirler. Aynı anda resim yüklerken, bununla beraber bir javascript dosya yüklenemez. Ancak bu işlem farklı domainlerden aynı anda olabilmektedir.  Bu nedenle bazı javascript, css, resimleri farklı bir siteye yükleyip oradan çağırmak sayfa yüklemesini hızlandıracaktır. Başka bir siteye yükleyemiyorsanız en azından aynı alanadınıza ait bir alt alanadı oluşturup farklı çağrılar yapmak yerinde olacaktır. Örneğin www.siteniz.com yanında cdn.siteniz.com olarak da çağrı oluşturmak iyi olacaktır.

Web-speed

Sitenizin yükleme hız testini yapmak isterseniz https://gtmetrix.com ziyaret ediniz. Sitenizin analizini yapıp rapor ve öneriler sunacaktır.

Tavsiye 5- gZIP Sıkıştırma Kullanmak

Sunucudaki web siteniz ile ziyaretçinin bilgisayarı arasında veri trafiğini sıkıştırıp göndermek de performansa büyük etki etmektedir. Bunu çeşitli yöntemlerle yapabiliriz.

Sunucunuzda gzip sıkıştırma çalışıp çalışmadığını https://varvy.com/tools/gzip/ sitesinden kontrol edin. Çalışıyorsa aşağıdaki gibi bir sonuç gelecektir.  Sitemizde sıkıştırma yöntemiyle %80.3 oranında veri trafiği azaltılmıştır.

cazda-gzip

Çalışmıyorsa .htaccess dosya içine apache web sunucu kullanıyorsanız aşağıdaki satırları eklemek olacaktır.

## ENABLE GZIP COMPRESSION ##
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
## ENABLE GZIP COMPRESSION ##

Yukarıdaki kodlar apache web sunucuda çalışacaktır. Eğer çalışmazsa silip alternatif olarak aşağıdaki kodları ekleyin

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Eğer apache değilde nginx web sunucu kullanıyorsanız aşağıdaki ekleyin

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";

# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;

Tavsiye 6- Güvenlik önlemleri almak

WordPress kullandığınızda öncelikle en son sürüm kullandığınızdan emin olun. Çünkü WordPress siteler en fazla saldırı altındaki sitelerdir. Bunu yönetim (admin) panelinden güncelleme bölümünden kontrol edebilirsiniz. WordPress kendisi veya herhangi bir eklenti için güncelleme bulduğunda sizi yönetim panelinin üst barındaki menüde bir uyarı işareti ile bilgilendirecektir.

Güvenlik özellikleri için yapılabilecek bir çok şey bulunmaktadır. Bunları ayarlamak tecrübesiz veya orta tecrübeli WordPress kullanıcıları için zahmetli ve zor olacaktır. Bunları tek elden halleden Themes Security ismindeki eklentiyi tanıtmak istiyoruz.

iThemes Security

iThemes Security veya bir diğer eski adıyla Better WP Security ile tek elden siteniz için gerekli bir çok güvenlik önlemini sitenize eklemiş olacaksınız.

30’dan fazla güvenlik sistemi sitenize entegre edilmiş olacaktır. En önemlileri yönetici (admin) şifrelerini deneyen kişilerin IP adreslerini belli bir süre bloke etmesi, kılasör güvenlikleri, WP sitenizdeki dosyaların taranması ve olası güvenlik risklerinin rapor edilmesi, güvenliği tehdit eden bot (otomatik sistem robotları) saldırılarını önleme şeklinde sıralayabiliriz. Eklenti ücretsizdir ve ücretsiz sürümü yeterince koruma sağlar, ancak ücretli Pro sürümü ile bir üst seviye güvenlik önlemeleri ve eklenti teknik desteğe sahip olursunuz.