J'ai un certain nombre de pages sur mon site Web auxquelles seuls les administrateurs peuvent accéder et l'accès à ces pages est donné si une valeur de chaîne de requête est trouvée et correctement définie. Par exemple:
http://www.mydomain.com/show-daily-statistics?key=abc
Le lien ci-dessus affichera le contenu de la page, mais rien d'autre tel que ci-dessous ne le fera:
http://www.mydomain.com/show-daily-statistics
Maintenant, je réfléchissais à ce qu'il fallait faire si les moteurs de recherche et / ou les utilisateurs non administrateurs atterrissaient d'une manière ou d'une autre sur ces pages cachées.
Je peux bien sûr changer le code d'état de la page en 404 ou bien rediriger 301 vers:
http://www.mydomain.com/404-error
Quelle est la meilleure solution en ce qui concerne Google et le référencement?
301-redirect
404
WPRookie82
la source
la source
Réponses:
Le code correct serait 401 Non autorisé
Selon les spécifications HTTP
10.4.2 401 non autorisé
Ou bien
10.4.4 403 Interdit
Ces deux éléments sont sémantiquement plus corrects que
404
. La ressource existe donc404
n'est pas correcte.401
devrait être correct, mais vous n'avez pas besoin d'authentification. La sécurité par l'obscurité n'est pas la sécurité.403
est également correcte car la demande est comprise, la ressource existe, elle refuse simplement de répondre à la demande.404
est approprié si vous ne voulez pas révéler pourquoi cela403
se produit.Dans tous les cas, les
301
redirections ne sont pas appropriées, la ressource n'a pas bougé.la source
Puisqu'il s'agit d'une page pour les administrateurs, avec ou sans le paramètre "clé", les pages ne peuvent et ne doivent pas être indexées. Par conséquent, la page Web pour les non-administrateurs peut envoyer un code d'état 404 et vous pouvez laisser la même URL intacte. Ne redirigez pas, car vous dites à Google que la page a été déplacée, mais ensuite vers une page qui n'existe pas.
C'est également ainsi que Google procède. Découvrez ce qui se passe lorsque vous accédez à une page factice: http://www.google.com/analytics/asdsas
la source
http://www.example.com/404-error
existe, c'est une sorte de page 404 globale de tout le site Web, donc je ne me redirige pas vers une page non existante.Le code de réponse HTTP sémantiquement correct pour cette situation serait 403 Interdit :
(Bien que la définition de la 403 réponse indique que « l' autorisation ne sera pas utile », l' OMI cela devrait être comprise comme faisant référence spécifiquement à l' authentification HTTP de base / Digest , pour lesquels le code d'état 401 non autorisé doit être utilisé à la place. Puisque vous ne l' aide l'une de ces méthodes d'authentification, 403 est le code d'état approprié dans votre cas.)
Cependant, en utilisant un code d'état 403 révèle (ou au moins implique fortement) le fait qu'il y est une page avec cette URL, même si le serveur refuse de le livrer. Comme c'est quelque chose que vous voudrez peut-être cacher aux intrus potentiels, la norme HTTP / 1.1 autorise explicitement le code d'état 404 Not Found à retourner à la place (c'est moi qui souligne ):
Bien sûr, pour que cette dissimulation soit efficace, la page d'erreur 404 que vous renvoyez doit apparaître identique à celle que vous renvoyez pour les pages inexistantes réelles . Sinon, cela ne fera que tromper les attaquants les plus stupides et les plus occasionnels. (Si votre objectif est simplement de garder les pages hors de l'index de Google, une réponse 403 le fera tout aussi bien.)
Qu'en est-il des autres réponses possibles suggérées dans votre question et des autres réponses?
Comme je l'ai indiqué précédemment, je ne pense pas qu'une réponse 401 soit appropriée ici. Il peut fonctionner dans la pratique, dans la mesure où la plupart des navigateurs et des moteurs de recherche traitera tout 4 malformé ou non reconnu xx code de réponse de la série comme si elle était un 404, mais il est toujours pas valide selon la spécification HTTP, et il n'y a aucune raison pratique de préférer plus de 403 ou 404.
Quant à l'utilisation d'une redirection 301 (ou 302) vers une page "404 error" distincte, c'est une pratique affreuse répandue par des didacticiels bâclés mod_rewrite, et n'a absolument aucune fonctionnalité de rachat par rapport au retour direct d'une réponse 404:
C'est déroutant pour les visiteurs, car l'URL qu'ils essayaient de visiter est remplacée par l'URL de la page d'erreur. Ainsi, ils voient un message indiquant qu'ils ont atteint une page inexistante, mais aucune indication facilement visible de ce qu'était la page qu'ils essayaient de visiter, et ne peuvent donc pas facilement essayer de stratégies de récupération comme la correction de fautes de frappe évidentes dans l'URL, ou copiez-collez-le dans Google ou dans Wayback Machine.
Cela peut confondre les moteurs de recherche, surtout si votre page 404 est interdite dans robots.txt , ou si elle renvoie de manière incorrecte une réponse 200 OK au lieu d'un véritable code d'état 404 ( "soft 404" ), ce qui pourrait faire apparaître votre page 404 dans la recherche résultats pour des termes de recherche aléatoires.
Il provoque (une petite quantité) de charge supplémentaire sur vos serveurs, augmente le temps de réponse aux visiteurs et ralentit potentiellement les moteurs de recherche explorant votre site, car chaque demande de page inexistante (ou cachée) implique désormais une ronde HTTP supplémentaire- voyage.
Il n'a aucun avantage SEO, car tout "jus de lien" des pages redirigées vers une page 404 est de toute façon perdu.
(Bien sûr, une situation où vous ne souhaitez utiliser une redirection 301 au lieu d'une réponse 404 est lorsque la page en fait est déplacé, et vous pouvez rediriger le visiteur vers son emplacement correct. Mais ce n'est pas le cas discuté ici.)
Enfin, je voudrais faire écho au sentiment, exprimé dans de nombreux commentaires ici, que le simple fait de "masquer" vos pages d'administration comme celle-ci n'est pas un substitut adéquat à une authentification par mot de passe appropriée . Cela dit, si vous disposez déjà d'un système d'authentification sécurisé, masquer les pages peut être utile en tant que couche supplémentaire, quoique assez faible, dans une approche de défense en profondeur .
la source
J'utiliserais une
noindex,nofollow,noarchive
balise en tête des pages que vous souhaitez retirer de la recherche.J'ai trouvé que la
noarchive
balise a tendance à sortir les choses de la recherche assez rapidement, alors que celanoindex
peut l'empêcher de se lancer dans la recherche, mais si elle est déjà là, alors vous devez la vider des résultats de recherche.En ce qui concerne la question de l'accès administrateur, les autres gars ici ont déjà donné quelques conseils sur la sécurité que je recommanderais de vérifier.
la source