WordPress – come reindirizzare sempre l’homepage ad una landing statica

Wordpress – Come Reindirizzare Sempre L’homepage Ad Una Landing Statica

Tutti i giorni ho modo di confrontarmi con i maggiori CMS in uso attualmente e devo cercare soluzioni che accontentino il cliente, ma anche non vadano a danneggiare quello che è stato fatto e in questo caso mi riferisco ai tracciamenti GA4 e per le campagne ADV.

Stavolta mi è stato chiesto di reindirizzare la prima visita di un sito ad una landing page già pronta, creata in una sottocartella, in php e completamente custom, quindi indipendente dalle regole di WordPress con cui era stato costruito il sito a suo tempo.

Per gestire i reindirizzamenti in WordPress e far sì che un utente alla sua prima visita venga reindirizzato alla landing page statica, puoi utilizzare i cookie o la sessione per tracciare se l’utente ha già visitato il sito.

Soluzione con Cookie (più affidabile)

Modifica il file functions.php del tema attivo e aggiungi questo codice:

function redirect_first_time_visitors() {
    if (!isset($_COOKIE['first_visit'])) {
        setcookie('first_visit', '1', time() + (365 * 24 * 60 * 60), "/"); // Scade dopo 1 anno
        wp_redirect('/landing/'); // Cambia con il percorso della tua landing page
        exit;
    }
}
add_action('template_redirect', 'redirect_first_time_visitors');

Come funziona?

✅ Controlla se esiste un cookie first_visit
✅ Se non esiste, lo imposta e reindirizza alla landing page
✅ Se esiste, l’utente può navigare normalmente nel sito

Reindirizzamento dalla Landing al Sito

Nella tua pagina landing.html, imposta un pulsante che riporti l’utente al sito principale:

<a href="/" class="btn">Entra nel sito</a>

Se vuoi cancellare il cookie quando l’utente entra nel sito, puoi farlo con JavaScript:

<a href="/" class="btn" onclick="document.cookie='first_visit=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'">Entra nel sito</a>

Altre Opzioni

Se il sito ha caching aggressivo, il metodo con i cookie potrebbe non funzionare subito. In quel caso, puoi usare sessioni PHP invece:

function start_session() {
    if (!session_id()) {
        session_start();
    }
}
add_action('init', 'start_session');

function redirect_first_time_visitors() {
    if (!isset($_SESSION['first_visit'])) {
        $_SESSION['first_visit'] = true;
        wp_redirect('/landing/');
        exit;
    }
}
add_action('template_redirect', 'redirect_first_time_visitors');

Redirezione della sola home del sito

Però questo script redirige l’intero sito alla prima visita e non solo la homepage.
Ecco lo script corretto che assicura che solo la homepage in italiano (/) e in inglese (/en/) rediriga alla landing page alla prima visita.

//Script aggiornato (functions.php)
function redirect_first_time_visitors() {
    // Controlla se il cookie esiste
	if (!isset($_COOKIE['first_visit']) && (is_front_page() || is_home())) {
        // Imposta il cookie per 1 anno
        setcookie('first_visit', '1', time() + (365 * 24 * 60 * 60), "/");
            wp_redirect('/landing/'); // Sostituisci con il percorso della tua landing page
            exit;
        }
    }
}
add_action('template_redirect', 'redirect_first_time_visitors');

Come Funziona?

✅ Controlla se l’utente ha già il cookie first_visit.
✅ Se non ce l’ha, lo imposta e controlla se si trova sulla homepage italiana (/) o inglese (/en/).
✅ Se è su una di queste due homepage, lo reindirizza alla landing.
✅ Se ha già il cookie, può navigare normalmente nel sito.

Redirect di ogni visita della home alla landing

Per questioni di cache, purtroppo non sempre lo script qui sopra funzionava bene. E il fatto che fosse settato il cookie non permetteva al cliente di aver il polso del reindirizzamento. Lo vedeva una volta e poi si chiedeva come mai non lo vedesse più. Quindi ho fatto in modo che ad ogni accesso alla homepage (anche se era seguente alla navigazione di pagine più profonde del sito) venisse rediretta la visita alla landing.

Ecco la versione aggiornata dello script nel functions.php con il wp_redirect() impostato con redirezione della home alla landing:

function redirect_first_time_visitors() {
    if ((is_front_page() || is_home()) && !isset($_GET["landing"])) {
		
		// URL di destinazione
		$redirect_url = '/landing/';
		
        wp_redirect($redirect_url,307);
        exit;
    }
}
add_action('template_redirect', 'redirect_first_time_visitors');

Come funziona?

✅ Controllo se la pagina in cui atterro è la home o esiste il parametro landing
✅ Se sono in home e non ho il parametro landing allora vengo rediretto alla landing

Va da sè che la landing deve contenere un link alla home del sito in questo modo:

<a href="/?landing=true" class="btn">Entra nel sito</a>

Redirect e query string

Come dicevo all’inizio, il cliente mi ha chiesto una cosa, ma non posso evitare di metterci del mio e capire che se redirigo tutte le visite della home alla landing molto probabilmente lato tracciamenti mi perdo qualcosa.
Effettuare un redirect secco nella home o in ogni pagina del sito comporta che per GA4 ogni visita proviene da diretto, perchè mi toglie tutti i parametri Gclid, UTM o Fbclid o qualsiasi altro parametro impostato nelle campagne di mail marketing, per dirne una.
E’ importante capire che è necessario portare i suddetti parametri anche alla landing, perchè anche nella landing deve essere installato GTM.

Soluzione aggiornata con il mantenimento di UTM e GCLID

function redirect_first_time_visitors() {
    if ((is_front_page() || is_home()) && !isset($_GET["landing"])) {
		// Prende i parametri UTM e GCLID
		$query_params = $_SERVER['QUERY_STRING'];
		
		// URL di destinazione
		$redirect_url = '/landing/';
		
		// Se ci sono parametri, li aggiunge all'URL
		if (!empty($query_params)) {
			$redirect_url .= '?' . $query_params;
		}
        wp_redirect($redirect_url,307);
        exit;
    }
}
add_action('template_redirect', 'redirect_first_time_visitors');

Come funziona?

✅ Legge i parametri UTM e GCLID dalla query string di $_SERVER[‘QUERY_STRING’]
✅ Li aggiunge alla URL della landing page per mantenerli nel reindirizzamento
✅ Esegue il redirect 307 senza perdere i dati originali

Esempio:

Se un utente arriva su:
👉 https://example.com/?utm_source=google&utm_medium=cpc&gclid=123ABC
verrà reindirizzato a:
👉 https://example.com/landing/?utm_source=google&utm_medium=cpc&gclid=123ABC

🔹 Funziona anche senza parametri: Se non ci sono UTM/GCLID, il redirect avviene normalmente verso /landing/ senza query string vuota.

Test & Debug

Se hai un plugin di caching attivo, potresti dover escludere la homepage dalla cache per garantire che il codice venga eseguito correttamente.

Richiedi informazioni

Raccontami il tuo progetto, tracking, accessibilità, campagne adv da sistemare o semplicemente un sito che non vuol saperne di funzionare. Insieme possiamo migliorarlo.

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Pubblicato su Google Google
    Flavio Corò profile picture
    Flavio Corò
    22/09/2023
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Ho avuto il piacere di contattare la Sig.ra Sara tramite suggerimento da parte di un mio cliente per riisolvere una pratica burocratica/lavorativa e devo dire che la VELOCITÀ, PROFESSIONALITÀ, e COMPETENZA fanno parte del Suo bagaglio lavorativo,qualita al giorno d'oggi per niente scontate.Pienamente soddisfatto.
    Pubblicato su Google Google
    Sonico Beauty profile picture
    Sonico Beauty
    17/01/2023
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Sara ci ha aiutato a risolvere piu' problemi in pochi minuti e con molta professionalità. Massima disponibilità e grande conoscenza nel mondo web. Assolutamente consigliata. Grazie mille
    Pubblicato su Google Google
    Studio Legale Avvocato Armando Baffioni Venturi profile picture
    Studio Legale Avvocato Armando Baffioni Venturi
    07/11/2022
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Contattata tramite il suo sito web si è rivelata una persona affabile e preparata, pronta nel recepire le mie necessità e nel darmi le indicazioni corrette da seguire. Assolutamente da consigliare anche per assistenze e consulenze da remoto.
    Pubblicato su Google Google
    Hermann Gils profile picture
    Hermann Gils
    28/10/2022
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Molto esperta, preparata e competente!
    Pubblicato su Google Google
    Antonio Cimadomo profile picture
    Antonio Cimadomo
    07/08/2022
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Definire La Sig.a Sara Gasparini persona capace, Umile, molto intelligente e disponibile è il minimo che si possa fare. E' stata una grande emozione per me averla 'scovata'. Persone come Sara alzano, e di tanto, il livello sociale/culturale. Ringrazio ancora Sara per esserci.... Antonio p.s. Peccato ci siano solo 5 stelle :-(
    Pubblicato su Google Google
    Max R_DJ profile picture
    Max R_DJ
    16/06/2021
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Molto professionale e preparata, ha risolto subito un mio problema inerente alle recensioni Google sul mio sito web. Complimenti Sara!
    Pubblicato su Google Google
    Fabrizio Aureli profile picture
    Fabrizio Aureli
    18/03/2021
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Ottima collaboratrice

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti usa il bottone qui sotto.

    Lascia una recensione su Google