Redirigez les visiteurs lors de la première visite

Rediriger les visiteurs de son site avec les cookies : Tuto PHP et Wordpress

Une fonction pour rediriger vos premiers visiteurs sur une page d’attente, seulement sur mobile.

Aujourd’hui un peu de technique. Récemment, j’ai eu à mettre en place un système permettant de rediriger les visiteurs d’un site web sur une page spécifique lors de leur première visite.

La fonction PHP pour créer un cookie

Le code suivant est à rajouter à functions.php sur WordPress :

function is_first_time()
{
    $cookiename = '_cm_first_time';
    if (isset($_COOKIE[$cookiename])) {
        return false;
    }
    $domain = COOKIE_DOMAIN ? COOKIE_DOMAIN : $_SERVER['HTTP_HOST'];
    setcookie($cookiename, true, time() + 120, '/', $domain); // 2 minutes
    return true;
}

Vous noterez que cookie est ici nommé « _cm_first_time », mais vous pouvez modifier le nom du cookie comme vous le souhaitez.

Rediriger vers la page selon certaines conditions

Dans le code suivant, 2 points sont pris en compte :
1 – Le type de matériel utilisé (le device) par le visiteur de votre site. Ici on récupère le type de smartphone ou de tablette utilisé grâce au HTTP USER AGENT qui est une fonction PHP
2 – On vérifie si le cookie est présent chez sur le device du visiteur. Si il n’existe pas il sera crée.
3 – Puis la redirection vers la page d’attente ou sinon la page normale.

Ce bout de code est à rajouter sur toutes les pages de votre site par défaut. Sur wordpress il vous suffit de le l’ajouter dans votre fichier header.php.

// Détecter les mobiles devices
$iPod    = stripos($_SERVER['HTTP_USER_AGENT'],"iPod");
$iPhone  = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$iPad    = stripos($_SERVER['HTTP_USER_AGENT'],"iPad");
$Android = stripos($_SERVER['HTTP_USER_AGENT'],"Android");
$webOS   = stripos($_SERVER['HTTP_USER_AGENT'],"webOS");

$welcome_page   = get_permalink( get_page_by_path( 'bienvenue-continuer' ));
$referrer       = $_SERVER['HTTP_REFERER'];

    if( ($iPod || $iPhone || $iPad || $Android) /*|| (is_user_logged_in())*/ ){ 
        if (is_first_time()) {
            header("location:". $welcome_page);exit();
        }
    }

Plus d’explications sur ce code de redirection PHP :
1 – En premier lieu, on récupère le terminal utilisé (Smartphone ou tablette).
2 – Si c’est un terminal mobile, alors on vérifie si le cookie existe.
3 – Si le cookie n’existe pas, on redirige le visiteur vers la page d’attente, sinon il est redirigé vers la page normale.

Notez que la page d’attente est récupérée via le « slug » (Le permalink), c’est à dire l’adresse de la page dans le navigateur juste après le nom de domaine, grâce à la fonction get_page_by_path* de WordPress.

Voilà! Vous pouvez maintenant inviter les gens à s’inscrire à une newsletter, lire des conditions d’utilisation ou tout simplement une page d’inscription. Il y à de nombreuses utilisations possibles. A vous de jouer ;)

Pour la petite histoire, la page d’attente incite à télécharger une application lorsque l’on arrive sur le site, tout en donnant le choix de continuer sur le site en version web. Ce code est appliqué un un site WordPress, mais vous pouvez facilement l’adapter pour n’importe quel CMS.

1- get_page_by_path de WordPress permet de récupérer l’ID d’un article grâce au slug

Vous aimez cet article ? Partagez-le sur
Twitter Facebook LinkedIn

Thomas Dufranne

Designer graphique / Web Designer Freelance. Spécialisé en WordPress

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *