Velocizziamo il core di WordPress

Ciao, sono finalmente tornato a scrivere articoli dopo una lunghissima pausa.

Oggi vorrei parlarvi di una chicca che sto usando su molti siti per velocizzarli ed aumentare le prestazioni. Nel caso voi voleste guadagnare punti con le statistiche dei vari Google page speed o di GTmetrix, questo consiglio che sto per darvi farà sicuramente la differenza.

Ma basta dilungarci in tediose chiacchere… passiamo al sodo!!

Andremo a toccare 3 file di WordPress

Il primo file è wp-config che si trova nella cartella principale di WordPress (per intenderci è quello che settate in automatico quando installate WordPress oppure lo fate a mano mettendoci i parametri del database, puntamento e cose varie…)

In questo file dovrete preparare lo spazio che dice a WordPress quanta RAM può usare e la massima che può richiedere con i task più impegnativi.

/**questa stringa dichiara la ram che il server deve dedicare normalmente*/ define(‘WP_MEMORY_LIMIT’,’128M’); /**questa stringa dichiara la ram massima che il server deve usare*/ define(‘WP_MAX_MEMORY_LIMIT’,’256M’);

Fatto questo dobbiamo andare a pompare un po’ il motore e per fare ciò dobbiamo aprire la cartella wp-includes e andare a modificare il file “default-constants”

Vi metto qua sotto tutto il codice modificato…

function wp_initial_constants() {
global $blog_id;
define( ‘KB_IN_BYTES’, 1024 );
define( ‘MB_IN_BYTES’, 1024 * KB_IN_BYTES );
define( ‘GB_IN_BYTES’, 1024 * MB_IN_BYTES );
define( ‘TB_IN_BYTES’, 1024 * GB_IN_BYTES );
$current_limit = @ini_get( ‘memory_limit’ );
$current_limit_int = wp_convert_hr_to_bytes( $current_limit );
if ( ! defined( ‘WP_MEMORY_LIMIT’ ) ) {
if ( false === wp_is_ini_value_changeable( ‘memory_limit’ ) ) {
define( ‘WP_MEMORY_LIMIT’, $current_limit );
} else {
define( ‘WP_MEMORY_LIMIT’, ‘128M’ );
}
}
if ( ! defined( ‘WP_MAX_MEMORY_LIMIT’ ) ) {
if ( false === wp_is_ini_value_changeable( ‘memory_limit’ ) ) {
define( ‘WP_MAX_MEMORY_LIMIT’, $current_limit );
} elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 ) {
define( ‘WP_MAX_MEMORY_LIMIT’, $current_limit );
} else {
define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );
}
}
$wp_limit_int = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT );
if ( -1 !== $current_limit_int && ( -1 === $wp_limit_int || $wp_limit_int > $current_limit_int ) ) {
@ini_set( ‘memory_limit’, WP_MEMORY_LIMIT );
}
if ( ! isset($blog_id) )
$blog_id = 1;
if ( !defined(‘WP_CONTENT_DIR’) )
define( ‘WP_CONTENT_DIR’, ABSPATH . ‘wp-content’ );
if ( !defined(‘WP_DEBUG’) )
define( ‘WP_DEBUG’, false );
if ( !defined(‘WP_DEBUG_DISPLAY’) )
define( ‘WP_DEBUG_DISPLAY’, true );
if ( !defined(‘WP_DEBUG_LOG’) )
define(‘WP_DEBUG_LOG’, false);
if ( !defined(‘WP_CACHE’) )
define(‘WP_CACHE’, false);
if ( ! defined( ‘SCRIPT_DEBUG’ ) ) {
if ( ! empty( $GLOBALS[‘wp_version’] ) ) {
$develop_src = false !== strpos( $GLOBALS[‘wp_version’], ‘-src’ );
} else {
$develop_src = false;
}
define( ‘SCRIPT_DEBUG’, $develop_src );
}
if ( !defined(‘MEDIA_TRASH’) )
define(‘MEDIA_TRASH’, false);
if ( !defined(‘SHORTINIT’) )
define(‘SHORTINIT’, false);
define( ‘WP_FEATURE_BETTER_PASSWORDS’, true );
define( ‘MINUTE_IN_SECONDS’, 60 );
define( ‘HOUR_IN_SECONDS’, 60 * MINUTE_IN_SECONDS );
define( ‘DAY_IN_SECONDS’, 24 * HOUR_IN_SECONDS );
define( ‘WEEK_IN_SECONDS’, 7 * DAY_IN_SECONDS );
define( ‘MONTH_IN_SECONDS’, 30 * DAY_IN_SECONDS );
define( ‘YEAR_IN_SECONDS’, 365 * DAY_IN_SECONDS );
}
function wp_plugin_directory_constants() {
if ( !defined(‘WP_CONTENT_URL’) )
define( ‘WP_CONTENT_URL’, get_option(‘siteurl’) . ‘/wp-content’);
if ( !defined(‘WP_PLUGIN_DIR’) )
define( ‘WP_PLUGIN_DIR’, WP_CONTENT_DIR . ‘/plugins’ );
if ( !defined(‘WP_PLUGIN_URL’) )
define( ‘WP_PLUGIN_URL’, WP_CONTENT_URL . ‘/plugins’ );
if ( !defined(‘PLUGINDIR’) )
define( ‘PLUGINDIR’, ‘wp-content/plugins’ );
if ( !defined(‘WPMU_PLUGIN_DIR’) )
define( ‘WPMU_PLUGIN_DIR’, WP_CONTENT_DIR . ‘/mu-plugins’ );
if ( !defined(‘WPMU_PLUGIN_URL’) )
define( ‘WPMU_PLUGIN_URL’, WP_CONTENT_URL . ‘/mu-plugins’ );
if ( !defined( ‘MUPLUGINDIR’ ) )
define( ‘MUPLUGINDIR’, ‘wp-content/mu-plugins’ );
}
function wp_cookie_constants() {
if ( !defined( ‘COOKIEHASH’ ) ) {
$siteurl = get_site_option( ‘siteurl’ );
if ( $siteurl )
define( ‘COOKIEHASH’, md5( $siteurl ) );
else
define( ‘COOKIEHASH’, md5( wp_guess_url() ) );
}
if ( !defined(‘USER_COOKIE’) )
define(‘USER_COOKIE’, ‘wordpressuser_’ . COOKIEHASH);
if ( !defined(‘PASS_COOKIE’) )
define(‘PASS_COOKIE’, ‘wordpresspass_’ . COOKIEHASH);
if ( !defined(‘AUTH_COOKIE’) )
define(‘AUTH_COOKIE’, ‘wordpress_’ . COOKIEHASH);
if ( !defined(‘SECURE_AUTH_COOKIE’) )
define(‘SECURE_AUTH_COOKIE’, ‘wordpress_sec_’ . COOKIEHASH);
if ( !defined(‘LOGGED_IN_COOKIE’) )
define(‘LOGGED_IN_COOKIE’, ‘wordpress_logged_in_’ . COOKIEHASH);
if ( !defined(‘TEST_COOKIE’) )
define(‘TEST_COOKIE’, ‘wordpress_test_cookie’);
if ( !defined(‘COOKIEPATH’) )
define(‘COOKIEPATH’, preg_replace(‘|https?://[^/]+|i’, ”, get_option(‘home’) . ‘/’ ) );
if ( !defined(‘SITECOOKIEPATH’) )
define(‘SITECOOKIEPATH’, preg_replace(‘|https?://[^/]+|i’, ”, get_option(‘siteurl’) . ‘/’ ) );
if ( !defined(‘ADMIN_COOKIE_PATH’) )
define( ‘ADMIN_COOKIE_PATH’, SITECOOKIEPATH . ‘wp-admin’ );
if ( !defined(‘PLUGINS_COOKIE_PATH’) )
define( ‘PLUGINS_COOKIE_PATH’, preg_replace(‘|https?://[^/]+|i’, ”, WP_PLUGIN_URL) );
if ( !defined(‘COOKIE_DOMAIN’) )
define(‘COOKIE_DOMAIN’, false);
}
function wp_ssl_constants() {
if ( !defined( ‘FORCE_SSL_ADMIN’ ) ) {
if ( ‘https’ === parse_url( get_option( ‘siteurl’ ), PHP_URL_SCHEME ) ) {
define( ‘FORCE_SSL_ADMIN’, true );
} else {
define( ‘FORCE_SSL_ADMIN’, false );
}
}
force_ssl_admin( FORCE_SSL_ADMIN );
if ( defined( ‘FORCE_SSL_LOGIN’ ) && FORCE_SSL_LOGIN ) {
force_ssl_admin( true );
}
}
function wp_functionality_constants() {
if ( !defined( ‘AUTOSAVE_INTERVAL’ ) )
define( ‘AUTOSAVE_INTERVAL’, 60 );
if ( !defined( ‘EMPTY_TRASH_DAYS’ ) )
define( ‘EMPTY_TRASH_DAYS’, 15 );
if ( !defined(‘WP_POST_REVISIONS’) )
define(‘WP_POST_REVISIONS’, false);
if ( !defined( ‘WP_CRON_LOCK_TIMEOUT’ ))
define(‘WP_CRON_LOCK_TIMEOUT’, 60);
}
function wp_templating_constants() {
define(‘TEMPLATEPATH’, get_template_directory());
define(‘STYLESHEETPATH’, get_stylesheet_directory());
if ( !defined(‘WP_DEFAULT_THEME’) )
define( ‘WP_DEFAULT_THEME’, ‘twentyseventeen’ );
}

Rispetto al file originale, oltre a rimuovere tutti i commenti, ho rimosso anche la funzione che consente di dedicare una determinata quantità di RAM nel caso il sito WordPress fosse in modalità MULTISITE. Siccome questa modalità di utilizzo, la sconsiglio a prescindere (piuttosto comprate un dominio in più!), inoltre ho ottimizzato alcuni parametri che mettono ancora di più il turbo al vostro sito.

Dobbiamo poi andare a dire dopo quanto tempo massimo il server può restituire un messaggio di time-out di un processo (che non c’entra in realtà nulla col tempo di caricamento della pagina, ma piuttosto il tempo che il server deve dedicarsi per gestire il sito adeguatamente).

Dovrete mettere nel file .htaccess la stringa di codice che vi allego qua sotto…

php_value max_execution_time 60

Oltre a queste accortezze, potreste anche velocizzare il caricamento del sito grazie ad una funzione che è attivabile sui server. La funziona di Varnish, un sistema avanzato di cache che velocizza il caricamento e lo rende fulmineo poiché rende statiche tutte le pagine non richiedendo quindi al server di dover allocare risorse eccessive per la computazione delle vostre richieste. In questo modo il sito è come se fosse un classico sito in HTML e basta.

Di questo però parlerò in un futuro articolo.

Buon divertimento con la vostra WordPress da corsa e alla prossima!

About the Author:

Leave A Comment