1. Resimleri Optimize Edin

Resimleri optimize etmek için bir çok yöntem var arayıp bulabilirsiniz yada benim kullandığım yöntem var onu kullanabilirsiniz.

https://github.com/yeniref/Wordpress-Resim-S-k-t-rma Kullanımı Açıklama kısmında var.

2. Javascript ve Css dosyalarını sıkıştırın

Bunun için onlarca site var google amcaya sorabilirsiniz.

3.Oluşturmayı Engelleyen Kaynakları Ortadan Kaldırın

Fontawesome kodunun footer a taşıyın alttaki şablondaki gibi düzenleyin

<link rel='stylesheet' id='font-awesome-css'  href='<?php echo get_template_directory_uri();?>/assets/fonts/font-awesome/css/all.min.css' type='text/css' media='all' />
4.Font yüklemelerini erteleyin.

Örnek kullanım altta

   <link rel="preload" href="<?php echo get_template_directory_uri();?>/assets/fonts/font-awesome/webfonts/fa-solid-900.woff2" as="font" crossorigin="anonymous">
5.Tarayıcı önbelleğinden yararlanın

.htaccess alttaki kodu ekleyin

<filesMatch ".(ico|pdf|flv|jpg|svg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=604800, public"</filesMatch>
6.Gzip Etkinleştirin

.htaccess alttaki kodları ekleyin

<IfModule mod_deflate.c>
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
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>
7.Js ve Css versiyon kaldırın

Alttaki fonksiyonu temanızın functions.php dosyasına ekleyin.

function wp_js_version_kaldırma( $src ) {
  if ( strpos( $src, 'ver=' ) )
  $src = remove_query_arg( 'ver', $src );
  return $src;
  }
  add_filter( 'style_loader_src', 'wp_js_version_kaldırma', 9999 );
  add_filter( 'script_loader_src', 'wp_js_version_kaldırma', 9999 );
8.Wordpress varsayılan olarak eklenen css ve js kodlarını temizleyin

if( !function_exists( "wp_temizlik" ) ) {  
  function wp_temizlik() {
    // wp header temizlik
    remove_action( 'wp_head', 'wlwmanifest_link' );     // Windows Live Writer silme
    remove_action( 'wp_head', 'wp_generator' );// WP version silme
    remove_action('wp_head', 'wp_oembed_add_discovery_links', 10); // application/json+oembed silme
    remove_action('wp_head', 'print_emoji_detection_script', 7); //js emoji silme
    remove_action('wp_print_styles', 'print_emoji_styles'); //style emoji silme
    remove_action('wp_head', 'wp_resource_hints', 2); //<link rel='dns-prefetch' href='//s.w.org' /> silme
    remove_action('wp_head', 'rest_output_link_wp_head', 10); //https://api.w.org/ silme
    wp_deregister_script( 'wp-embed' ); // wp-embed kodları silme
    wp_deregister_script( 'imagesloaded' );
    remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
  }
}
add_action( 'init', 'wp_temizlik' );
9.Dns Prefetch ile site açılış hızını artırın

Harici yerlerden çekilen adreslerin DNS çözümlemesini yapar.Adsense Analiytcs gibi kodların siteyi yavaşlatmasını engeller.

head kodundan önceye ekleyin.

<link href="//www.google.com" rel="dns-prefetch" />
<link href="//apis.google.com" rel="dns-prefetch" />
<link href="//fonts.googleapis.com" rel="dns-prefetch" />
<link href="//fonts.gstatic.com" rel="dns-prefetch" />
<link href="//www.gstatic.com" rel="dns-prefetch" />
<link href="//adservice.google.com" rel="dns-prefetch" />
<link href="//pagead2.googlesyndication.com" rel="dns-prefetch" />
<link href="//tpc.googlesyndication.com" rel="dns-prefetch" />
<link href="//ad.doubleclick.net" rel="dns-prefetch" />
<link href="//googleads.g.doubleclick.net" rel="dns-prefetch" />
<link href="//securepubads.g.doubleclick.net" rel="dns-prefetch" />
<link href="//stats.g.doubleclick.net" rel="dns-prefetch" />
<link href="//cm.g.doubleclick.net" rel="dns-prefetch" />
<link href="//partner.googleadservices.com" rel="dns-prefetch" />
<link href="//www.google-analytics.com" rel="dns-prefetch" />
<link href="//www.googletagmanager.com" rel="dns-prefetch" />
<link href="//www.googletagservices.com" rel="dns-prefetch" />
<link href="//lh3.googleusercontent.com" rel="dns-prefetch" />
<link href="//www.youtube.com" rel="dns-prefetch" />
<link href="//player.vimeo.com" rel="dns-prefetch" /> <link href="//www.google.com" rel="dns-prefetch" />
<link href="//apis.google.com" rel="dns-prefetch" />
<link href="//fonts.googleapis.com" rel="dns-prefetch" />
10.SQL Sorgusu ile Transient Verilerini Temizleyin

DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient_%');
DELETE FROM `wp_options` WHERE `option_name` LIKE ('_site_transient_%');
Bonus Alttaki Fonksiyonu functions.php ekleyin

Wordpress sayfalamadan dolayı oluşan hantallığı ortadan kaldırır.

  if ( ! function_exists( 'wpartisan_set_no_found_rows' ) ) :
    function wpartisan_set_no_found_rows( \WP_Query $wp_query ) {
    $wp_query->set( 'no_found_rows', true );
    }
    endif;
    add_filter( 'pre_get_posts', 'wpartisan_set_no_found_rows', 10, 1 );
    if ( ! function_exists( 'wpartisan_set_found_posts' ) ) :
    function wpartisan_set_found_posts( $clauses, \WP_Query $wp_query ) {
    if ( $wp_query->is_singular() ) {
    return $clauses;
    }
    global $wpdb;
    $where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
    $join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
    $distinct = isset( $clauses[ 'distinct' ] ) ? $clauses[ 'distinct' ] : '';
    $wp_query->found_posts = $wpdb->get_var( "SELECT $distinct COUNT(*) FROM {$wpdb->posts} $join WHERE 1=1 $where" );
    $posts_per_page = ( ! empty( $wp_query->query_vars['posts_per_page'] ) ? absint( $wp_query->query_vars['posts_per_page'] ) : absint( get_option( 'posts_per_page' ) ) );
    $wp_query->max_num_pages = ceil( $wp_query->found_posts / $posts_per_page );
    return $clauses;
    }
    endif;
    add_filter( 'posts_clauses', 'wpartisan_set_found_posts', 10, 2 );
İşlemleri uygulamadan önce yedek alın.