Blog

Comment mettre la page d’accueil en accès libre, mais faire en sorte que toutes les autres pages soient en accès privé sous WordPress ?
Wordpress

Comment mettre la page d’accueil en accès libre, mais faire en sorte que toutes les autres pages soient en accès privé sous WordPress ?

Si votre site est en construction ou bien en maintenance, il est essentiel de prévenir les visiteurs. De cette manière, vous pouvez leur laisser un accès à la page d’accueil basique ou bien à une page d’attente, sans qu’ils n’aient accès à l’ensemble du site.

Dans quel contexte ?

  • Lorsque votre site est en construction et qu’il n’a pas encore été publié officiellement

Vous pouvez ajouter vos contenus au fur et à mesure, sans craindre que l’image de votre site et de votre marque soient impactées. Votre site sera donc “désactivé” et seules les personnes ayant un accès à l’admin pourront intervenir dessus.

  • Si vous effectuez des modifications sur votre site

Dans ce cas, il faudra informer les visiteurs que votre site est en maintenance et qu’ils pourront avoir accès à l’ensemble des informations ultérieurement. Pendant ce temps, actualisez vos contenus en toute sérénité.

  • Lorsque vous souhaitez mettre à jour des éléments importants

Avant de lancer une mise à jour qui pourrait chambouler l’apparence de votre site (mise à jour d’une extension, d’un thème ou bien même de WordPress), il est essentiel de préparer une page d’atterrissage pour vos visiteurs et de protéger vos contenus.

Première solution : coming soon plugin

 

Afin d’informer les visiteurs de votre site que votre site est en construction ou en modification, la première solution est d’installer un plugin coming soon.

Un grand nombre de plugin existe sur WordPress pour paramétrer une page d’atterrissage et permettre ainsi d’offrir un accès libre à votre page d’accueil uniquement, en cachant la navigation vers les autres pages de contenus de votre site.

Souvent, la page d’attente est personnalisable, mais parfois pas autant que l’on souhaiterait.

coming-soon-plugin
php-coming-soon

Deuxième solution : modifier le functions.php du thème

 

Vous pouvez également insérer le bout de code suivant dans le fichier functions.php du thème enfant (child theme) :

/* Mode coming soon */

// Redirect users who arent logged in...
function members_only() {
    global $pagenow;
    // Check to see if user in not logged in and not on the login page
    if( !is_user_logged_in() && ($pagenow != 'wp-login.php'))
//wp_redirect('/', 301 );
	if(is_front_page())
	{
/* special action for the frontpage */
	}
	else{
/* choice between redirection to login */
		//auth_redirect();
/* and 404 error */
			global $wp_query;
  $wp_query->set_404();
  status_header( 404 );
  get_template_part( 404 ); exit();
	}

		
	
}
add_action( 'wp', 'members_only' ); 

Cela vous permet plus de flexibilité : faut-il rediriger vers une erreur 404 ? Vers la page de login ?

Nous appeler
Y venir