WordPress sitenizi optimize etmek ve hızlandırmak için ipuçları

WordPress site sahiplerinin aslında işleri o kadar da zor değildir, en azından bu konuda, çünkü yığınla eklenti vardır ve bir deneme sitesi açarak hepsini deneyebilirler bu sayede kendi sitelerinin veritabanları şişmemiş olur. Yada bu konunun inceliklerini öğrenerek en düzgün ve sağlıklı bir biçimde bir bilene danışarak yani iyi bir siteden bu konu ile ilgili bilgi alarak WordPress sitelerini optimize ederek hızlandırmaları mümkün.

Ve tabi ki bir siteden bu konuda hakkında bir makale okumadan önce o sitenin gerçekten hızlı olup olunmadığına optimize durumunun nasıl olduğuna bakılmalıdır. “Daha kendisi yapamamış gelmiş bize anlatıyor” diyeceğiniz bir siteden bu konuda bir yazı okumanız size pek bir fayda sağlamaz. O yüzden anlatacaklarını kendi sitesinde başarabilmiş yazarların makaleleri ciddiye almanızda yarar var. Mesela yeknot 🙂 aşağıdaki görselde olduğu gibi bu konuda başarı kaydettik.

yeknot.com hız testleri yeknot.com hız testleri
yeknot.com hız testleri

Eğer görsellerde ki hız ve sağlık puanları sizi tatmin ettiyse konumuza başlayabiliriz.

1- Sitenizin durumunu gözden geçirin

Öncelikle belli başlı sitelerden sitenizin durumunu gözden geçirin ve bu hız değerlerini kaydedin, daha sonra işlemler bittikten sonra ne kadar yol aldığınızı görmüş olursunuz. Bilinçsiz hiç bir iş yapmayalım ve ne kadar yol aldığımızın farkında olalım.

2. .htaccess dosyamızı düzenleyerek önbellekleme yapalım

Aşağıdaki kodları kendi sitemde kullanıyorum, biraz uzun gelebilir gözünüzü korkutmasın oldukça işe yarıyor. Bildiğiniz üzere bu kodlar sitemizi ilk ziyaretten sonra tüm kullanıcıların hafızasına almasını sağlıyor ve daha sonraki girişlerinde aynı veriyi kullanarak sitenizi daha hızlı gezmesini sağlıyor.

[css autolinks=”false” classname=”myclass” collapse=”false” firstline=”1″ gutter=”true” highlight=”1-3,6,9″ htmlscript=”false” light=”false” padlinenumbers=”false” smarttabs=”true” tabsize=”4″ toolbar=”true” title=”.htaccess düzenleme”]Header unset ETag
FileETag None

<IfModule mod_expires.c>
ExpiresActive on

# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"

# cache.appcache needs re-requests
# in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"

# Your document html
ExpiresByType text/html "access plus 0 seconds"

# Data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"

# RSS feed
ExpiresByType application/rss+xml "access plus 1 hour"

# Favicon (cannot be renamed)
ExpiresByType image/x-icon "access plus 1 week"

# Media: images, video, audio
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 video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"

# HTC files (css3pie)
ExpiresByType text/x-component "access plus 1 month"

# Webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

# CSS and JavaScript
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"

<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>
</IfModule>

<IfModule mod_deflate.c>
# force deflate for mangled headers
# developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)s*,?s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>

# HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
<IfModule filter_module>
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf
FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype
FilterChain COMPRESS
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
</IfModule>

<IfModule !mod_filter.c>
# Legacy versions of Apache
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
</IfModule>
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress[/css]

.htaccess oldukça önemli ve kapsamlı bir ayar dosyasıdır ve bu dosya ile ilgili çok geniş kapsamlı ve her bir kodun ne anlama geldiğini de içerecek bir makale hazırlıyorum. Bu sayede eklentiler ile kazanacağımız hızı kodlar ile yapacağız ve diğer tüm yapmak istenilen ayarlar, örneğin; dizin saklamak, şifrelemek, doğrudan erişimi kapatmak, subdomain ve dizin yönlendirmeleri, bot engellemek, ip bloku engellemek, hotlink engellemek ( başkalarının sizin kaynaklarını kullanması ) gibi bir çok ayarı bulabileceksiniz.

3- WordPress veritabanı temizlemek ve rahatlatmak

Öncelikle gereksiz tüm eklentilerden kaçınıyoruz. Peki bu zamana kadar kurup sildiğimiz eklentilerin bir zararı oluyor mu ? Evet oluyor. Uninstall seçeneği olmayan tüm eklentiler veritabanında çöplerini bırakarak bizi biraz daha yavaşlatırlar. Ayrıca bunun dışında bir çok kişi WordPress’ in otomatik olarak yazı sürümlerini kaydetmesinden şikayetçidir, bu özelliği kaldırmak oldukça basit.

wp-config.php dosyasının en alt satırına  aşağıdaki kodu ekliyoruz ve böylece yazı sürümlerini kaydetme özelliğini kapatmış oluruz.

define(‘WP_POST_REVISIONS’, false);

Tamam özelliği kapattık fakat eski yazı sürümleri ne olacak ? Bunun için phpmyadmin üzerinden sorgu yöntemi ile silmeniz mümkün bir çok kaynak çıkıyor aramalarda. Bu konudan pek anlamayan kişilerin buralara hiç girmemesi kendi yararınadır, çünkü yanlış bir şey yaparsanız tüm sitenizi kaybedebilirsiniz. O yüzden size Wp-optimize eklentisini öneriyorum. Oldukça kullanışlı basit bir eklentidir ve veritabanının şişmesini önler. Kullanımı çok basittir tek tuşla işlemler yapılmaktadır.

Diğer veritabanı temizleme eklentileri;

Benim önerdiklerim arasında yoast yapımcısına ait Optimize-db eklentisi mevcuttur. Benim tavsiye etmediğim bir eklenti ise Wp-DB-manager eklentisidir. Bu eklentinin ayar kısmında bulunan Empty/Drop tables bölümündeki en ufak bir yanlış sitemizi çıkmaza sokuyor. O yüzden bilgisi yeterli seviyede olmayan arkadaşlar bu eklentiyi kullanmasınlar.

4- Önbellek ( Cache ) eklentileri

W3 Total Cache eklentisini kurabilirsiniz. Bir çok Türkçe kaynakta ayar açıklamaları mevcuttur. İlk başta tavsiye edilebilecek eklentidir, ancak bazı arkadaşlar sorun yaşıyor o yüzden alternatif eklentiler olarak Hyper Cache ve Super Cache eklentilerini de kullanabilirsiniz. Bu eklentiler sonrası sitenizde gözle görülür bir hız artışı meydana gelecektir.

5- Ekstra eklenti ile siteyi hızlandırmak

Scripts Gzip

Bu eklenti Css ve J&S dosyalarını sıkıştırma görevi görür ve hiç bir ayarı yoktur. Kurulumla beraber eklenti devreye girmiş olur, aktifleştirmeyi unutmayın.

Gzippy ( W3 Total Cache kurduysanız kurmanıza gerek yoktur )

HTML kodlarını sıkıştırmaya yarar ve bu eklentinin de hiç bir ayarı yoktur.

WordPress resimleri optimize etme eklentisi

Çok basit ve kullanışlı bir eklenti olan WP- Smush IT eklentisi sitenizdeki tüm resimleri kolay bir şekilde panelinizden optimize etmenize yarar. Eklentiyi aktif hale getirdikten sonra bulk smush it yazan yere tıkladığımız zaman resimleri optimize etmeye başlayacaktır.

http://wordpress.org/plugins/wp-smushit/

Site hızını etkileyen tüm faktörler ve hızlandırmak için yapılması gerekenler

Site hızını düşüren faktörler

  • Ücretli temayı ücretsiz olarak kullanmak  ( bu tür temalarda içerisinde zararlı kodlar olabiliyor )
  • Özünde performansı düşük tema kullanmak
  • Fazla eklenti ve Javascript çalıştırmak ( sitenizdeki sayaçlarda javascript çalıştırır ve hızınızı düşürür )
  • Kalitesiz hosting kullanmak
  • Çok fazla sorgu çalıştırmak
  • Optimize edilmemiş resimler

Site hızını arttırmak için yapılabilecekler

  • Kaliteli ve hızlı bir tema ( en önemlisi ! )
  • Mümkün olduğunca az eklenti
  • Sitedeki her şeyin optimize edilmesi ve sıkıştırılması
  • Yerli ve kaliteli hosting kullanımı
  • CDN kullanımı
  • Cache kullanımı

Yani ne kadar az sorgu, ne kadar az işlem o kadar hıza denk geliyor. Temelden yani temadan ve hostingden başlayarak, optimize ve cache kullanımına kadar her işlemin site hızına ve sağlığına belirli oranda katkıları vardır. Mümkünse sizlerde benim gibi göz yormayan, pek fazla sorgu ve javascript çalıştırmayan optimize edilmiş, parası ödenmiş, basit ve sade bir tema kullanın. Gereksiz eklentilerden kaçının, .htaccess dosyasını düzgün bir şekilde ayarlayın, bunlar bile çok yüksek hızlara çıkmanıza yeterli olacaktır.

Tüm sorularınızı ve yorumlarınızı bekliyorum. İlk başta koyduğum görseldeki hız puanlarına burada anlattıklarımı uygulayarak ulaştım. Yalnızca resim optimize eklentisini kurmadım çünkü blogumun henüz yeni ve pek fazla resim yok ancak ileride kurmayı düşünüyorum.

Benzer Yazılar

8 YORUM “WordPress sitenizi optimize etmek ve hızlandırmak için ipuçları

  1. halil Reply

    Çok başarılı bir yazı olmuş hocam, elinize emeğinize sağlık.
    en çok ugrastıgımız konulardan biride ( workpress sitelerin hantallığından dolayı) buydu. Dediklerinizi aynen uyguladım, farkı da cok açık gördüm sayenizde. Site hızı google sonuclarımızı etkileyen en önemli unsurlardan biri. Site hızının da seoya katkısı ilk 5 tedir diye düşünüyorum. Hızlı açılan bir siteniz yoksa hem hiti hemde googlede ilk sıraları unutun bence diyorum.

    Emeğinize sağlık tekrardan…

  2. emredersin Reply

    aga clicklemeden açıyor neredeyse, sen ne yapmışsın yahu. hakikaten tebrik ettim, zirveye oynuyorsun.

    • yemre Post authorReply

      Değerli yorumun için teşekkürler. Evet bizim de amacımız zirvedeki yalnızı oynamak diyebilirim 🙂

  3. ilkfilm Reply

    Hocam tşkler gerçekten faydalı bir paylaşım,
    denemek için .hatcess dosayasını verdiğiniz kodlarla değiştirdim. d67 olan değer hemen b86 değere çıktı, amatör biri olarak sizi tebrik ediyorum

  4. Ahmet Reply

    Hocam sitemizin hızı ve skorları mobil/56 masaüstü/86 fena değil. ancak daha da yükselmiyor ne yaparsam 🙂 hosting olarak Godady Premium VPS Server paketi var. 2.5 yıldır düzenli müşterisiyim. Bununla ilgisi var mıdır? teşekkürler çok güzel konu ellerinize sağlık

    • Yemre Post authorReply

      Hosting ile kaynaklı değildir, tema ve eklentiler yavaşlatıyor olabilir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir