Comment rediriger ses visiteurs vers une page de maintenance avec une redirection php ?

Comment rediriger ses visiteurs vers une page de maintenance avec une redirection php ?

Vous ne connaissez peut-être pas la redirection php, pourtant elle peut vous rendre un sacré service! En effet, chaque webmaster est amené à fermer son site aux internautes, pour effectuer une maintenance ou un gros changement, en toute discrétion.

Comment bloquer toutes les visites sauf les siennes ? Comment laisser une porte d’entrée pour son client ?

Je vous présente ci-dessous une procédure en 2 étapes pour maîtriser la redirection temporaire en cas de maitenance.

En ce moment, je développe un site web pour une cave à bières qui ouvrira bientôt sur Marseille. Cette jeune cave à bières aux couleurs de la ville, tire son nom de la célèbre avenue de Marseille:La Cane Bière.

Évidemment, tant que le site n’est pas fini, je ne souhaite pas que les internautes puissent y accéder.

Vous avez probablement déjà rencontré ce besoin: quand vous devez faire une manipulation sur votre site (changement de thème, ajout d’une fonctionnalité, débuging…) dont vous ne voulez pas que vos visiteurs soient témoins.

Comment rediriger vos visiteurs sur une page ? Comment TOUS les rediriger SAUF vous ?

Filtrer les internautes avec une page d’attente

Cette redirection php enverra quiconque essaie d’accéder au site vers une page d’attente. Sur le site de La Cane Bière, la page d’attente présente un compteur (+lien), au design soigné. Sans faire aussi compliqué, vous pouvez simplement mettre une image avec un petit mot, comme sur la page d’attente de mon blog.

Techniquement, comment faire pour créer une page d’attente sur votre blog ?

Aller dans votre fichier index.php, situé à la racine du site. Toutes les requêtes passent par ce fichier, c’est donc l’endroit idéal pour placer un filtre.

Pour laisser passer votre ordinateur

Copiez-collez le code suivant (en début de fichier):

if ($_SERVER['REMOTE_ADDR'] != 'XX.XXX.XX.XXX'){
	// ici, vous mettrez le code pour rediriger vers la page d'attente
}

XX.XXX.XX.XXX est l’adresse IP de votre ordinateur. Si vous ne savez pas quelle est la vôtre, téléchargez mon guide gratuit « 36 outils gratuits pour votre site web » (vous pouvez vous désinscrire de la liste après avoir téléchargé le guide) où je vous dévoile comment la trouver.

Pour filtrer plusieurs ordinateurs.

Cette astuce est utile pour laisser une entrée à votre client, votre graphiste ou même pour autoriser vos multiples ordinateurs (au bureau, à la maison, chez votre copine…).

Utilisez cette syntaxe:

if (($_SERVER['REMOTE_ADDR'] != 'XX.XXX.XX.XXX')
	&&($_SERVER['REMOTE_ADDR'] != 'XX.XXX.XX.XXX')
		&&($_SERVER['REMOTE_ADDR'] != 'XX.XXX.XX.XXX')){

	// ici, vous mettrez le code pour rediriger vers la page d'attente
}
Pour être précis, une adresse IP définit non pas un ordinateur mais un accès internet. Votre IP change donc quand vous changez de réseau, même si vous utilisez le même ordinateur…

Mettre une redirection vers une page d’attente

Maintenant que le filtre est bien compris, intéressons-nous à la partie la plus importante: la redirection php. Copiez sous « // ici, vous mettrez le code pour rediriger vers la page d’attente », le code suivant:

	header("HTTP/1.0 302 Temporary redirect");
	header('Location: /maintenance.html');

La première ligne indique aux moteurs de recherche que la redirection est temporaire. Cette page continuera donc à être scannée par les moteurs de recherche pour vérifier si la redirection a été modifiée.

N’utilisez jamais de redirection 301 (Permanente) pour une page de maintenance. Vous risqueriez que les moteurs de recherche ne passent plus jamais, et affichent directement la page de maintenance (même après avoir enlevé la redirection) !

La deuxième ligne redirige vers la page adéquate.

Le code final pour rediriger vos visiteurs vers la page maintenance

Voici au final le code que vous devriez avoir:

if ($_SERVER['REMOTE_ADDR'] != 'XX.XXX.XX.XXX'){
	header("HTTP/1.0 302 Temporary redirect");
	header('Location: /maintenance.html');
}
Pour reproduire cet exemple, n’oubliez pas de placer maintenance.html à la racine de votre site.

Comment faites-vous quand vous devez agir en toute discrétion sur votre site ?

créer une page de maintenance pour mon site, PHP, tutoriel, webmaster

A propos de MarieEve Louvel

Depuis 3 ans, je partage mes connaissances sur ce blog, pour les entrepreneurs désireux de créer leur site vitrine et/ou leur blog professionnel avec WordPress. Mon expérience professionnelle va de l'accompagnement à la formation, en passant par de la création de site ou de logiciel. Retrouvez mes cours en ligne sur mon site FeelWeb Formation [http://feelwebformation.com]

17 commentaires

  1. Bonjour Marie-Eve,

    Je débute entièrement dans le webmastering, aussi chacun de ces protocoles me demande-t-il une véritable étude.

    C’est une partie bien passionnante. Je vais tenter d’appliquer.

    Merci de la précision de l’exposé.

    Bien amicalement,

    Carole

    Répondre
    • Bonjour Carole,
      Bienvenue par ici :) J’espère que tu trouveras une aide appropriée à travers mes articles.

      Répondre
  2. pas mal du tout 😉
    mais serait-il possible de faire la même chose vie un .htaccess à la racine du site ?

    Répondre
    • Je pense que c’est possible en effet. Pour la redirection 301, la commande est « Redirect Permanent » je crois, donc pour la 302, ça doit être « Redirect Temporary »… à vérifier 😉

      Répondre
  3. Bonjour Meve,

    Une autre solution qui ne demande pas toutes ces manipulations pour le même résultat c’est d’installer le plugin « Maintenance Mode »

    Tu peux choisir le message qui sera affiché sur la page pour les visiteurs avec un chrono éventuellement, et toi tu pourras par contre visiter le site pour y travailler.

    Une fois les travaux fini, tu décoches la case et le site est de nouveau visible

    Il existe aussi d’autres plugins que je n’ai pas testé
    http://wordpress.org/extend/plugins/wp-maintenance-mode/
    http://wordpress.org/extend/plugins/ultimate-maintenance-mode/

    Bonne journée
    Patrick

    Répondre
    • Bonjour Patrick,
      Je me doutais bien que des plugins devaient exister. Celui que tu décris à l’air pas mal du tout! :)

      Merci d’avoir partagé ton expérience avec nous. A bientôt

      Répondre
  4. Bonjour Marie-ève,

    Il y a une différence entre les redirections 301 & 302:

    1° Redirection 301: Redirection permanente, les moteurs vont désindexé ta page et réindexé la nouvelle URL (Réduction permanente de l’ancienne adresse de mon site vers sa nouvellle adresse)

    2° Redirection 302: Redirection temporaire, les moteurs de recherche garderont ta page et afficheront la redirection (Réduction temporaire de ma page d’accueil ver une page d’accueil provisoire)

    Voilà pour mieux comprendre les redirections 301 et 302

    Réal

    Répondre
  5. Salut Marie Eve!

    Je viens de découvrir le plugin Private WordPress.

    Ce n’est pas une page de maintenance mais il permet de bloquer l’accès des visiteurs pendant qu’on travaille ses changements.

    On peut personnaliser aussi le message affiché lorsque les internautes veulent y accéder.

    Avant l’utilisation du plugin, il faut juste désactiver si on l’utilise, le plugin WP Super Cache.

    Répondre
  6. Bonjour Marie-Eve,
    Je connaissais la redirection php et ma question n’y a pas trait.
    Par contre, dans le paragraphe consacré à la Cane Bière, je vois par deux fois le lien vers ce site agrémenté de la petite icône (Ce lien s’ouvre dans un nouvel onglet). Je n’ai trouvé ni dans le code source de la page, ni dans les fichiers css, la méthode d’affichage de cette icône. Quelle est-elle ?
    Merci d’avance et bravo pour ce site.
    Philippe

    Répondre
  7. Bonjour, c’est encore moi…
    En fait j’ai trouvé la solution sur votre site ! Si j’avais bien cherché avant, je n’aurais pas posté le précédent message….
    Merci
    Philippe

    Répondre
    • C’est pas grave, ça servira pour d’autres !

      Répondre
  8. Bonjour, je trouve cette astuce très bénéfique. Cependant, pour ma part, j’utilise la plateforme BLOGGER pour mon blog.
    Ma question est la suivante: ce code peut-il être adapté à Blogger?

    Cordialement

    Répondre
    • Bonjour,

      Oui il peut tout à fait être utilisé sur Blogger, à partir du moment où tu as accès en écriture au 1er fichier chargé par le CMS (index.php dans le cas de WordPress).

      Répondre
  9. Salut,
    Bonne idée à ceci près qu’il faut stopper un moment le script PHP sinon il n’y aura aucun effet, le script continuera à s’exécuter et donc à afficher les pages de WP…
    Pour finir pas besoin du premier header précisant l’entête 302, « Location: » le fait déjà ( la page de la doc).

    Bonne journée !

    Répondre
  10. Bonjour MarieEve,
    ton tuto est super mais un problème se pose à moi, le voici:
    j’aimerais, sur ma landing page, mettre un formulaire de capture qui, une fois remplis, renvoie à une page de remerciement. hors, avec ta méthode, toutes mes pages seraient automatiquement redirigées vers ma landing page.

    connaitrais-tu une méthode pour faire une exception?

    d’avance un tout grand merci!

    Répondre

Trackbacks/Pingbacks

  1. Les 10 étapes détaillées pour déplacer votre site Wordpress - Les Doigts dans le Net - […] tout est ok, vous pouvez supprimer le site de l’endroit A, et éventuellement, supprimer la redirection « Site en maintenance »…
  2. Fermer votre site aux visiteurs avec ce plugin pour WordPress [VIDEO] - Les Doigts dans le Net - […] aux visiteurs est parfois essentiel et doit pouvoir se faire rapidement. Jusque là, vous saviez comment le faire à…
  3. Tutoriels WordPress - Wordpress | Pearltrees - […] : Tutos, Plugins & Astuces. Formation Wordpress : Introduction. Comment rediriger ses visiteurs vers une page de maintenance via…

Soumettre un commentaire

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

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg

EmailEmail
PrintPrint