Evet arkadaşlar bu konuda uzun bir yazı yazmanın zamanı geldide geçiyor. Guzelhobiler.com‘u açtığımda iki ay sonra site SEO’su iyi olduğundan hiti artmaya başladı ve ardından sorunlarda artmaya başladı. Site daha çok trafik yemeye başladı aşırı CPU kullanımı RAM’den de yiyordu. O zamanlarda aratıp baya bilgi edinmiştim. Şimdi topladığım tüm bilgileri sizlerle paylaşacağım ve bu konuyu es geçmemenizi tavsiye ederim.
CPU Azaltmaya ilk olarak eklentilerle başlayalım.
Wp Super Cache: Bu eklentiyi kesinlikle kullanmalısınız. Bu eklentinin manuel açıklamasını yapiyim bir sayfayı CTRL-S ile farklı kaydet yaparsınız bilgisayarınıza indirirsiniz. Bu eklentide sayfayı cache klasörüne kaydeder. Yani kaydettiği sayfayı veritabanından değilde cache klasöründeki kaydettiği sayfayı açar ve CPU kullanımı azalır. Veritabanınıda az kullanmış olursunuz hem CPU kullanımınız azalır hemde siteniz daha hızlı açılır. Google hızlı siteleri sever bunuda unutmayın 🙂
Akismet: Bu eklenti spam yorumları engellemek için yapılmıştır. Harika bi eklenti spam yorumları yönetici panelinde görebiliyorsunuz topluca silip kurtulabilirsiniz.
FeedBurner: WordPress FeedBurner eklentisinide kullanmanızı öneririm. RSS’lerinizi FeedBurnera kaydedin FeedBurner size bir link oluşturur ve oradan sizi takip edebilirler. Örneğin rooteto.com’un RSS adreslerine bakabilirsiniz. Ayrıca AdSense üyeliğiniz varsa oradan FeedBurner sayfası oluşturun RSS’lerinizde reklamlarda çıkar RSS’lerinizdende para kazanabilirsiniz.
RSS: RSS – Tüm yorumlar RSS
Sayaç Eklentisi
Bu eklentiyi kullanmayın CPU kullanımını arttırır. Ben sitemde kullanıyorum siz bana bakmayın 🙂 rooteto.com’da kullanmıyorum CPU kullanımı artmasın diye. Bu tarz sayaç eklentilerinide kullanmanızı önermiyorum.
Tarihleri kaldırın
WordPress’in bazı temaları varki ana sayfada birden fazla tarihi veritabanından çeker örnek vermek gerekirse magazin temalarında her konu farklı tabloya geçtiğinde her konunun tarihi oluyor ve her konu için tarihi veritabanından çekmeside sitenizi yavaşlatır CPU kullanımınıda arttırır. Bu yüzden ya sitenizden tarihleri kaldırın veya sadece konu içinde tarihi barındırın. Ana sayfanızda veya diğer sayfalarınızda birden fazla tarih veritabanından çekmesini engelleyin. Örneğin kullandığınız temada arşive tıkladığınızda her konunun tarihini veritabanından çekerse CPU kullanımınız artar. Guzelhobiler.com örnek vericek olursak ana sayfada her konu için tarih çekiyordu artık çekmiyor yok ettim onları
Yazma Ayarları
Ayarlar -> Yazma kısmına giriniz. Burada Biçimlendirme kısmında “:-) ve :-P” gibi işaretlerin yada şöyle söyliyim sitenizde smilies kullanmayın. Bu küçük smiliesler çok trafik yiyiyor CPU kullanımının artmasında rolleri büyük kendisi küçük ama işi büyük. Benim gibi eklenti ile smilies sitenizde kullanırsanız daha çok CPU yersiniz. Ben kullanıyorum çünkü rooteto.com’un henüz çok hiti yok olursa kaldırırım. Şimdilik kendimi tatmin etmek amaçlı kullanıyorum.
CPU Azaltmak için Tema düzenleme
Evet bu kısımda çok önemli WordPress herşeyi SQL’den çeker sitenin başlığını bile SQL’den çeker. En ufaktan tutunda en büyük şeye kadar herşeyi SQL’den çeker bu wordpress. WordPress’i kötüleyemiyorum çünkü wordpress’i seviyorum 😀
Bu kısımda bir temayı örnek alarak anlatacağım bu şekilde daha iyi anlayacaksınız bunada inanıyorum.
Şu konudaki ilk tema : 45 Best Free WordPress Themes of All Time
Tema : BloggingPro
Bu temayı örnek aldım ve başlıyorum.
header.php düzenleme.
1) tema dizini
<link rel="shorcut icon" type="image/x-ico" href="<?php bloginfo('template_url'); ?>/favicon.ico" />
Üstteki kısımdan href kısmını aldık.
Aldığımız kısım:
<?php bloginfo('template_url'); ?>
Burada temanın url’sinden yani temanın bulunduğu dizini veritabanından çekiyor. Buraya biz linki direk yazalımki sql den veri çekmesin öyle değilmi?
Tema dizini: http://localhost/big/wp-content/themes/bloggingpro_mt
Düzenlenmiş hali
<link rel="shorcut icon" type="image/x-ico" href="http://localhost/big/wp-content/themes/bloggingpro_mt/favicon.ico" />
2) styles.css linki
<link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" />
Üstteki kısımda href kısmını gene alıyoruz.
Aldığımız kısım:
<?php bloginfo('stylesheet_url'); ?>
Burada tema klasöründeki styles.css dosyasını çağırıyor. Biz ona direk link olarak vericez (:
styles.css linki: http://localhost/big/wp-content/themes/bloggingpro_mt/style.css
Düzenlenmiş hali
<link href="http://localhost/big/wp-content/themes/bloggingpro_mt/style.css" rel="stylesheet" type="text/css" />
3) tema dizini
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascript/imghover.js"> </script>
Üstteki kısımda src kısmını alıyoruz.
Aldığımız kısım:
<?php bloginfo('template_url'); ?>
1.de olduğu gibi temanın bulunduğu dizine girmiş oradan istediği dosyanın dizinine girip .js dosyasını çağırmış.
Tema dizini: http://localhost/big/wp-content/themes/bloggingpro_mt
Düzenlenmiş hali
<script type="text/javascript" src="http://localhost/big/wp-content/themes/bloggingpro_mt/javascript/imghover.js"> </script>
4) rss linki
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
Üstteki kısımda rss linkini çekmiş bizde sitemizden RSS linkimizi alıp oraya direk yapıştırıcaz.
RSS linki: http://localhost/big/feed/
Düzenlenmiş hali
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://localhost/big/feed/" />
5) rss .92 linki
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
Üst kısımda titlesinden yani başlığından anlaşıldığı üzere RSS.92 linkini istiyor. Bu linki bilmiyorsanızda sorun yok çünkü sitenize girip RSS linkine tıkladığınızda RSS .92 başlıklı bir tane daha RSS’niz olduğunu görüceksiniz.
RSS .92 linki: http://localhost/big/feed/rss/
Düzenlenmiş hali
<link rel="alternate" type="text/xml" title="RSS .92" href="http://localhost/big/feed/rss/" />
6) Site linki ve başlığı
<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
Bu kısımda sitenin en üstüne sitenin adını yazıp sitenin linkini vermiş <h1> taglarıylada başlığı büyültmüş ki sitenize temayı kurduğunuzda anlarsınız. şimdi burada yapıcağımız 2 şey var birinciden başlıyorum.
<?php echo get_option('home'); ?>
Bu kısım sitenin kurulu olduğu ana dizin yada sitenin adı anlamına gelir. Benim sitemin adı “http://localhost/big/” olduğu için bu kısımda bu linkimi giriyorum.
<?php bloginfo('name'); ?>
Bu kısımda sitenin başlığı kısmıdır. bu kısımı değiştirip direk sitenin başlığını yazınız.
Düzenlenmiş hali
<h1><a href=”http://localhost/big/”>Blogumun başlığı</a></h1>
Buna isterseniz title=”sitenizin başlığı” de ekleyebilirsiniz. Eğer resim koyarsanızda alt=”” kullanmayı unutmayın.
7) Site açıklaması
<?php bloginfo('description'); ?>
Bu kısımda sitenin slogan’ı diyeceğim çünkü wordpress yönetici panelinde Slogan diyor. Yada sitenin açıklaması diyim iyi anlamanız için.
Burada duruyorum 7den sonrası zarar gibi geldi bana. Bu şekilde veritabanından çekilen dosyaların sayısını azaltıp hem siteyi hızlandırıyor hemde CPU kullanım sorununu azaltıyoruz.
Şimdi neden 7 de durduğumu anlatiyim. Verdiğim kodları görünce onların yerine ne yazcağınızı yazarsam daha açıklayıcı olucak vede her temada bunu yapabilicek duruma geliceksiniz. Bunada bi isim verelim kodları türkçeleştir diyelim 🙂
Kodları türkçeleştir
<?php bloginfo('template_url'); ?>
Bu kodu gördüğünüzde temanızın dizinini bulun ve o linki bunun yerine yazın!
<?php bloginfo('stylesheet_url'); ?>
style.css dosyanızın linkini bulun ve bu kodu gördüğünüz yere yapıştırın.
<?php bloginfo('rss2_url'); ?>
RSS beslemeninizin linkini bunun yerine yazın.
<?php bloginfo('rss_url'); ?>
RSS .92 linkini bulun ve bunun yerine yapıştırın.
<?php echo get_option('home'); ?>
Bu sitenin kurulu olduğu dizin eğer ana dizine kurulu ise sitenizin adı demek veya blog’unuzun linki
<?php bloginfo('name'); ?>
Blog başlığınız title yani.
<?php bloginfo('description'); ?>
Sitenizin Slogan’ı yani sitenizin açıklama kısmını buraya yazarsınız.
WordPress Hosting seçimi
Buda önemli bir konu aldığınız hosting paketinde size %2 cpu kullanımı verilir ve %2 geçildiği an sitenizi kapatırlar. Eğer siteniz büyüyorsa hızlı bir şekilde veya hızlıca büyüyeceğini düşünüyorsanız vps server kiralamanızı tavsiye ederim. WordPress hosting seçimi çok önemlidir. Ben host almıştım ancak aşırı hit yapınca server kiraladım.. Aslında getirisi varsa server kiralayın derim sınırsız cpu kullanımı var nede olsa
WordPress CPU azaltmaya çalıştık inşallah başarılı olmuşuzdur. Aklıma yeni fikirler geldikçe sizlerle paylaşacağım. Bu arada tema düzenleme kısmında aslında şey yaptık. Sitenize girdiğinizde CTRL-U ya basın kaynak kodlarınız çıkıcak orada tüm sayfanızın HTML olduğunu görüceksiniz. Veritabanından dosyalar çekilmiş bir halde size sunucak o sayfayı. O sayfayada bakarak temanızı düzenleyebilirsiniz.
Sitemde aşırı bandwidth tüketimi var. Yardımcı olabilirmisiniz. http://www.mesutturan.com
Trafik kullanımını azaltmak için bir çok yöntem var siz hangilerini yaptınız? yada mail üzerinden devam edebiliriz isterseniz.
Benim sitem http://www.klavyer.com/ ‘da olağan dışı bir PCU kullanımı var, bu yazıda yazanlar bizimi için bir sorun değil ancak öyle bir sorgu geliyor ki kendimize ait dedicated sunucu yetmiyor, normal şartlarda %25’ini kullanması gerekirken sürekli %70 üstü bazen %98’lere ulaşıyor, şu an odluğu gibi, bu konuda bana yardımcı olur musunuz ?
Kullandığın tema çok sorgu çalıştırdığı için cpu kullanımı fazla olabilir. Sorguları azaltıp işlemci kullanımını azaltabilirsin. Hatta şöyle yapabilirsin temayı değiştirip cpu kullanımının devam edip etmediğini deneyebilirsin eğer devam ediyorsa site ile alakalı değil sunucu ile alakalı problem olabilir. Kullandığın dedicated sunucuda sadece bu sitemi var? sunucu özelliklerin tam olarak nedir yazabilirmisin?
Hocam biraz araştırma yaptım sürekli olarak saldırı geliyor bot net tarzında saniyede 50-60 sorgu farklı ip adresleri üzerinden geliyor ve sunucuyu kullanılmaz hale getiriyor ancak bunları bir türlü engelleyemiyorum. shell ve virüs taraması yaptık site temiz sadece index.php’ye sorgu geliyor sürekli olarak, öyle: http://prntscr.com/59h5um ddos kuruması dahi urduk ip’leri banladı ancak saldırı yapanları değil google gibi arama motorlarını ..vs banladı kaldırdık sonra.
Murat, WHM’de cphulkd alanını aktif et, mod securityi aktif edip konfigüre et, birde lightspeed kur servera bu siteni rahat bir şekilde ayakta tutacaktır. Saldırıların önüne geçmek için saldıran ip’nin detaylarını öğrenmen gerekiyor muhtemelen bir program ve bu program’ında saldırırken bazı “açıklamaları” olacaktır. Bu programı direkt olarak engelleyebilirsin, sunucuya ping atımını kapatabilirsin, gerçi saldırı aldığından eminsen hosting firmanla yada dc ile görüş onlar sana detaylı bilgi verirler.
cphulkd aktif, lightspeed lisanslı kurulu, ip adresi yok, feed ler üzerinden sürekli sorgu geliyor, spam şeklinde, feedleri kapattık. cache yapıcaz yakında, hosting firmam biraz sorunlu onlar bende daha az şey biliyorlar gibi geliyor bana 🙁 şu an için sorun ilgilendiğiniz için teşekkür ederim.
Feedleri kapattıysanız feedburner kullanmanızı tavsiye ederim. Cache olması gereken bir şey zaten hem sunucu tarafında hemde wp tarafında cache kullanırsanız siteniz çok hızlı çalışır loadlar yükselmez. Problem devam ederse mutlaka yazın yardımcı olmaya çalışırım 🙂
yok sitede zaten cache var ben feed leri kapsayacak şekilde düzenlenmesinden bahsetmiştim, sürekli gelen sorgu sunucuya yansımak yerine cache den gösterilse yük olmazdı anlamında. tekrar teşekkür ederim yardımcı olduğunuz için.
Selamlar idealsosyalhizmet.com sitesinde cpu sorunu yaşıyorum çoğu kez ne siteye girebiliyorum ne admin paneline, yazı bile yazamadım. Aşırı CPU kullanımından kaynaklı olduğunu düşünüyorum çünkü sunucudan yardım istediğimde CPU kullanımınız çok fazla demişti. Site de anlık ziyaretçi 7-8 di siteye giremediğimde. Eklentilerin hepsini deaktif etsemde yine siteye ulaşmakta zorlanıyorum. CPU kullanının neden kaynaklandığnı çok merak ediyorum. Aşırı hitden mi yoksa temadan mı? Temayı da değiştirip denedim ama pek bir şey fark etmedi açıkcası. Bu durum oldukça canımı sıkıyor.
Merhaba Murat, Anlık 7-8 aşırı hit değildir bu yüzden siten çok cpu kullanmaz ama eklentilerden cpu kullanan çok olabilir, sunucu özelliklerin düşük olabilir örnek verirsek sunucu ram’i 2-3 gb ise normaldir kasıp kapanması. Tam olarak neyin cpu kullandığını bulursan problemi çözebilirsin bu yüzden öncelik olarak cache kurma önce problemi öğren daha sonra cache kullan bence.
Ertuğrul hocam merhabalar, güzel bir yazı kaleme almışsınız, sorunlu
internet sitemiz http://www.GameOis.com, konuda bahsedilen düzenlemeleri hali
hazırdan önce den gerçekleştirmiştim, artı olarak veritabanında da
optimizasyonlar yapıldı, anasayfa sorgularını fazlasıyla azaltmış
olsamda single.php tarafından sorgu sayısı 110+ larda bu oranı azaltmak
yada CPU kullanımını daha aza indirmek için bu konunuza ek olarak farklı
söyleyebileceğiniz bir tavsiye var mı ?
Ümit, LiteSpeed bir sunucu da, ortalama 1-3 bin tekille işlemciyi yoruyorsan, bulunduğun hosting’in işlemcisi çok düşüktür. Çünkü gayet iyi optimizasyon yapmış gibi görünüyorsun.
Ama benim tavsiyem, LiteSpeed sunucu ya xcache kurup, WP Fastest Cache yerine de w3 total cache kurmandır. W3 total cache de “Page Cache” kısmın da xcache yi seç.
single.php için de 110+ sorgu yok gibi, ama eklentiye bakıp söylüyorsan doğrudur 🙂 O yüzden kendi temanızı yazın yada daha performanslı temalar kullanın diyorum.
İlgin için teşekkür ederim hocam, W3 Total’i eskiden bir sitemde kullanıyordum fakat bu fastest cache ile aralarında bir farkı göremediğim ve daha basit olduğu için tercihimi bundan yana kullandım. W3’de xcache özelliğinin tam olarak artısı nedir? Birde bir yazıda tema panelininde bu CPU kullanımına etki edeceği bilgisi yer alıyordu bu konuda bir tecrübeniz oldu mu? Açıkcası temayı değiştirmek istemiyorum, şuan hali hazırda azaltabileceğimiz bir sorguda kalmadı belki sidebar widgetler silinebilir yerine manuel ekleme yapabilirim fakat çok farkedeceğini sanmıyorum. Tema panelini vs. kaldırsak nasıl olur acaba.
Merhaba Bu şekilde bir tema kodlarında temanın ismi nasıl yazabilirim. DOmain ‘i URL olarak yazınca error veriyor
// Loads our main stylesheets.
wp_enqueue_style( THEME_DOMAIN . ‘-font-awesome’, THEME_URL_FONTS . ‘font-awesome/css/font-awesome.min.css’, array(), THEME_VERSION );
wp_enqueue_style( THEME_DOMAIN . ‘-style’, THEME_URL . ‘/style.css’, array(), THEME_VERSION );
@disqus_V1liRTv5lz:disqus, Font awesome için cdn kullansan daha iyi olur. O satırı komple sil ben örnek 1 resim ekledim şimdi ona göre ekle Font awesomeyi.
Style.css’e gelince onu nasıl düzelteceğini de anlattım ama düzeltsen bile daha iyisi var aslında. Onu kullanabilirsin.
Resimde style.css için en alttaki satırdaki kodu kullan. En alttaki stylesheet kodunu header.php de get_header(); kodunun hemen altına yapıştır.
Söylediğim gibi yaparsan göstermiş olduğun kodları komple silmen gerekecek.
Hocam dediğiniz gibi yaptım ancak menü çubuğu bozuldu renklendirilmesi filan gitti
kodları şu şekilde header.php’ye ekleyip, theme_options_init.php ‘de olanları da sildim.
http://hizliresim.com/a24NOQ
@disqus_V1liRTv5lz:disqus söylediğim gibi style.css sıralamasını değiştir.
Hocam değiştiriyorum ancak olmuyor.:( teşekkür ederim.
Hocam header.php haricinde başka bir dosyadan çağrılıyor olabilir mi? Böyle bir olasılık var mı? çünkü localde değil aktif sitede de denedim. Header.php’nin hangi satırına eklersem ekleyim olmuyor. Hocam bu işlemi yapmak zorundayım çalıştığım hosting CPU fazla diyor. Ben tüm optimizasyonu yaptım ancak onlar hiçbir farkın olmadığını söyleyip duruyorlar.
@disqus_V1liRTv5lz:disqus style.css in yerini header.php de üst sıralara taşı tekrar sayfa yenileyip incele olurmu.
Style.css sıralamasından dolayı menü bozulmuştur. Yada en kötü şöyle yaparsın, theme_options_init.php de tekrar style.css kodunu koyup aktif edersin. Kaynak kodundan bakarsın hangi satırda, o satıra göre style.css kodunu eklersin olur.
Hocam yer değiştirdim ama olmuyor. kaynak koduna baktığımda eksik bişey var. Normalde style.css den sonra header bg backgraund gibi düzenlmelerin olduğu satırlar var. http://i.hizliresim.com/m1VgPP.jpg
ancak yani eklediğim style.css ile bunlar gelmiyor. http://i.hizliresim.com/O7W8B3.jpg
Bİrde sayaçlar var, ben temanın içinde views_count araştırması yaptım ve bununla ilgili çıkan tüm dosyalardaki bu ve benzere satırları resimdeki işaretlediğim gibi komple sildim. o işaretli satırları silmeden sarı ile işaretlediğm kısmı false mi yapmam gerekiyordu yoksa?
http://i.hizliresim.com/orLpBq.jpg