Anasayfa / Wordpress / WordPress GTmetrix Hataları Ve Çözümleri
wordpress 660x330 - Wordpress GTmetrix Hataları Ve Çözümleri

WordPress GTmetrix Hataları Ve Çözümleri

Öncelikle merhaba herkese. Yine düzenli yazı gireceğim diyip sonradan yoğunluk ve benzeri nedenlerle sözümde durumadım. O yüzden artık düzenli yazı gireceğim demek istemiyorum . Arada sırada paylaşımlarım olacak ne sıklıkla belli değil sadece. Çok uzatmadan konumuza geçelim. Bir zamanlar optimizasyon hizmeti verirken yabancı kaynaklardan bulduğum yararlı kodları arşivlemiştim. Artık bunları paylaşma zamanı geldi. Güzel bir araştırma ile bulabileceğiniz kodlar aslında ben sadece size kendi topladıklarımı sunuyorum.

Enable Gzip Compression – .htaccess 


<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>

Enable Keep-Alive – .htaccess


<IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>

Gravatar Alt Etiket Sorunu – functions.php


function replace_content($text)
{
$alt = get_comment_author($id_or_email);
$text = str_replace('alt=\'\'', 'alt=\''.$alt.'\'',$text);
return $text;
}
add_filter('get_avatar','replace_content');

Leverage Browser Caching – .htaccess


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

Remove Query Strings from Static Resources – functions.php

/*Remove query strings*/
function ewp_remove_script_version( $src ){
return remove_query_arg( 'ver', $src );
}
add_filter( 'script_loader_src', 'ewp_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', 'ewp_remove_script_version', 15, 1 );
/*Remove query strings*/

function _remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

Specify a Vary Accept-Encoding Header – .htaccess


<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz|html)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>

Defer Parsing of Javascript – functions.php


function defer_parsing_of_js ( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.js' ) ) return $url;
return "$url' defer ";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );

Javascript ve Css Dosyalarını Footer’a Taşımak  – .functions.php


remove_action( 'wp_head', 'wp_print_scripts' );
remove_action( 'wp_head', 'wp_print_head_scripts', 9 );
remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_footer', 'wp_print_scripts', 5 );
add_action( 'wp_footer', 'wp_enqueue_scripts', 5 );
add_action( 'wp_footer', 'wp_print_head_scripts', 5 );

Bazı Öneriler

  • Resimleriniz çok önemli . Zaten resimleri daha önce optimize etmediyseniz bu her türlü analiz siteleri size hata verecektir.  Resimleri kesinlikle optimize edin. Bunun için En Kolay Website Optimizasyon konulu makaleme bakabilirsiniz.
  • Aynı zamanda resimleriniz çok ise kullanıcıların sitenize hızlı ulaşması için lazy load eklentisini kullanmanızı öneririm.
  • WordPress yorum ayarlarında smiley yani emojileri kapatmanızı öneririm.
  • Temanızda gereksiz sorgu olmasın. Mesela site başlığını php ile çekmek yerine kendiniz yazabilirsiniz. Bu sorgu sayısını azaltacaktır.
  • https://kraken.io/ -> ftpden bütün resimlerinizi sürükle bırak ile bırakıp sonra optimize edilmiş halini toplu zip halinde indirebileceğiniz bir resim sıkıştırma servisi. Kısaca wordpress toplu resim optimize etmesini sağlıyor.
  • define(‘EMPTY_TRASH_DAYS’, 7); bu kodu wp-config.php dosyanıza eklerseniz 7 gün aralıkla çöpleri otomatik silecektir.
  •  define(‘WP_POST_REVISIONS’, FALSE); konuların geçmiş halleri bazen işe yarayabiliyor ama kapatmak isterseniz az da olsa admin panelinizi hızlandıracaktır.
  • define( ‘DISALLOW_FILE_EDIT’, true ); bu kodu wp-config.php dosyanıza eklerseniz admin paneli üzerinden tema ve eklenti düzenleme özellerini kapatır. Güvenlik için öneririm. Admin paneliniz hacklense bile hacklink yemeniz zorlaşır.
  • Gzip sıkıştırmasını aktifleştirdikten sonra https://checkgzipcompression.com/ sitesinden kontrol etmeyi unutmayın.
  • WordPress temalarını biraz inceleyen varsa her şeyin otomatik olması için site başlığının bile php ile çekildiğini görebilir. Eğer sorgu sayınız fazlaysa bu sorguları azaltmanız faydalı olacaktır. Cache eklentileri ilk girişten sonra direk önbellek gösterdiği için bunu yapmasanız da olur . Bu biraz abartı olabilir size kalmış.
  •  P3 (Plugin Performance Profiler) ile eklentilerin sitenizi ne kadar yorduğunu görebilirsin. Jetpack’ten uzak durmanızı öneririm . Son kullandığımda admin panelini fazla yavaşlatıyordu şuanki durumunu bilmiyorum.
  • Kullandığınız temalarda kullanmadığınız özelllikler varsa bunları kod olarak da kaldırın. Yani slider kullanmıyorsanız index.php dosyanızda slider aktif mi değil mi diye kod olmasına gerek yok . Yedek almayı unutmayın tabiki.
  • gtmetrix’de serve scaled images hatasını alıyorsanız bunun nedeni resimlerinizin tema sisteminizde belirtilen boyutlardan farklı olmasıdır. Bunu çözmek için Regenerate Thumnails eklentisini önerebiilirim. Temanıza uygun resimlerinizi yeniden boyutlandırıyor.
  •  FTP’den girip baktığınızda wp-contents klasörünüzde 1 resimden onlarca adet olduğunu görebilirsiniz. Kullanılmayan resimleri bulmak ve toplu silmek için ise Image Cleanup eklentisini öneririm. Yedek almayı unutmayın.
  •  Resim konusunda bir toplama karar verirsek. İlk önce Regenerate Thumnails ile resimleri temamıza göre boyutlandıralım. Daha sonra Image Cleanup ile gereksizleri silelim. Son olarak ise herhangi bir eklenti ve ya site ile resimleri optimize edelim. Bu şekilde temanıza tamamen uygun , gerekli ve optimize resimler olacak. Bunu 3-4 farklı sitede denedim sorunla karşılaşmadım. 5000 resmi bu işlem ile 100 resme düşürdüğüm çok oldu .
  • Optimizasyon için temanızda yaptığınız değişiklikler, temaya güncelleme geldiği zaman gidebilir aklınızda bulunsun. Optimizasyon öncesi ve sonrasında yedek almayı unutmayın.
İlginizi Çekebilir :   Wordpress Dosya İzinleri Nasıl Olmalıdır ?

Bunları da kontrol edebilirsiniz.

htaccess 310x165 - .htaccess İle Wordpress Güvenlik Önlemleri

.htaccess İle WordPress Güvenlik Önlemleri

Eğer wordpress bir siteye sahipseniz sitenizde güvenlik önlemleri almanız gereklidir. WordPress açık kaynaklı bir sistem. …

Bir cevap yazın

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