2009-10-23 3 views
1

En naviguant au hasard sur mon site via Google, j'ai remarqué qu'il affichait des redirections distantes en tant que fichiers locaux. Maintenant, cela peut être à la fois bon et mauvais, mais je me demande comment puis-je résoudre ce problème afin que cela n'arrive pas?Quel statut de redirection HTTP dois-je utiliser pour lier hors site?

Je suis actuellement en utilisant PHP et header('Location: ... qui envoie une redirection 302. En regardant par-dessus la liste de HTTP status codes, je devinerais que je devrais utiliser des redirections 303 pour rediriger hors site. Est-ce que quelqu'un est capable de m'aider ici, et soit confirmer/nier cela, ou me dire ce que je devrais faire à la place?

Il est évident que, en raison de moi de ne pas être en mesure de dire Google réindexer mon site sur commande, il y a des problèmes avec pouvoir tester moi-même ...

Répondre

1

Le 303 status code est destiné à être utilisé en réponse d'une requête POST pour rediriger vers une ressource différente:

Cette méthode existe principalement pour permettre à la sortie d'un script activé par POST de rediriger l'agent utilisateur vers une ressource sélectionnée.

Dans votre cas, vous devez utiliser le 301 status code pour une redirection permanente:

La ressource demandée a été attribué une nouvelle URI permanente, toute référence ultérieure à cette ressource doit utiliser l'un des URIs retournées.

ou vous utilisez une redirection temporaire (302/307) et dire aux moteurs de recherche de ne pas indexer que les documents.

+0

Y at-il un moyen de lui dire qu'il ne devrait pas indexer une page particulière, mais devrait continuer à indexer d'autres pages liées à partir de cette page? Le fichier robots.txt l'empêcherait de l'indexer, mais il l'empêcherait également d'accéder à la page et ne suivrait donc pas le lien. –

+0

@Matthew Scharley: Essayez un '' dans la tête du document. – Gumbo

1
Note: Many pre-HTTP/1.1 user agents do not understand the 303 
status. When interoperability with such clients is a concern, the 
302 status code may be used instead, since most user agents react 
to a 302 response as described here for 303. 

Je ne sais pas ce que pré-HTTP /1.1 les agents utilisateurs sont là, donc ... Selon ce que vous allez faire, j'utiliserais 301 (permanent) ou 307 (temporaire). 301 indiquera à Google de se comporter comme si vous étiez lié directement au site redirigé.

303 semble être destiné à la redirection après la soumission de formulaires, en particulier.

modifier:

si votre question est « Quelle redirection HTTP état dois-je utiliser pour hors site lien » - Que diriez-vous de lier hors site directement? (Que je suppose ne fonctionne pas si vous utilisez un formulaire pour faire la liaison, dans ce cas, vous souhaitez utiliser le code 303 d'état)

+0

Le lien passe par un compteur de clic, qui redirige ensuite hors site. –

Questions connexes