広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog
「ここにブログの名前を入れます」は更新を終了しました。記事はすべて新ブログ「Big Bang」に移転済みです。記事のタイトルをクリックすると新ブログの該当記事に移動します。そちらでお楽しみください。

カテゴリー別アーカイブ  :  

Google Analyticsのイベント トラッキングはaddEventListenerやattachEventでは計測されない

先日書いた記事「Google Analyticsでクリック数を計測するスクリプト」で、どこへのリンクがクリックされたのかのログをonclickイベントで拾うコードを書きました。ちゃんと動いていたんですが、Tweetボタンやmixiボタンが動作しなくなっていたので修正しました。

動かなくなった理由はonclickを上書きしていたからです。普通のaタグはonclickがnullなので、書いたコードで問題なかったんですが、Tweetボタンやmixiボタンはhref="javascript:void(0);"でリンクを無効にして、onclickで作動していたからです。そのスクリプトを消してしまっていたから、ボタンを押しても動作しませんでした。正確に言えばボタンを押すと、違う動きになった。つまりGoogle Analytics用のデータ作成に使われるようになったということです。

そこで、addEventListener 或いは attachEventを使って、アクションを「上書き」ではなく「追加」したんですが、それではログが記録されていないことに気がつきました。

Google Analyticsのイベント トラッキングはonclickでなくては計測されない

確認するために丸一日、下のコードで置いておきました。その結果計測されたイベントはゼロです。ただ、そのコードはすでに消してしまっていたので、下のコードは記憶を元に書いています。元のソースでは_gaq.pushのところをalertに変えてテストしましたが、意図どおりに動いていました。

<script type="text/javascript">
<!--
var add_ga=function(elem){
	type=(-1==elem.href.indexOf('/ayzfqir5/')&&elem.href.match(/^https?\:\/\//))?'Out':'In';
	_gaq.push(['_trackEvent',type+'bound Link','click',elem.href]);
};

set_event=(function(){
	if(document.addEventListener){
		return function(elem,func){
			elem.addEventListener('click',func,false);
		};
	}

	if(document.attachEvent){
		return function(elem,func){
			elem.attachEvent('onclick',func);
		};
	}

	return null;
})();

if('function'==typeof set_event){
	a=document.querySelectorAll('a');

	for(var i=0;i<a.length;i++){
		set_event(a[i],(function(elem){
			return function(){add_ga(elem);};
		})(a[i]));
	}
}

delete set_event;
// -->
</script>

対処として、上のコードを次のものに変更したところ、addEventListenerのfirefoxでもattachEventのIEでも計測されるようになりました。滅多に押されないところを自分でクリックして記録されているかどうかを見たのですが、偶然誰かが他のブラウザでクリックしていないのならaddEventListenerでもattachEventでも記録されているのだと思います。

<script type="text/javascript">
<!--
var add_ga=function(elem){
	type=(-1==elem.href.indexOf('/ayzfqir5/')&&elem.href.match(/^https?\:\/\//))?'Out':'In';
	_gaq.push(['_trackEvent',type+'bound Link','click',elem.href]);
};

set_event=(function(){
	if(document.addEventListener){
		return function(elem){
			if(null!==elem.onclick){
				elem.addEventListener('click',elem.onclick,false);
			}

			elem.onclick=function(){add_ga(elem);};
		};
	}

	if(document.attachEvent){
		return function(elem){
			if(null!==elem.onclick){
				elem.attachEvent('onclick',elem.onclick);
			}

			elem.onclick=function(){add_ga(elem);};
		};
	}

	return null;
})();

if('function'==typeof set_event){
	a=document.querySelectorAll('a');

	for(var i=0;i<a.length;i++){
		set_event(a[i]);
	}
}

delete set_event;
// -->
</script>

元々のonclickの内容をelem.addEventListener('click',elem.onclick,false);elem.attachEvent('onclick',elem.onclick);という形でコピーしてから、elem.onclick=function(){add_ga(elem);};で新しいonclickに_gaq.pushする関数を上書きするという内容です。正直、これで動くか心配だったんですが、出来るんですね。

結論として、addEventListenerattachEventではダメで、onclickでなくてはイベントは計測されないようです。

ただ、検索してみるとaddEventListenerでうまくいっていると言う記事がたくさんあったのですが、他の方は動いてるんでしょうか?

新ブログ「Big Bang」で続きを読む

ソースのバグの作り方 -if文のカッコ-

先日の記事「最新記事だけ日付を消す新スクリプト -お知らせ枠の設置-」のソースを実際にマスクドライダー17号さんが設置したところ、次の事情でうまくいきませんでした。(記事のソースは、うまくいくように修正済みです)

最初のソースコードは、次のものでした。

<script type="text/javascript">date=document.querySelector('div.entryDate');if(date){date.style.display='none';}</script>

このコードは、間違っていません。
実際に、マスクドライダー17号さんのブログのソースをメモ帳にコピペして、上の通り作業してブラウザで開くと、ちゃんと消えたのに、本当のブログにアップロードすると、消えませんでした。

なぜかというと、{} の2つのカッコが、おかしな形で変換されていたのです。

ファンブログのエディタを通すと、時々なぜかわからない形でソースコードが変わってしまうことがあります。それで、ソースを書き換えて対処しました。

変更点は、次の通りです。(記事のソースは変更済みです)

{} を削除する。
おかしく変換されてしまう2つの文字を削除することで、おかしな部分がなくなったので、正しく動きました。

なぜ、{} を削除できたのか?

逆に言うと、{} は不要なものだったのか?という疑問があるかもしれません。この場合は、なくてもいいものでした。だから、消すだけで対処できました。これは次の条件にあっていたためです。つまり幸運だったのです。

if文の次の処理は条件にあえば実行される。実行する処理が複数ある時はその部分を、{ と } で囲む。

JavaScriptに限らず、C系統のif文の書き方は次の構文です。

if(条件){ 実行内容 }

今回の場合は、if(date){date.style.display='none';} が、その部分です。

これは、if('object'==typeof date){date.style.display='none';} と書きかえても同じです。

この文を日本語に直すと、dateがオブジェクトなら、dateのスタイルシートdisplayをnoneにしなさいとなります。

これは実行内容がひとつです。「dateのスタイルシートdisplayをnoneにしなさい」のひとつだけを実行するので、カッコがなくても正しく動きます。しかし、もし実行内容が複数だと意図どおりには動きません。

たとえば、「dateがオブジェクトなら、dateのスタイルシートdisplayをblockに、色を赤にしなさい」という内容であったらどうでしょう。ソースコードはこうなります。

if(date){
	date.style.display='block';
	date.style.color='#ff0000';
}

改行と行のはじめの空白(インデント)は見やすくするためにつけていますが、コンピュータの内部処理では無視されます。if(date){date.style.display='block';date.style.color='#ff0000';}と書いたのと同じようにコンピュータは処理するのですが、人間が見やすくするためにつけています。

JavaScriptでは、{から}までのブロックは、ひとつの命令として扱います。

これで、dateがオブジェクトなら、{から}までのブロックを実行しなさいとなります。ブロックの内容は「displayをblockに」と「色を赤に」の2つです。

ここでカッコをとってみます。

if(date)
	date.style.display='block';
	date.style.color='#ff0000';

これはどのように扱われるか?次のようになります。

処理1. dateがオブジェクトなら、dateのスタイルシートdisplayをblockにしなさい。
処理2. dateのスタイルシートのcolor(色)を#ff0000(赤)にしなさい。

処理1はdateがオブジェクトならという条件判断をされますが、条件判断はひとつ目の処理で終了します。よって、処理2はdateがオブジェクトであろうとなかろうと実行します。

この例だとdateというオブジェクトがあれば、結果は同じです。カッコがあってもなくても、「dateがオブジェクトであった場合」の結果は、「スタイルシートのdisplayをblock」にして「スタイルシートのcolorを#ff0000」にします。

dateがオブジェクトである限り、カッコがあってもなくても、思ったとおりの結果になるのです。だから例えば、この命令をマスクドライダー17号さんのブログに適用すれば正しく、意図どおりに動きます。なぜなら、マスクドライダー17号さんのブログでは日付が消えているのだから、dateオブジェクトがあるのです。

しかし、dateがオブジェクトでなかったら、どうなるでしょう?適用されるはずのdate.style.colorが存在しないかもしれません。その場合はエラーになります。だから他の人のブログで使えばエラーが出るかもしれません。

つまり、これはカッコがないことによって気がつかないバグになっています。

カッコのあるなしで、意図とは違う結果を生み出すことがあります。バグというのはそうやって生み出されるのです。

新ブログ「Big Bang」で続きを読む

最新記事だけ日付を消す新スクリプト -お知らせ枠の設置-

先ほど「querySelectorとquerySelectorAll」という記事を書きましたが、実はあれ、この記事の前フリです。

楽して稼ぎたい」のマスクドライダー17号さんなんですが、ブログを開くと最新記事を「お知らせ」欄として使っています。

最新記事を未来の日付にすれば、一番上に表示されるので、「お知らせ」を書いて常に表示できます。

問題なのが、しばらくの間「2017年05月27日」と表示されているんですね。待っていれば消えるんですけど。

どうやって消しているのかというと、スクリプトを使っています。そのソースを変えれば、もっと早くに、すぐ消えるんじゃないか?と、思ってソースを見てみました。実にドンくさいソースコードでした。

でもよく考えたら、これは私が書いたものでした困った

そのソースコードが、これですが、無駄に長い。「記事の日付を消したい」より

<script type="text/javascript">(function(){var entries=document.getElementById('entries');if(!entries){return;}var div=entries.getElementsByTagName('div');if(!div){return;}for(var i=0;i<div.length;i++){if(div[i].className=='entry'){var child=div[i].getElementsByTagName('div');if(child){for(var n=0;n<child.length;n++){if(child[n].className=='entryDate'){var date=child[n].innerHTML.replace(/^\s+|日\s*$/g,'').replace(/年|月/g,'/').split('/');var entrydate=new Date(date[0],date[1]-1,date[2]);var today=new Date();if(today.getTime()<entrydate.getTime()){child[n].style.display='none';div[i].className='entry future';break;}return;}}}}}})();</script>

これを、先ほどの記事「querySelectorとquerySelectorAll」を使って書きかえます。

まずは、古いコードをスキンから削除してください。もういりません。そして、この下のコードを使います。

新しいソースコード

<script type="text/javascript">date=document.querySelector('div.entryDate');if(date)date.style.display='none';</script>

すごく短くなった。querySelector恐るべし!

ただし、手を抜いています。最新記事の日付は常に未来である。その記事は必ず先頭に表示される。そういう前提で作りました。

設置方法

これを、スキンではなく、「2017年05月27日」の日付の記事の中に付け加えます。

張り付けるのは、記事の最初でも最後でも構いません。
問題がなければ、「2017年05月27日」の日付はソッコーで消えます。


追記

実際にマスクドライダー17号さんが設置したところ、ある事情でうまくいきませんでした。
(上のソースは、うまくいくように修正済みです)

それに関して別の記事「ソースのバグの作り方 -if文のカッコ-」で説明しています。

新ブログ「Big Bang」で続きを読む

Google Analyticsでクリック数を計測するスクリプト

これは、かこに教わったんですが、Google Analyticsでクリック数を計測できるんですね。知りませんでした。

今回の記事の元ネタは「ファンブログハック」のおーとえす氏の記事
googleアナリティクスで簡単にクリックカウント出来るコード」です。

おーとえす氏の場合は、JQueryを使っているんですが、
ファンブログには標準ではJQueryが使われていないので、それを使わないコードを書いてみました。

このスクリプトだと、Tweetボタンが、押しても反応しなくなります。下にある修正版を使ってください。

<script type="text/javascript">
<!--
a=document.querySelectorAll('a');

for(var i=0;i<a.length;i++){
  a[i].onclick=(function(elem){
    return function(){
      type=(elem.href.indexOf('/ayzfqir5/')==-1&&elem.href!='javascript:void(0)')?'Out':'In';
      _gaq.push(['_trackEvent',type+'bound Links','click',elem.href,0]);
    };
  })(a[i]);
}
// -->
</script>

修正版はこの下のものです。

<script type="text/javascript">
<!--
var add_ga=function(elem){
	type=(-1==elem.href.indexOf('/ayzfqir5/')&&elem.href.match(/^https?\:\/\//))?'Out':'In';
	_gaq.push(['_trackEvent',type+'bound Link','click',elem.href]);
};

set_event=(function(){
	if(document.addEventListener){
		return function(elem){
			if(null!==elem.onclick){
				elem.addEventListener('click',elem.onclick,false);
			}

			elem.onclick=function(){add_ga(elem);};
		};
	}

	if(document.attachEvent){
		return function(elem){
			if(null!==elem.onclick){
				elem.attachEvent('onclick',elem.onclick);
			}

			elem.onclick=function(){add_ga(elem);};
		};
	}

	return null;
})();

if('function'==typeof set_event){
	a=document.querySelectorAll('a');

	for(var i=0;i<a.length;i++){
		set_event(a[i]);
	}
}

delete set_event;
// -->
</script>

このコードを、スキンの最後の方にある</body>の直前に追加すれば、すべてのクリックが計測出来るようになります。

ファンブログはスキンが、メイン、ポータル、アーカイブ、1記事、プロフィールの5つあるので全部に追加します。

ただし、次の箇所を修正してから使ってください。

1.赤い字で書いてあるayzfqir5を自分のものに差し替える。

これは自分のブログのURLを見て、書きかえます。

ファンブログの場合はサブディレクトリ方式のURLですので、このブログのURLは
https://fanblogs.jp/ayzfqir5/となっています。このayzfqir5の部分を自分のURLを見て、書き換えてください。

本当のことを言うと、書き換えなくても動きます。ただ、URLの中にayzfqir5が含まれているかどうかを判断材料にして、内部リンクか外部リンクかのログを取っています。

これを書き換えると、内部リンク(自分のブログへのリンク)ならInbound Link
外部リンク(自分のブログ以外へのリンク)ならOutbound Linkというイベント カテゴリにわけて記録されます。

2.青い字で書いてある0の数字をスキンごとに変える。

これも実は、別にやらなくても、構いません。やると、どのスキンでクリックされたかがわかります。

わたしは、1記事を0、メインを1、アーカイブを2、プロフィールを3、ポータルを4にしました。

数字は0以上であれば何でも構いませんが、マイナスの値だとダメみたいです。

これは、合計値が表示されるみたいで、この使い方では意味ないので削除しました。

Google Analyticsでの見方

「コンテンツ」タブの「イベント」でログを閲覧できます。
下は、このブログでどこへのリンクがクリックされたかを表示した物です。今つけたばかりなので数は少ないです。

この表のイベントの値というのが、上記の2で設定した数字です。(今は使っていません)

Google Analyticsの管理画面
クリックすると別画面で大きく見られます

下のInbound Linksが内部リンク、Outbound Linksが外部リンクです。

内部リンクと外部リンク
クリックすると別画面で大きく見られます

こんなに簡単に出来るとは知らなかった。かこと、おーとえす氏に感謝です。

需要があるかどうかを知りたいので、使うときはコメント欄に「使う」と書いてもらえるとうれしいです。

追記 最初のコードでTweetボタンが動かなくなった技術的説明

Tweetボタンは、aタグを使って、href="javascript:void(0)"onclick="ここでスクリプト処理"というソースでした。

最初のコードは、onclick=function(){処理}という形で、onclickを上書きしてしまいました。

修正コードでは、上書きではなく追加という形に変更しました。詳しくは別記事「aタグをボタン代わりに使う」と「addEventListenerとattachEvent」を、ご覧いただくのがいいと思います。

この修正に関するさらに詳細な説明を別記事にしました。よければご覧ください。
Google Analyticsのイベント トラッキングはaddEventListenerやattachEventでは計測されない

新ブログ「Big Bang」で続きを読む

querySelectorとquerySelectorAll

スタイルシートのセレクタを使ってDOMにアクセス出来る2つのメソッドが超便利な件。

querySelectorquerySelectorAllの2つ。

どちらも同じで、document.querySelector('div.entry p')のようにセレクタでアクセスできる。

この2つのメソッドの違いは、querySelectorの場合、指定条件にあった最初の1個だけを抽出する。
一方、querySelectorAllの時は、指定条件にあうすべての要素を抽出する。

たとえば、次のようなHTMLがあったとする。

<div class="entry">
<p class="hoge">こんにちは。<br />
今日はとっても天気がいいですね!</p>
<p>これはペンです。</p>
<p class="hoge">さようなら。</p>
</div>

これに対してpタグを見つけたい場合

document.querySelector('div.entry p')だと、最初の
<p class="hoge">こんにちは。<br />
今日はとっても天気がいいですね!</p>

だけを抽出する。

一方、document.querySelectorAll('div.entry p')なら<div class="entry">〜</div>の中にある、
すべてのpタグをまとめて抽出してくれる。

そして、querySelectorAllは、配列のように添字でアクセスできる。

var p=document.querySelector('div.entry p');
p.style.color='#ff0000';

とすると、
こんにちは。
今日はとっても天気がいいですね!

というように、最初のpタグだけが赤くなる。

一方

var p=document.querySelectorAll('div.entry p');

for(var i=0;i<p.length;i++){
	p[i].style.color='#ff0000';
}

とすれば、すべてのpタグが赤くなる。

querySelectorAllには、lengthがあるが、querySelectorには、lengthがないので注意。

セレクタでアクセス出来るので、var p=document.querySelectorAll('div.entry p.hoge');と指定すれば、
hogeクラスのpタグだけが抽出される。

CSSのセレクタに関しては次のページが参考になります。
意外と知らない!?CSSセレクタ20個のおさらい|Webpark

本当にこれは便利です!
実際にこのメソッドを使ってソースを書いてみました。下がその記事です。

新ブログ「Big Bang」で続きを読む

なぜ私はサイドバーを右にしたか?

前回の記事「経験からクリック率が高いと思う場所」にコメントありがとうございました。

結論から言うと、このブログの右サイドバーに何か置いても、目に入らない。
目に入らないのだから、たとえばそれが広告であったとしてもクリックされない。

そういう結論になるわけですが、その結果が得られただけでも実験の成果はあったと思います。

書いてあることが、広告ではなく、読者の利益になることなのだから、敬遠された結果ではない。
純粋に目に入らないポジションなんだと思います。

今回は、その結果に関する考察です。

まず、いただいたコメントで気になるのが、Rさんが書かれたこれ。

デザイナーさんから教えて頂いた、人間の視線の習慣は
左から右、上から下。メインのコンテンツ見ながら
視線を下におろすと、いってらっしゃる場所は見ないです。
私の場合、かもしれませんが。

結論はRさんの場合だけでなく、みんな見なかった。

Rさんも、自身の記事「無料プレゼント(Amazon編) たかがアフィリ」で薦めているアマゾンの公式ブログに、こう書いてあります。Amazon アソシエイト・プログラム(アフィリエイト) 公式ブログ: 「ユーザーは説明を読まない」〜短時間でアピールするサイトデザインより

Webサイトを閲覧するとき、人の眼は左から右に、上から下へと動きますから、必然的にページの左上が至上の場所となります。通常Webサイト名や、ロゴ、サイトの簡単な説明などの重要な情報はこの位置に置くことになります。もしもあなたのサイトのタイトルに、サイトの内容を想像できる言葉を使用していない場合は、ページトップ上部で、内容を「ごく簡単に1行程度で」説明しておくと、ユーザーが内容を理解する手掛かりになります。

このブログ記事は自分もアフィリエイトをはじめた時に読んで、非常に参考になると思いました。
今回、テンプレートを作り替える際も、念頭にはありました。

でも、このブログでは敢えて、右にサイドバーを置いています。
これは意識的にやっています。ですから、記事中に広告を入れない限り、広告スペースも右になります。

記事中に四角いスペースの広告を置くなら、自分は左に置きます。
理由は、上に書いてある通りです。

Yahoo!JAPANのトップページの広告は右上


敢えて、サイドバーを右にしたのには、3つの理由がありました。
そのひとつが、「Yahoo! JAPAN」のトップページです。

Yahoo! JAPANはトップページの広告を右上に置いています。
自分がはじめてYahoo! JAPANのページを見たときから、これは変わらない。

ということは、Yahoo! JAPANとしては満足できる結果がでているのではないか?と考えました。
自分より人気サイトがやっているのだから、真似てみる。これは、ひとつの考えだと思います。

日本の新聞は基本、右上から読みはじめる縦書き


Yahoo! JAPANは、なぜ広告を右の上に配置したのでしょうか?
それは、私にはわかりません。

ただ、最初に上の、アマゾンのブログを見た時から、ずっと思っていた感想があります。
「それは欧米人の考えだ!」

産経新聞などは違いますが、朝日新聞や東スポは縦書きです。
特に「東京スポーツ」にとって、右上の縦に書いた見出しの出来は死活問題です。

東スポのレイアウトは、東スポWebにある「本日の紙面」で確認出来ます。


東京スポーツ - Wikipedia」より

「マドンナ痔だった」、「落合家チンポ丸出し放送」、「聖子輪姦」、「人面魚重体」、「大仁田爆死」、「フセインインキン大作戦」、「ダイアナ大胆乳」、「阪神次期監督上岡龍太郎」、「宇宙人化石発掘」「小向美奈子殺される」など、1面の奇抜な見出しが特徴。これらの見出しの下には小さく「?」「か」「も」「説」「絶叫」などの言葉が書かれ濁されていることが多いが、それらは新聞スタンドに陳列されている状態や折りたたんである状態では見えないように紙面のつくりが計算されている。

東スポの見出しは、ロマンだ!いや、そんなことはいい。
日本人は縦にものが読めるのです。

野茂英雄がアメリカ大リーグに渡って大成功したのはフォークボールという武器があったから。
フォークボールとは、縦に落ちる変化球です。

この当時、誰だか忘れましたが、これを解説してこんなことを言っていました。

「日本人は本を読むときでも、縦に目を動かすことに慣れている。欧米人がフォークボールを打てないのは、横書きだからじゃないか?」

これは、問題点を言い得ているのではないでしょうか?
そうだとしたら、生活習慣で、目の動き、目につく場所というのは変わるのでは?

そう考えたのが、もうひとつの理由です。
しかし、ブログその物が、左から右への横書きである以上、この考えは当てはまらないのかもしれません。

「Yahoo!JAPAN」の広告は右上、「東京スポーツ」の見出しは右上(「か?」は折り目の後に来るようにする)
こういったことから、このブログではアフィリエイトのスペースを右に用意しました。

スクロールバーは右にある


そしてサイドバーを右にした、もうひとつの理由は「ユーザビリティ」の向上です。

ブラウザのスクロールバーは東洋、西洋関係なく、OSの種類も関係なく、みんな右側にあります。
これは、人間の多くが右利きだからです。

マウスを持つのは、多くの場合、右手です。そのマウスに近い所に操作関連のものはあった方がいい。
スクロールバーが右にあるのは、そういう理由だったはずです。

つまり、マウスで操作するもの、ドラッグしたり、クリックしたりするものは1ヵ所に集めた方がいい。
そう思って、スクロールバーの近くにサイドバーを持ってきました。

結論


結果として、読者が意識して探す物は右で問題ない。
ただし、意識して探さない広告などは、目につかない確立が高いのでは?

というデータになりました。
今後、さらに、実験と分析を進めていきたいと思います。

新ブログ「Big Bang」で続きを読む

経験からクリック率が高いと思う場所

ちょっとアンケートしたいんですけど、このブログの右上にある
「ファンブログユーザーの方々へ」というブロック、これって目に入りにくいですか?

今までの経験からすると、単純なクリック率だけでいうと、
もっともクリックされるのが、記事の終了直後。これは間違いない。
2番目はサイドバーの最上段だと思っているんですよ、自分は。

それで、サイドバーの一番上に「ファンブログユーザーの方々へ」というのを出したんですが
はじめてうちに来た人のあしあとを見てみると、高い確率でプロフィールページを非公開にしたまま。

つまり、見られていない。

全部のあしあとを見ないので、たまたま自分がチェックするのにそういう人が多いのか?
高い確率でそういう人を選んでいる?特殊能力があるのか?

よければ、目立つかどうかコメント欄へご記入いただけないですかね?匿名でいいので。
もし、意味がないんなら一番上を広告に戻そうかと思うわけですよ。

目立たないのか?目立っても見ていないのか?

毎日トップページだけにアクセスして消える人、これ結構います。

更新があろうとなかろうと必ず、トップページだけにアクセスして、絶対に1ページビューしかしない。
絶対に記事を開かない。そういうポリシーを持って、あしあとを残されていかれる方って、
ファンブログには結構います。で、そういう方でプロフィールが非公開の人って確率高いです。

まあ、どーせ見ねーんなら、意味ねーから広告に戻そうかということです。
そうじゃなくて、目立っていないからわからない、というのなら見せ方を考える必要があると思うのです。

コメントをいただければ幸いです。

追記。結果の考察記事を書きました。「私はなぜサイドバーを右にしたか?

新ブログ「Big Bang」で続きを読む

バリューコマースの審査に通った

ログを見て、ふと気がつくと「バリューコマースの審査に落ちた」という記事がすごい需要があるんだよね。
てか、アクセスが多いのは気づいていたんだけど。

で、落ちたときの記事の日付が2012年02月17日。
それっきり、再審査を受けていなかった。

先月、テンプレートを変えて、今まだ改装途中なんだけど、アフィリエイトは右下の1個だけだし、
再申請してみるかと、申し込んだら、アッサリ通った。

バリューコマースアフィリエイトプログラムご参加審査結果のお知らせです。

厳正な審査の結果、お申込みいただきました下記サイトのバリューコマース
アフィリエイトプログラム参加が承認されました。

ご登録サイト名:ここにブログの名前を入れます
(https://fanblogs.jp/ayzfqir5/)

まあ、俺様のような優良ブログが審査に通らなかった方がおかしいわけで、
これで主要ASPは全部審査を通過した。

何が変わったのか?

  • 見た目(テンプレート)が変わった。
  • 記事は増えたけど、記事の系統は変わっていない。
  • 広告がゴッソリなくなった。これに関しては「バリューコマースの審査に落ちた」を見てください。


記念アフィリエイト


ちなみに、このブログでは今までも「バリューコマース」の入会用広告を貼っていましたが、
それはFC2アフィリエイトのものでした。

新ブログ「Big Bang」で続きを読む

リンクを受け、紹介されやすい記事とそうでない記事

ここ数日で、うちに、はじめてコメントをもらったけど、記事でリンクして紹介しているブログと、していないブログがある。内容がリンクしていない記事は紹介のしようがない。その点は了承してほしい。

そもそも、リンクというのは、どういう時に張るのだろうか?
自分がどういう時にリンクを張るかを考えてみると、だいたい次の時だ。

  • 面白いと思ったり、感激したり、感銘を受けたとき
  • 参考になった情報源、補足、裏付け
  • 商品紹介

面白いと思ったり、感激したり、感銘を受けたとき

これは純粋に、いいと思ったページを紹介すること。Twitterでリツイートするなんていうのも、動機としてはこれに属する。

この中には、面白かった映画や、気に入った曲、おいしかった店、料理なども含まれうるわけで、「商品紹介」とかぶることもある。

参考になった情報源、補足、裏付け

記事を書く上で、ベースになった情報、または、記事を書こうと思う発端になった話題など。

出てきた言葉の説明であったり、引用と共に使われることも多い。また、自分の書いた別記事に内部リンクする事も多い。

商品紹介

アフィリエイトであることが多いが、そうでない場合は、面白かった映画の「公式サイト」や、おいしかった「店のホームページ」などへのリンクである。

大雑把に言ってしまえば、以上のようなカンジになる。

最初の2つ「面白いと思ったり、感激したり、感銘を受けたとき」と
「参考になった情報源、補足、裏付け」に関しては、そのままそのページへリンクを張って紹介する。

では三つ目「商品紹介」に関しては?

これは映画が面白かったなら、その映画の「公式サイト」へ、
おいしい店があったなら、その「店のホームページ」へリンクを張るだろう。

他のブログで、その映画を紹介していたり、その店を紹介していたりしても、自分のブログからはリンクを張ることはまずない。

なぜなら、そういうリンクを張った記事では、自分が映画や店に感じた感想、レビューを書く。自分がレビューを書くのであるから、他のブログのレビューは必要ない。だから、リンクはしない。

ましてや、それがアフィリエイト記事であったなら、みすみす他所に客を流すことになるので、大抵の場合リンクは張られないだろう。つまり、自分がアフィリエイターである場合、他のアフィリエイト記事へリンクを張ることはない。それは顧客の流出である。

そういった事情でアフィリエイト記事というのはリンクを受けにくい。

例外として、リンクを貼られているのは、次の2つだ。

  • アフィリエイターではない、純粋なブロガーが、素直にいいと思った物を紹介している場合
  • アフィリエイター自身の自作自演

上の場合であるならば、多分本当にいい物なんだろうと思うが、自演かどうかの判断は難しい。

一つだけ言えるのは、まったくアフィリエイトを貼っていないページがアフィリエイトと無関係とは言いきれないということ。アフィリエイトを貼っていないページから、自分自身のアフィリエイトページへ誘導すればいいのだから。曰く世の中は難しい。

新ブログ「Big Bang」で続きを読む

無知で不幸な読者よ。良いことを教えてあげましょう。

先日書いた「アクセスを上げるための本質をわかっていない」にコメントをいただきありがとうございました。

コメントに対して回答をしようと考えるのですが、なかなかうまくまとまらず、3日が経過しました。
このまま、まとまるまで待つと、何も書けないので、未完成でも公開してしまって、区切りにするか、ということで公開します。

顰蹙を買うのを承知の上で書けば、実際にコメントが来てみると、返事をするのって凄い疲れる。
面倒くせえわ。記事だけ書いていた方が楽だ。

やっぱり、ブログで「コメントを楽しむ」のと「記事を発信する」のとでは全然違う。そういう意味で言えば、前に書いた「コメント記入コスト」が正しいということが実感できた。

楽keyさんのブログ経由で見つけた記事「Happyサイト〜楽Key - 悲しき精神科 - 楽天ブログ(Blog)」から。

ジョセフ・マーフィー、引き寄せの法則、……眠りながら成功する、ザ・シークレット等、……
優れた、人類の宝だが、
これらには、致命的で、
大きな欠点が少なくとも2つある。

(中略)

これらは、基本的に、読者を非成功者、無知、不幸であることを前提としている。
無知で不幸な読者よ。良いことを教えてあげましょう。
というメッセージが、暗に、含まれている。
これは、このブログにも当てはまる。
結局の所、教えてやっているという意識が、感謝や礼を求めるわけだ。

初心者向けの記事っていうのは書くのに、通常の記事の何倍も労力がかかる。

このブログのカテゴリーでいえば「JavaScript(上級)」というのがあるが、そういう方が内容は高度だが、書くのは簡単。何故ならいちいち説明しなくてもよい前提が読者の土台にあるから。これを、初心者にわかるように書くとなると、何倍もの文章と執筆時間が必要になる。

初心者を対象にした記事を選んで書いているのは自分自身なわけだが、それによって何が得られるのだろうか?
これは、スポーツのコーチをやってみるとわかることだが、教えることによって自分自身が上達できることがある。

自分には簡単な事が、はじめてやる者には簡単ではないかもしれない。
自分では当たり前の事が、他人には当たり前でない。

出来ない他人に対して、出来るように教える。

これはなかなか難しく、どうやって伝えればいいのか、どうすれば理解出来るのか、考えながら教えていくうちに、自分自身の再理解、再発見につながり、自分自身が上達する。

コーチングをして、こういう体験をしたのは自分だけではなく、知り合いにも大勢いる。
現役時代より、上手になったコーチというのは大勢いる。

ここで、ファンブログに立ち返ると、ある事に気がつく。
ファンブログのユーザーは、どうやれば出来るのかを知りたいのではなく、コピーして貼り付けたら出来ていて欲しいのだ、多分。

だから、理屈には興味がない。

理屈に興味がないから、理屈を理解しようとしないから、出来ない。
貼り付けたら、その通りにはなることもあるが、自分好みには変えられない。

これは、ブログのカスタマイズだけではない。
アフィリエイトで儲からないのも同じ理由だ。

貼るだけでカンタンに儲かる。そう聞いているので、それしかやろうとしない。
少し自分で考えてやり方を工夫すれば利益が出るのに、それもわからない。


実をいうと、もうファンブログはいいかな。というのが今の気持ちだ。


自分が社会人になって何年かしたときに、高校時代の恩師に会って驚いた事がある。
恩師は高校時代、自分を導いてくれたわけだが、改めて話してみると、発想が幼稚というか世間を知らなすぎる。

自分が高校生の時は、それでも恩師の言動は通用した。自分よりは知識も経験もあったから。しかし、自分が社会に出て経験を積むと、恩師の知識は貧弱であったと知った。接しているのは、いつも生徒。常に自分よりも下の人間ばかりを相手にしていると世間知らずになるんだな。と思ったものだ。


ファンブログというのは、常に新しい人がブログをはじめ、すぐにやめていく。いつでも常に、大部分が初心者なのだから、進歩しないのも無理がない。

新ブログ「Big Bang」で続きを読む