WordPress上のApp StoreアプリのLinkShareリンクを新アフィリエイトプログラム(PHG)のものに書き換える方法
2013/08/23
価値ある情報をユーザー視点で発信するブログ
2013/08/23
もくじ
ひとりぶろぐのmoyashi (@hitoriblog) です。
iTunes Storeアフィリエイトプログラムの提携先が、LinkShareからPHGに変わって、ブロガー界はちょっとした騒動ですね。
リンク生成の方はAppStoreHelperをバージョンアップしてPHG対応しました。
ひとりぶろぐ » App Store取り扱いアプリのリンクタグを生成するブロガー用ツールAppStoreHelperのPHG対応バージョンアップ
2013年10月1日以降はLinkShareのリンクが無効になるので、ブログ上のリンクは、それまでにPHG対応のものに書き換えないといけない模様です。
手作業で対応しなければならない環境もあるかと思いますが、WordPressならSearch Regexというプラグインを使うことで対応が可能です。
Search Regex – WordPress search with regular expressions | Urban Giraffe
しかし、これで一発簡単ラクショー! みたいな方法ではありません。「なんか赤字の警告文が怖いし、面倒だからこれはパス。ほかにもっとないの?」という感想を抱く人が100人中765人ぐらいはいるかと思いますが、「これで一発簡単ラクショー!」という方法を模索した結果がコレです。アフィリエイトリンクの形式にはかなりバリエーションがあり、それを全部想定して網羅、お膳立てを完璧にするのは難しい。
例外的なパターンが出たときに自分で対処できる方法を身につけてもらうしかない、という結論の元に、こうした手順を提示しております。
2013年10月1日まで旧リンクが有効なら、ギリギリまで引っ張ろうという向きもあろうかと思いますが、料率はLinkShareが4%、PHGが7%と3%上がりますので、なる早でやった方が得ですね。(続きは[Read More]から)
@hitoriblog もやしさん、自己責任とは言え、もう少し Search Regex のリスクについての説明はあったほうがいいんじゃないでしょうかね?危険すぎるように思います。あえて、DMではなくメンションで書きました。
— どんぴ (@donpy) August 22, 2013
強力で便利な一方、その強力さが破壊的な結果をもたらす可能性を秘めています。
といっても、偶発的に破壊的な結果がもたらされるということではありません。扱いを間違えなければ大丈夫。
検索置換が普通の検索置換のように一対一にならない場合があるところに危険性があります。
例えば、普通の検索置換なら「A」を「B」に置換するので、その逆をやれば元の状態に近くなりますが、Search Regexは、不特定の文字を「B」に置換統一することもできるのです。この検索置換は不可逆的で、「B」から不特定の文字に戻そうと思ってもできないのは分かりますよね?
ついては、作業に入る前にWordPressのデータベースのバックアップを取って作業前の状態に戻せるようにしておくことをおすすめします。
後で出てきますが、まず「Replace」ボタンでテストをし、置換結果を目で確かめてから「Replace & Save」を押す。この手順を守ることを約束してください。そうすれば、そうそう大変なことにはならないはずです。
なお、こうした危険性を孕むことから、自己責任での実行をお願い致します。
WordPressの「ダッシュボード>プラグイン>新規追加」からSearch Regexと検索してインストールしてください。
インストールが完了すると、「ダッシュボード>ツール>Search Regex」から使うことができるようになります。
Search Regexで「http://click.linksynergy.com/」で始まるURLを探します。
Search Regexを表示。Search patternに「http://click.linksynergy.com/」と入力し、「Search」ボタン。
検索結果が出てきたら、「edit」ボタン。
リンクをコピー。
RD_PARM1、RD_PARM0の引数となっているURL、赤字の部分をコピー。
http://click.linksynergy.com/fs-bin/stat?id=ks8ekjeukjs6&offerid=94348&type=3&subid=0&tmpid=2192&RD_PARM1=https%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Fnotecube%252Fid657311491%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30
以下のzipをダウンロード、解凍して、中のunescape.appを実行。
すると、クリップボード上のURLが加工されます。どこかにペーストしてみましょう。以下のURLが、
https%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Fnotecube%252Fid657311491%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30
次のように復元されます。このURLのうち、必要なのは赤字の部分のみで、「&partnerId=30」は不要なので削除。
https://itunes.apple.com/jp/app/notecube/id657311491?mt=8&uo=4&partnerId=30
「&partnerId=30」を削除したURLのうち、アプリ名に当たる青字の部分と、IDに当たる緑字の部分のみがそれぞれのアプリで異なる部分です。
https://itunes.apple.com/jp/app/notecube/id657311491?mt=8&uo=4
アプリ名、IDを$1、$2に置き換え。
https://itunes.apple.com/jp/app/$1/id$2?mt=8&uo=4
さらに、自分のアフィリエイトIDを「&at=」に続けてお尻にくっつける。ここではアフィリエイトIDを「99x9xx」とします。自分のアフィリエイトIDに読み替えてください。
https://itunes.apple.com/jp/app/$1/id$2?mt=8&uo=4&at=99x9xx
これを、Replace Patternにコピペ。
今度はSearch Patternです。さきほどコピーしたURL全体。RD_PARM1、RD_PARM0の引数になっているURLのうち、アプリ名と、IDに当たる部分を探します。unescape.appで復元したURLを参考にすれば見当が付けやすいでしょう。この場合のアプリ名とIDは以下の青字と緑字の部分です。
http://click.linksynergy.com/fs-bin/stat?id=ks8ekjeukjs6&offerid=94348&type=3&subid=0&tmpid=2192&RD_PARM1=https%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Fnotecube%252Fid657311491%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30
アプリ名の部分を「([^”]+)」と。IDの部分を「([0-9]+)」と置き換えます。
http://click.linksynergy.com/fs-bin/stat?id=ks8ekjeukjs6&offerid=94348&type=3&subid=0&tmpid=2192&RD_PARM1=https%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252F([^”]+)%252Fid([0-9]+)%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30
さらに、頭とお尻に「!」を付け、「stat?」のハテナの前に「\」(バックスラッシュ)を入れます(それぞれ赤字)。
バックスラッシュ(\)と円マーク(¥)は違いますので注意してください。このエントリからコピーすると間違いないかと思います。
!http://click.linksynergy.com/fs-bin/stat\?id=ks8ekjeukjs6&offerid=94348&type=3&subid=0&tmpid=2192&RD_PARM1=https%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252F([^”]+)%252Fid([0-9]+)%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30!
出来たものをSearch Patternにコピペ。「Regex:」のチェックボックスをオンに。「Source:」は「Post content」に。
「Replace」ボタンを押します。「Replace」ボタンを押すだけでは、置き換えは実行されないので心配しなくても大丈夫です。
すると、検索にヒットした数だけ以下のような表示が繰り返されると思います。緑地が検索にヒットしたもの。オレンジ地は、置き換え後の結果。置き換えたURLが機能するか、コピーして試してみてください。心配なら、置換された結果を全件検査。
結果に満足したら、「Replace & Save」ボタンを押す。これでWordPressのデータベースの書き換えが実施され、変更が恒久的なものになります。後戻りはできないと思いますのでご注意を。
遷移した画面で、置き換え実行の件数が確認できました。
ここで手順「1: アフィリエイトURLの検索」に戻ります。
大方のブログでは、「http://click.linksynergy.com/」で始まるURLを再度検索すると、置き換えは終わったはずなのに、また検索にヒットして出てくるかと思います。
使うツール、アプリの種類、時期などによって、生成したアフィリエイトURLが変化するため、それぞれに対処する必要があるのです。「http://click.linksynergy.com/」を検索して出てこなくなるまで、手順1〜5を繰り返します。
RD_PARM1、RD_PARM0の引数は、いろいろなケースがあります。
アプリ名がない、IDだけのケースがあります。Replace Patternからは$2がなくなり、Search Patternからは「([^”]+)」がなくなります。
https://itunes.apple.com/jp/app/id$1?mt=8&uo=4&at=99x9xx
基本的には、基本形と変わりません。URLの「app」が「artist」になっている点に注意。
https://itunes.apple.com/jp/artist/$1/id$2?mt=12&uo=4&at=99x9xx
RD_PARM0(青字)、RD_PARM1(赤字)としてURLが二度出てくるケースがあります。
http://click.linksynergy.com/fs-bin/click?id=ks8ekjeukjs6&subid=0&offerid=94348&type=3&tmpid=2192&RD_PARM0=http%3A%2F%2Fitunes.apple.com%2Fjp%2Fapp%2Fnotecube%2Fid657311491%3Fmt%3D8%2526uo%3D4&RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fjp%2Fapp%2Fnotecube%2Fid657311491%3Fmt%3D8%2526uo%3D4
この場合も、アプリ名の部分を「([^”]+)」と。IDの部分を「([0-9]+)」と置き換えてSearch Patternを作ればOKです。
!http://click.linksynergy.com/fs-bin/click\?id=ks8ekjeukjs6&subid=0&offerid=94348&type=3&tmpid=2192&RD_PARM0=http%3A%2F%2Fitunes.apple.com%2Fjp%2Fapp%2F([^”]+)%2Fid([0-9]+)%3Fmt%3D8%2526uo%3D4&>RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fjp%2Fapp%2F([^”]+)%2Fid([0-9]+)%3Fmt%3D8%2526uo%3D4!
Replace PatternはRD_PARM0、RD_PARM1のどちらか一つをunescape.appで復元して作る以外は基本と変わらず。
1〜3の複合パターンも出てくると思います。
URLの途中が「artist」で(2のケース)、URLが二度出てくる(3のケース)ケースなど。
応用で頑張ってください。