【メモ】小説家になろうでアクセス数を把握する(独自)

 

小説家になろうには、アクセス解析の機能が着いています。
しかし、BOTやIPによる排除が行われていないのか、実際のアクセスよりも多くなっているように感じます。
また、一人が複数のページを読み込み、再描画を行っても、カウントされているように感じます。

ランキングタグを使って、アクセス数を確認する方法です。これが正しいとはいいませんが、ある程度の指標にはなると思っています。

まず、ランキングには、いくつかのタグが利用できます。
IMGタグが利用できるので、PHPなどで画像を生成してあげて、表示するようにしてあげれば、カウンターと同時にアクセス数の把握が可能です。

プログラムは面倒なので、かなり端折っています。

	//
	//数字画像のサイズ
	$width   = 12;
	$height  = 16;
	//
	$length = strlen($text);
	//
	$img = imagecreatetruecolor($width * $length, $height);		// キャンバスの作成
	$backgroundColor = imagecolorallocate($img, 255, 255, 255);	// 背景色セット
	imagefill($img, 0, 0, $backgroundColor);					// 背景を塗る。
	imagecolortransparent($img,$backgroundColor);				// 透明化
	//
	for( $i = 0; $i < $length; $i++ )
	{
		$num = substr($text, $i, 1);
		//
		$imgFile = 'images/'. $imageNo .'/'. $num .'.png';
		//
		$digit = imagecreatefrompng($imgFile);
		//
		ImageCopy($img, $digit, $i * $width, 0, 0, 0, $width, $height);
		//
		imagedestroy($digit);
	}
	//
	header("Content-Type: image/png");
	imagesavealpha($img, TRUE);
	imagepng($img, NULL, 0);
	imagedestroy($img);

画像を生成するところだけの抜粋です。

肝の部分は次になります。

	$ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
	//
	$arrData = array();
	$arrData = explode('/', $ref);
	//
	$ncode = 'error';
	$mode = 0;
	$xSite = 0;
	//
	if(strpos($ref,NSITE) !== false)
	{
		// 含まれる
		$mode = 1;
		$xSite = 0;
	}
	if(strpos($ref,XSITE) !== false)
	{
		// 含まれる
		$mode = 1;
		$xSite = 1;
	}

画像として出力をしています。
プログラムに渡される時には、リファラーが設定されています。そのリファラーに、『小説家になろう』のURLが設定されているかを確認します。『//ncode.syosetu.com/』などです。ノクターンなどのチェックも行えるように、二か所でチェックしています。

あとは、ランキングタグに張り付ければOKです。


こんな感じで、カウンターが表示されます。

カウンターの数字に対応する時間の『小説家になろう』のアクセス解析の結果は、次の通りです。

開発に関してや、時事ネタ。F1関連の戯言を呟いています。
小説アカウントでは、宣伝をメインに積読本や購入予定の書籍を呟いています。