Merhaba aşağıdaki kodları functions.php dosyanızın sonuna ekleyerek hiçbir eklenti kullanmadan hızınızı maksimum seviyeye çıkartabilirsiniz.
WordPress Heartbeat API, WordPress'in arka planda çalışan oturum açıkken yürütülen işlemlerin izlemmesine izin veren bir özelliktir. Ancak, bu özellik bazı durumlarda sunucu kaynaklarını tüketebilir ve site performansını olumsuz etkileyebilir. Bu özelliği kapatmak için aşağıdaki kodu kullanalım.
// Heartbet Api Kapat
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script( 'heartbeat' );
}___________________
Bu teknik, statik kaynakların cache edilmesini engelleyen birçok proxy sunucularını, önbellek sistemleri ve tarayıcıları etkiler. Bu nedenle, query string'leri kaldırmak, sayfa yükleme süresini azaltır ve web sitenizin performansını artırır.
// Stringleri temizle
function remove_query_string( $src ) {
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'script_loader_src', 'remove_query_string', 15, 1 );
add_filter( 'style_loader_src', 'remove_query_string', 15, 1 );____________________________
Self-pingbacks, bir yazarın kendi yayınlarına yaptığı bağlantılardan kaynaklanan otomatik yorumlardır. WordPress'in varsayılan olarak bu özelliği etkin olduğundan, bazen spam yorumlarına benzer şekilde sitenizi yavaşlatabilirler. Bu nedenle, self-pingback'leri devre dışı bırakalım.
// Self Pingbacks Kapat
function disable_self_pingbacks( &$links ) {
foreach ( $links as $l => $link ) {
if ( 0 === strpos( $link, home_url() ) ) {
unset($links[$l]);
}
}
}
add_action( 'pre_ping', 'disable_self_pingbacks' );____________________________
WordPress tarafından otomatik olarak eklenen emojiler, sitenin yüklenme süresini artırabilir. Bu nedenle, emojileri kaldırmak, sitenin performansını arttıracaktır.
// Emoji Sil
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
____________________________
Disable WooCommerce Scripts and Styles on non-WooCommerce Pages, yani WooCommerce sayfaları olmayan diğer sayfalarda WooCommerce betiklerinin ve stillerinin devre dışı bırakılması anlamına gelir. Bu işlem, WooCommerce etkin olmayan sayfaların yüklenmesini hızlandıracak ve performansı arttıracaktır.
// Disable WooCommerce Scripts and Styles on non-WooCommerce Pages
add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99 );
function dequeue_woocommerce_styles_scripts() {
if ( function_exists( 'is_woocommerce' ) ) {
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce-general' );
wp_dequeue_style( 'woocommerce-layout' );
wp_dequeue_style( 'woocommerce-smallscreen' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );
wp_dequeue_script( 'wc-cart-fragments' );
wp_dequeue_script( 'wc-checkout' );
wp_dequeue_script( 'wc-add-to-cart-variation' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-cart' );
wp_dequeue_script( 'wc-chosen' );
wp_dequeue_script( 'woocommerce' );
wp_dequeue_script( 'prettyPhoto' );
wp_dequeue_script( 'prettyPhoto-init' );
wp_dequeue_script( 'jquery-blockui' );
wp_dequeue_script( 'jquery-placeholder' );
wp_dequeue_script( 'fancybox' );
wp_dequeue_script( 'jqueryui' );
}
}
}__________________________________
Bu kod, Woocommerce eklentisinin sayfalar arasında yükleme süresini optimize etmek için kullanılır. Woocommerce, varsayılan olarak tüm sayfalarda eklentisinin CSS ve JS dosyalarını yükler. Bu nedenle, woocommerce olmayan sayfalarda bu dosyaların yüklenmesi gereksiz yere sayfa yükleme süresini uzatır. Bu kod, woocommerce olmayan sayfalarda woocommerce stil ve betiklerinin yüklenmesini devre dışı bırakarak sayfa yükleme hızını artırır.
// Disable WooCommerce scripts and styles on non-shop pages
function dequeue_woocommerce_styles_scripts() {
if(function_exists('is_woocommerce') && !is_woocommerce() && !is_cart() && !is_checkout()) {
wp_dequeue_style('woocommerce_frontend_styles');
wp_dequeue_style('woocommerce-general');
wp_dequeue_style('woocommerce-layout');
wp_dequeue_style('woocommerce-smallscreen');
wp_dequeue_style('woocommerce_fancybox_styles');
wp_dequeue_style('woocommerce_chosen_styles');
wp_dequeue_style('woocommerce_prettyPhoto_css');
wp_dequeue_script('wc_price_slider');
wp_dequeue_script('wc-single-product');
wp_dequeue_script('wc-add-to-cart');
wp_dequeue_script('wc-cart-fragments');
wp_dequeue_script('wc-checkout');
wp_dequeue_script('wc-add-to-cart-variation');
wp_dequeue_script('wc-single-product');
wp_dequeue_script('wc-cart');
wp_dequeue_script('wc-chosen');
wp_dequeue_script('woocommerce');
wp_dequeue_script('prettyPhoto');
wp_dequeue_script('prettyPhoto-init');
wp_dequeue_script('jquery-blockui');
wp_dequeue_script('jquery-placeholder');
wp_dequeue_script('jquery-payment');
wp_dequeue_script('fancybox');
wp_dequeue_script('jqueryui');
}
}
add_action('wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99);________________________
Ek olarak Revslider kullananlar için site yükleme hızını arttıracak kodlar.
// Revolution Slider'a async ve defer özelliklerini ekleme
function add_revslider_attributes($tag, $handle) {
if ($handle === 'revslider') {
$tag = str_replace(' src', ' async defer src', $tag);
}
return $tag;
}
add_filter('script_loader_tag', 'add_revslider_attributes', 10, 2);
// Revolution Slider'a jQuery'yi dahil etme
function add_jquery_to_revslider() {
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'add_jquery_to_revslider');