Comment dites-vous aux moteurs de recherche de ne pas indexer cette page pour l'instant, mais peut-être à l'avenir?

8

La société pour laquelle je travaille dispose d'un système de gestion de contenu qui crée automatiquement des pages pour certains contenus.

Par exemple, il y a une page dans notre système qui a la capacité de vous montrer des informations sur n'importe quel compositeur dans notre base de données, en fonction des paramètres d'entrée et des informations que nous avons sur eux. Cependant, de temps en temps, il y a un compositeur qui n'a aucune information, donc la page rend une page vierge. Comment pouvons-nous dire à Google de ne pas indexer la page à ce moment, mais peut-être dans le futur?

Parce que le contenu est généré automatiquement, nous ne pouvons pas simplement empêcher les pages d'être visibles, car les informations sur ce compositeur peuvent apparaître à tout moment.

Éditer

Veuillez noter que notre système CMS qui fait la récupération est sérieusement compliqué et profond. La partie contenu de la page renverra une sorte de données, donc exécuter un empty($content) ? xx : yytel que suggéré n'a pas été une solution miracle. Si un compositeur n'existe pas, le système n'aura pas de page pour ce compositeur, si le compositeur existe, le système existera. Lorsque la page de ce compositeur est rendue, le système recherche chaque type se référant à des compositeurs, tels que des œuvres, pour créer une page dynamique.

Luke Madhanga
la source
2
Qu'entendez-vous exactement par «page blanche»? Voulez-vous dire littéralement qu'aucun HTML n'est envoyé? Ou vous avez la conception de base de la «coque» mais sans contenu?
DisgruntledGoat

Réponses:

13

S'il n'y a pas de contenu pour un compositeur particulier, utilisez la balise meta:

<meta name="robots" content="noindex, follow">

Dès que du contenu est ajouté et que la balise Meta est supprimée, Google l'indexera.

Exemple:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>
Wexford
la source
1
FWIW "suivre" est le comportement par défaut, vous pouvez le supprimer si vous le souhaitez (cela ne pose aucun problème, et peut-être qu'il est plus destiné aux humains qui le lisent, vous pouvez donc le laisser aussi).
John Mueller
4

Si les pages "manquantes" ne contiennent en effet aucune information réelle, mais sont simplement des espaces réservés pour "il peut y avoir une page ici à l'avenir", alors je recommanderais de configurer votre serveur Web pour renvoyer le code d'état 404 Not Found pour eux.

Les navigateurs afficheront toujours ces pages à l'utilisateur, tout comme ils affichent les pages d'erreur 404 normales (au moins tant qu'elles sont suffisamment longues ), mais les moteurs de recherche traiteront simplement la page comme si elle n'existait pas du tout.

C'est la méthode utilisée par exemple par Wikipedia pour les pages inexistantes comme celle-ci . Un de ses avantages (en plus d'être sans doute sémantiquement correct) est qu'il garantit que les moteurs de recherche traiteront ces pages exactement de la même manière qu'ils traitent normalement les pages manquantes qui renvoient un code d'état 404.

Un inconvénient potentiel est que, si vous avez des liens vers des pages qui renvoient un code d'état 404, ils s'afficheront comme des "erreurs 404", par exemple dans les outils pour les webmasters de Google. Cependant, c'est tout à fait normal et ce n'est pas quelque chose à craindre .


Pour aider davantage les moteurs de recherche à découvrir vos nouvelles pages, lorsqu'elles obtiennent du contenu réel et cessent de renvoyer des 404, vous devez également maintenir un plan du site XML régulièrement mis à jour répertoriant toutes les pages de votre site qui contiennent du contenu. Cela permet à Google et aux autres moteurs de recherche de découvrir de nouvelles pages directement via le plan du site, au lieu d'avoir à les parcourir de manière aléatoire lors de la nouvelle exploration de votre site.

Ps. Voir aussi: Pas de page d'indexation qui n'a pas de contenu pertinent?

Ilmari Karonen
la source
Karenon, renvoyer un 404 équivaut à ne rien faire, c'est le comportement normal d'un serveur Web; L'exemple de Wikipedia n'est qu'une page 404 personnalisée.
Binarysurf
1
@Binarysurf: Selon l'OP, ils utilisent un script personnalisé pour servir du contenu dynamique pour des "pages virtuelles" construites à partir d'informations stockées dans une base de données (tout comme Wikipédia, SE et la plupart des principaux sites Web le font de nos jours). Cela signifie que le "comportement normal du serveur Web" ne s'applique pas - en ce qui concerne le serveur Web (Apache, IIS, nginx, etc.), le script de génération de contenu existe et s'exécute, il est donc par défaut " 200 OK ", à moins que le script ne le dise autrement. Je suggère simplement que l'OP fasse en sorte que leur script envoie une réponse 404, s'il n'y a pas de contenu réel à afficher.
Ilmari Karonen
il existe un script personnalisé récupérant les données du compositeur de la base de données, que se passe-t-il si le nom de quelqu'un n'y figure pas? en utilisant la logique, le script n'obtiendra aucun enregistrement de la base de données, que devrait-il faire? il enverra peut-être alors 404 introuvable. Si le script a trouvé quelque chose, peut-être juste des métadonnées (il est son nom) et aucune autre donnée, il enverra 200 et une page avec du contenu vide. Même s'il a un script personnalisé, il suivra le comportement du serveur Web par défaut?, Ou répondra-t-il 200 pour chaque demande? Il apparaîtra comme du spam sans aucun contenu spécifique.
Binarysurf
Une fois que vous exécutez un script, le script est responsable de l'envoi du code d'état et le code correct à envoyer lorsqu'une requête n'a aucun résultat est 404.
Wossname
1

Je construirais personnellement un message dans le système qui ferait savoir à l'utilisateur que, bien que sa demande soit terminée, aucun compositeur n'a été trouvé pour les paramètres donnés. Cela empêchera l'utilisateur de penser que la page / le lien est "cassé".

chaoskreator
la source
1

Si la page n'a pas de contenu, votre système CMS ne doit pas y être lié. Les liens vers des pages vierges sont mauvais pour les utilisateurs et les moteurs de recherche.

J'aime la suggestion de Wayne Whitty sur la façon de mettre la balise META sur la page du compositeur lui-même. Vous devriez trouver un moyen de faire quelque chose de similaire à l'endroit où vous listez tous les compositeurs et les liez à eux:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

Si vous faites cela, les moteurs de recherche ne trouveront plus les pages vierges pour commencer.

Stephen Ostermiller
la source
1
... c'est-à-dire, à moins qu'il y ait quelque chose de significatif que les utilisateurs puissent faire même avec une page "vierge", comme leur fournir des informations. (Même dans ce cas, il peut être préférable de ne pas créer de lien direct vers la page vierge, mais vers une URL différente qui indique l'absence (possible) de données. Notez que vous devrez traiter le cas de bord où un utilisateur suit un tel lien après la création de la page; voir par exemple comment Wikipedia le fait .)
Ilmari Karonen