Bloggerの特定の投稿(すべてではない)に301リダイレクトを実装するにはどうすればよいですか?
Bloggerインターフェースの[設定›検索設定]に新しいオプションが1つ追加されました。
詳細 ここ 、次のようになります。
注意事項
更新:「永続的な」リダイレクトを指定できるようになったようです。これを示すために画像を更新しました。
これができないと確信しています。あなたの唯一のオプションは、次のようなテキストを持つJavaScriptリダイレクトです。
この投稿のURLは http://example.com/post12 に変更されました。ブックマークを更新してください。 10秒後にこのページにリダイレクトされます。
マイクロソフトのような企業がこの種のページを利用しているのを見てきました。
更新:このようなページ を使用してAppleの例を見つけました。
Googleを含む一部の検索エンジンは、指定された更新遅延が短い場合、「メタ更新」を301リダイレクトと同じように処理すると噂されています。メタリフレッシュは、他に リダイレクトオプション が利用できない場合、最終手段として実装できます。
メタリフレッシュは次のようになります。
<meta content='0;url=http://newblog.blogspot.com/post.html' http-equiv='refresh'/>
検索エンジンがこのメタタグを考慮するために:
<head>
セクション内に配置する必要がありますBloggerでは、[テンプレート]> [HTMLの編集]を使用してブログのヘッドセクションを編集できます。 Bloggerでは、サーバー側のスクリプトを少し作成することもできます。したがって、ブログのヘッドセクションにメタリフレッシュを挿入することができます。ページURLがhttp://oldblog.blogspot.com/post.html
の場合のみ。
この投稿 は、data:blog.pageName
というブロガー変数の値を確認することにより、カスタムタイトルタグを挿入する方法を示しています。同様に、ブロガー条件付きb:if
およびブロガーテンプレート変数data:blog.url
を使用して、要求されたページのURLを確認することにより、カスタムメタタグを挿入できます。
<b:if cond='data:blog.url == "http://oldblog.blogspot.com/post.html"'>
<meta content='0;url=http://newblog.blogspot.com/post.html' http-equiv='refresh'/>
</b:if>
Bloggerテンプレート変数の完全なリファレンスは こちらから入手可能 です。
編集:
これを私のブログに適用しましたが、実際に機能しました。 Googleウェブマスターツールは、新しいブログの[サイトへのリンク]セクションで古いブログへのリンクを報告します。
( Khusnul Khotimahによる投稿 から、私自身の観察結果を追加しました)
OldPostURL-A
、OldPostURL-B
、およびOldPostURL-C
のアドレスに3つの投稿があるブログがあり、それぞれ2秒の遅延でNewPostURL-A
、NewPostURL-B
、およびNewPostURL-C
にリダイレクトするとします。次に、テンプレートに次のコードを挿入する必要があります<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>
新しいURLは、ブログ内でもブログ外でもかまいません。
NB:これは、リダイレクトするブログfromが「レイアウト」が、古い「クラシック」テンプレートを使用している場合はnot。 「クラシック」Bloggerは「b:if」タグを理解しないため無視し、「cond」はalwaystrueとして扱われます。したがって、「クラシック」テンプレートで一連の条件付きリダイレクトを使用しようとすると、lastリダイレクトで指定されたURLが適用され、allブログのページはそのURLにリダイレクトされます(おっと!)。 「クラシック」Bloggerが<ItemPage>
内の<head>
タグを尊重するという事実を活用することで、この動作を変更できます。ただし、リダイレクトするアイテムページが複数ある場合、問題は解決しません。テンプレートを「レイアウト」に「アップグレード」する必要があります。
はい。リダイレクトコードは、<head>
タグの直後にすぐに挿入する必要があります。間にある他のコードは、リダイレクトコードがコメント内にないことを確認したと思っている場合でも、リダイレクトコードが機能しないようにすることができます!
this old blog (投稿が移動された場合、タイトルをクリックすると自動リダイレクトが開始されます)のリダイレクトされた投稿に、このトリックを(1秒遅れで)使用しました。
これを行うためにBloggerが提供する簡単な機能はないと思います。ただし、Bloggerを使用したブログがカスタムドメイン(something.blogspot.comではない)にある場合、これを行う間接的な方法があります(注意:非常に実験的。理論的には正しいかもしれませんが、実際に試されました)