~ モバイル版(スマートフォン)の操作 ~
左右にスワイプすると、前後の投稿へ移動します。
← 前の投稿 | 次の投稿 →
日々のコンピュータ情報の集積と整理

Dr.ウーパのコンピュータ備忘録

2015年3月2日月曜日

Blogger:テンプレート:レイアウトデータタグ:data:blog.url の動作まとめ


スポンサーリンク

イントロダクション

Google のブログサービス「Blogger」では、テンプレートの HTML を変更することで、ブログのページすべての HTML 構造を変更することができます。

そして、その Blogger のテンプレートの HTML では、通常の HTML タグに加えて、Blogger の構造を決定するための専用のタグがあります。

Bloggerユーザ必見!テンプレートのHTMLを編集するときに参考になる公式ページリスト - Dr.ウーパのコンピュータ備忘録
http://upa-pc.blogspot.jp/2014/06/blogger-html-edit-ref.html


今回は、Blogger のテンプレート内に記載しておくと、その時々に応じたデータへと置換してくれる、レイアウトデータタグの一つである、data:blog.url について見てみます。

レイアウトデータタグ:data:blog.url


概要

レイアウトデータタグである、data:blog.url は公式の資料によると、次のように説明されています。

url: 現在のページの URL。

レイアウト データ タグ - Blogger ヘルプ
https://support.google.com/blogger/answer/47270?hl=ja


つまり、Blogger ブログにおいて、現在表示しているページの URL を示すものです。

従って、ブログページ内に自分自身のページへのリンクを設定する場合や、文中にそのページのリンクの URL を表示する場合には、Blogger のテンプレートのHTML に、このレイアウトデータタグを記載しておけば、自動的にそのページの URL に置き換えてくれるわけです。


使い方

本文中に、URL を表記したい場合には、次のように、data:blog.url をタグとして記載します。

テンプレートの HTML での表記:
<data:blog.url/>


タグの属性として使用したい場合には、次のように、タグの属性名にexpr:を付与して、その属性値として、data:blog.url を指定します。

テンプレートの HTML での表記:
<a expr:href='data:blog.url'>このページへのリンク</a>


国別リダイレクトされた場合に、どんなドメインになるか?

さて、ここで一つ気になる点があります。

Blogger のブログは、独自ドメインを使用しておらず、Blogger 標準のドメインを使用している場合には、そのブログを見る国によって異なるドメインの URL へと自動的に転送されます。

ブログが国別の URL にリダイレクトされる理由(ccTLD) - Blogger ヘルプ
https://support.google.com/blogger/answer/2402711?hl=ja


その時に、data:blog.url の値はどうなるのでしょうか?
結論から言うと、data:blog.url の値は、国別リダイレクトされた後のドメインの URL になります。(実際に実験してみました。)


つまり、このページであれば、標準のURL(canonical)は、次のようになりますが、

http://upa-pc.blogspot.com/2015/03/blogger-data-blog-url.html

日本国内からこのページにアクセスすると、自動的に次の URL にリダイレクトされます。

http://upa-pc.blogspot.jp/2015/03/blogger-data-blog-url.html


そして、data:blog.url の値は、リダイレクト後の

http://upa-pc.blogspot.jp/2015/03/blogger-data-blog-url.html

になります。


つまり、canonical URL を示す目的では使えないということです。

Blogger では、canonical URL は、head タグ内の、rel 属性の属性値として 'canonical' を持つ link タグの href 属性に記載されています。


その部分を、Blogger のテンプレートで見てみると、

<b:include data='blog' name='all-head-content'/>

となっており、個別の head 内の link 属性の値などは見ることができません。


従って、ブログ内のページで、canonical URL を取得する必要がある場合には、JavaScript などを使用して、head タグ内の canonical URL を取得する必要があります。

javascript:正規化された(canonical)URLを取得する - サンプルコードと使用例
http://upa-pc.blogspot.com/2015/03/javascript-canonical-url-get.html


スポンサーリンク

コメントを投稿

コメント投稿機能について