🢂Meta preconnect ‑ Plugin
Kod wtyczki przyspieszającej ładowanie zasobów zew., takich jak czcionki Google, tagi Google Tag Manager, Facebook Connect i Google Maps
Co robi ta wtyczka
Poprawia wydajność serwisu WWW opartego o WordPress dzięki nagłówkowi HTTP Link Rel
Jak działa ta wtyczka, krok po kroku
if (!defined('ABSPATH')) { exit; }
: Sprawdza, czy stała ABSPATH
jest zdefiniowana. Jest to mechanizm zabezpieczający w WordPressie, który zapobiega bezpośredniemu dostępowi do pliku skryptu.
add_action('wp_head', 'wh_add_prefetch', -999)
: Dodaje akcję do hooka wp_head
w WordPressie. Oznacza to, że funkcja wh_add_prefetch
zostanie wywołana podczas ładowania sekcji nagłówka (head) w każdej stronie WordPressa. Liczba '-999' jest bardzo dużą liczbą ujemną, co sugeruje, że ta funkcja zostanie wywołana jako jedna z pierwszych.
Funkcja wh_add_prefetch()
: Ta funkcja wstawia linki preconnect dns-prefetch
do nagłówka strony.
Preconnect
i dns-prefetch
to techniki, która pozwalają przeglądarce nawiązać wczesne połączenia z zewnętrznymi serwerami, co może przyspieszyć ładowanie zasobów, takich jak czcionki Google, tagi Google Tag Manager, Facebook Connect i Google Maps.
Ponadto jest zakomentowana linia kodu, która pierwotnie dodawała link do serwera hostującego stronę. Może to być odkomentowane, aby umożliwić jeszcze szybsze ładowanie zasobów serwera.
Czy to faktycznie przyśpiesza stronę
Z moich obserwacji wynnika, że tak, a testy innych wykazały poprawę o 400 ms przy medianie i poprawę o więcej niż 1s przy 95 percentylu. Jeśli interesują cię takie zagadnienia, to więcej możesz pocztytać na tej stronie: https://andydavies.me/blog/2019/03/22/improving-perceived-performance-with-a-link-rel-equals-preconnect-http-header/
Kod wtyczki
Skopiuj kod i zapisz do pliku w folderze plugins
.
<?php
/*
* Plugin Name: [WH] SEO for all
* Plugin URI: http://wirtualnyhandlowiec.pl/
* Description: To nasza wtyczka do wp
* Version: 24.07.2023
* Text Domain: wirtualnyhandlowiec.pl
* Domain Path: /
* Author: RS
* Author URI: http://wirtualnyhandlowiec.pl/
* License: GPL2
*/
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly
}
add_action('wp_head', 'wh_add_prefetch', -999);
function wh_add_prefetch()
{
// print '<link rel="preconnect dns-prefetch" href="//'.$_SERVER['SERVER_NAME'].'" />'."\n";
print '<link rel="preconnect dns-prefetch" href="//fonts.googleapis.com" />'."\n";
print '<link rel="preconnect dns-prefetch" href="//fonts.gstatic.com" />'."\n";
print '<link rel="preconnect dns-prefetch" href="//www.googletagmanager.com" />'."\n";
print '<link rel="preconnect dns-prefetch" href="//connect.facebook.net" />'."\n";
print '<link rel="preconnect dns-prefetch" href="//maps.googleapis.com" />'."\n";
}