web-dev-qa-db-fra.com

301 redirection pour un article spécifique dans Blogger blog?

Comment puis-je implémenter la redirection 301 pour des publications spécifiques de Blogger (pas toutes)?

4
Brij

Une nouvelle option vient de s'ouvrir dans "Paramètres› Préférences de recherche "dans l'interface de Blogger:

Détaillé ici , il ressemble à:

enter image description here

Mises en garde

  • Ne semble pas autoriser la redirection en dehors du domaine
  • Pas clair ce que le mécanisme de redirection est dans un sens HTTP (bien qu'il devrait être facile à trouver)

Mise à jour: Il semble que vous puissiez maintenant spécifier une redirection "permanente" et j'ai mis à jour l'image pour la montrer.

5
el2iot2

Je suis sûr que ça ne peut pas être fait. Votre seule option serait une redirection JavaScript pouvant contenir du texte tel que:

L'URL de ce message a été remplacé par http://example.com/post12 . Veuillez mettre à jour votre signet. Vous serez redirigé vers cette page dans 10 secondes.

J'ai même vu des sociétés comme Microsoft utiliser ce type de pages.

Mise à jour: Je viens de rencontrer un exemple de Apple using ne page comme celle-ci .

2
Senseful

Selon la rumeur, certains moteurs de recherche, y compris Google, traiteront une "actualisation méta" de la même manière que la redirection 301, si le délai d'actualisation spécifié est court. Une méta-actualisation peut être implémentée en en dernier recours quand aucun autre option de redirection n'est disponible.

Une méta-actualisation ressemble à ceci:

<meta content='0;url=http://newblog.blogspot.com/post.html' http-equiv='refresh'/>

Pour que les moteurs de recherche tiennent compte de cette balise méta,

  1. cette balise doit aller à l'intérieur de la section <head>
  2. le délai devrait être petit, 0-5 secondes

Dans Blogger, vous pouvez modifier la section principale de votre blog via "Modèles> Modifier le code HTML". Blogger offre également la possibilité de créer des scripts côté serveur. Ainsi, vous pouvez injecter la méta-actualisation dans la section head de votre blog, CONDITIONNELLEMENT, par exemple. uniquement lorsque l'URL de la page est http://oldblog.blogspot.com/post.html.

This post vous montre comment injecter une balise de titre personnalisée en vérifiant la valeur d'une variable de blogueur appelée data:blog.pageName. De même, vous pouvez injecter une balise méta personnalisée en vérifiant l'URL de la page demandée à l'aide de la conditionnelle Blogger b:if et de la variable de modèle Blogger data:blog.url:

<b:if cond='data:blog.url == &quot;http://oldblog.blogspot.com/post.html&quot;'>
<meta content='0;url=http://newblog.blogspot.com/post.html' http-equiv='refresh'/>
</b:if>

La référence complète des variables de modèle Blogger est disponible ici .

Modifier:

J'ai appliqué cela sur mon blog et cela a fonctionné en fait. Les outils pour les webmasters de Google contiennent des liens vers mon ancien blog dans la section "Liens vers votre site" de mon nouveau blog.

2
Salman A

Réponse complète

(D'après un article de Khusnul Khotimah , auquel j'ai ajouté mes propres observations)

Supposons que vous ayez un blog avec trois publications aux adresses OldPostURL-A, OldPostURL-B et OldPostURL-C, que vous souhaitez rediriger vers NewPostURL-A, NewPostURL-B et NewPostURL-C, respectivement, avec un délai de 2 secondes. Ensuite, vous devez insérer le code suivant dans votre modèle immédiatement après la balise <head>:

<b:if cond='data:blog.url == "OldPostURL-A"'>
<meta http-equiv="refresh" content="2; url=NewPostURL-A" />
</b:if>

<b:if cond='data:blog.url == "OldPostURL-B"'>
<meta http-equiv="refresh" content="2; url=NewPostURL-B" />
</b:if>

<b:if cond='data:blog.url == "OldPostURL-C"'>
<meta http-equiv="refresh" content="2; url=NewPostURL-C" />
</b:if>

Les nouvelles URL peuvent être à l'intérieur ou à l'extérieur de votre blog.

NB: Ceci fonctionne si le blog de que vous redirigez utilise " layouts ", mais pas s’il utilise les anciens modèles" classiques ". Il semble que Blogger "classique" ne comprenne pas la balise "b: if" et l'ignore donc, de sorte que "cond" est toujours traité comme vrai. Par conséquent, si vous essayez d'utiliser une série de redirections conditionnelles dans un modèle "classique", l'URL indiquée dans la dernière dernière redirection s'appliquera, et toutes les pages de votre blog seront redirigées vers cette URL (oups!). Vous pouvez modifier ce comportement en exploitant le fait que Blogger "classique" respecte la balise <ItemPage> du <head>. Mais cela ne résout pas le problème si vous avez plus d'une page d'élément à rediriger; vous devez "mettre à niveau" le modèle en "mise en page".

Oui, le code de redirection doit vraiment être inséré immédiatement après la balise <head>. N'importe quel autre code entre les deux peut empêcher le code de redirection de fonctionner - même si vous pensez avoir vérifié que le code de redirection ne figure pas dans un commentaire!

J'ai utilisé cette astuce (avec un délai d'une seconde) pour les messages redirigés à ce vieux blog (si un message a été déplacé, cliquer sur son titre lance la redirection automatique).

1
Gavin R. Putland

Je ne pense pas que Blogger propose une fonctionnalité simple pour ce faire. Toutefois, si votre blog utilisant Blogger se trouve sur un domaine personnalisé (PAS quelque chose.blogspot.com), il existe un moyen indirect de le faire (avertissement: très expérimental. Peut-être correct en théorie , mais n'a pas été essayé en pratique)

  1. Configurez un serveur Web sur lequel vous avez un contrôle adéquat sur sa configuration.
  2. Modifiez les paramètres DNS du domaine du client pour qu'il pointe vers l'adresse IP sur laquelle votre serveur Web écoute.
  3. Configurez un proxy inverse entre votre adresse IP et les adresses IP fournies par Google pour les blogs Blogger. Maintenant, tout le trafic de votre blog sera traité par proxy sur un serveur Web sous votre contrôle
  4. Modifiez la configuration de votre serveur Web pour effectuer une redirection 301 pour certaines URL, selon les besoins.
0
user8445