iTunes Auto Linkerのタグを最適化
iTunesストアのアプリDownloadページへのリンクを自動でアフィリエイト対応してくれるAuto Link Makerのタグがダラダラと長くて古風なので改善。
iTunesのアフィリエイト管理画面で発行されるタグの問題点は
- HTMLのバージョンが古い
- 冗長で長い
- SSL対応は今ドキは必須
そこで、以下のように改善してから導入しました。
<!-- 改善前のオリジナルタグ --> | |
<script type='text/javascript'> | |
var _merchantSettings=_merchantSettings || []; | |
_merchantSettings.push(['AT', '11l8bx']); | |
(function() { | |
var autolink = document.createElement('script'); | |
autolink.type = 'text/javascript'; | |
autolink.async = true; | |
autolink.src = ('https:' == document.location.protocol) ? 'https://autolinkmaker.itunes.apple.com/js/itunes_autolinkmaker.js' : 'http://autolinkmaker.itunes.apple.com/js/itunes_autolinkmaker.js'; | |
var s = document.getElementsByTagName('script')[0]; | |
s.parentNode.insertBefore(autolink, s); | |
})(); | |
</script> | |
<!-- 改善した後のタグ --> | |
<script> | |
var _merchantSettings=_merchantSettings || []; | |
_merchantSettings.push(['AT', '11l8bx']); | |
(function(d, s) { | |
var f = d.getElementsByTagName(s)[0], | |
j = d.createElement(s); | |
j.async = true; | |
j.src = 'https://autolinkmaker.itunes.apple.com/js/itunes_autolinkmaker.js'; | |
f.parentNode.insertBefore(j, f); | |
})(document, 'script'); | |
</script> |
分かりやすくするために改行や空白を入れて整形しています
短くなってスッキリ。改善点は
- HTML5を前提としscriptのtype属性を省略
- httpとhttpsの判別をやめて常にhttpsに統一
- リピートするオブジェクト「document」と文字列「script」を変数化
- 2つのvarを1つにまとめた
参考にしたのはGoogle Tag Managerのタグです。
ツールが提供するタグは鵜呑みにしないで、自分のサイトや時代に合った形で入れるようにしたいものです。
(少しでもタグを変えると「サポートできない」という外資ベンダーの日本法人も存在するので要注意)