2014年4月7日月曜日

Google クローラ Agent

Google クローラ Agent


Googlebot(Google ウェブ検索)   Googlebot
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Googlebot/2.1 (+http://www.google.com/bot.html)



ニュース用 Googlebot  Googlebot-News
Googlebot-News



画像用 Googlebot  Googlebot-Image
Googlebot-Image/1.0



動画用 Googlebot  Googlebot-Video
Googlebot-Video/1.0



Google モバイル Googlebot-Mobile
「各種携帯端末」(compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)



Google モバイル AdSense
Mediapartners-Google
「各種携帯端末」(compatible; Mediapartners-Google/2.1; +http://www.google.com/bot.html)



Google AdSense
Mediapartners-Google



Google AdsBot を使ったリンク先ページの品質確認
AdsBot-Google
AdsBot-Google (+http://www.google.com/adsbot.html)




robots.txt

robots.txt ファイルの中で、いくつものユーザーエージェントが見つかった場合は、最も限定的なものに従って Google のクロールが行われます。サイトのページをすべてクロールさせたい場合は、robots.txt ファイルを作成する必要はありません。一部のコンテンツに対して Google のクローラによるアクセスをブロックまたは許可する場合は、Googlebot をユーザーエージェントとして指定します。たとえば、サイトのページがどれも Google 検索結果に表示されるようにしたい場合や、AdSense の広告をサイトのページ上に表示したい場合は、robots.txt ファイルは必要ありません。同様に、一部のページに対して Google からのアクセスを一切ブロックしたい場合は、ユーザーエージェント Googlebot をブロックすると、Google の他のユーザーエージェントもすべてブロックされます。

さらに細かくコントロールしたい場合は、より限定的に指定します。たとえば、サイトのページが Google の検索結果に表示されるようにしたいけれども、/personal ディレクトリにある画像はクロールの対象外にしたい場合は、robots.txt を使用して、ユーザーエージェント Googlebot-image による /personal ディレクトリ内のファイルのクロールを禁止する(ただし、Googlebot にはすべてのファイルのクロールを許可する)ように指定します。次に例を示します:

User-agent: Googlebot
Disallow:

User-agent: Googlebot-Image
Disallow: /personal
別の例として、サイトのすべてのページに広告を表示したいけれども、ページを Google 検索結果には表示したくない場合は、次のように、Googlebot をブロックし、Mediapartners-Google によるアクセスは許可します:
User-agent: Googlebot
Disallow: /

User-agent: Mediapartners-Google
Disallow:
robots メタ タグ

ページによっては、次のように、複数の robots metaタグを使用してクローラごとにディレクティブが指定されていることもあります。

<meta name="robots" content="nofollow"><meta name="googlebot" content="noindex">
このような場合は、Google はすべての不許可ディレクティブに従います。つまり、Googlebot は noindex と nofollow の両方のディレクティブに従います。Google によるサイトのクロールとインデックス登録をコントロールする方法のさらに詳しい説明については、こちらをご覧ください。

https://support.google.com/webmasters/answer/1061943?hl=ja

2014年3月21日金曜日

Google 検索エンジン最適化スターターガイド

Google 検索エンジン最適化スターターガイド

  1. https://support.google.com/webmasters/answer/35291?hl=ja&ref_topic=3309300
  2. https://static.googleusercontent.com/media/www.google.co.jp/ja/jp/webmasters/docs/search-engine-optimization-starter-guide-ja.pdf



Search Engine Optimization Starter Guide - Google

  1. http://static.googleusercontent.com/media/www.google.com/ja//webmasters/docs/search-engine-optimization-starter-guide.pdf



谷歌搜索引擎优化初学者指南 - Google

  1. http://static.googleusercontent.com/media/www.google.cn/ja/cn/intl/zh-CN/webmasters/docs/search-engine-optimization-starter-guide-zh-cn.pdf
  2. https://support.google.com/webmasters/answer/35291?hl=zh-Hant&ref_topic=3309300




Google 搜尋引擎最佳化初學者指南

  1. http://static.googleusercontent.com/media/www.google.com/ja//intl/zh-TW/webmasters/docs/search-engine-optimization-starter-guide-zh-tw.pdf








Twitter ボタン Google+ ボタン

Twitter ボタン


ウェブサイトにボタンを追加してウェブサイトの訪問者がコンテンツを共有したり、あなたとTwitterでつながったりできるようにしましょう。

https://about.twitter.com/ja/resources/buttons#tweet

<a href="https://twitter.com/share" class="twitter-share-button" data-text="ツイッター本文" data-lang="ja" data-count="none" data-dnt="true">ツイート</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>




Google+ ボタン


ページに共有ボタンを含めるには、必要な JavaScript を含め、共有タグを追加する方法が最も簡単です。この基本的な実装には、幅を変更できる標準の 20 px 共有ボタンが含まれます。

https://developers.google.com/+/web/share/?hl=ja

<script src="https://apis.google.com/js/plusone.js"></script>
<g:plus action="share"></g:plus>


Google+ 共有リンク


共有リンクは、ネイティブ クライアント アプリケーション、Flash アプリケーション、プライバシーが重要なサイト、+1 ボタンまたは共有ボタンを使用できないその他のユーザー向けに作られています。次のマークアップをサイトに追加すると、訪問者に共有ダイアログをポップアップ表示するシンプルなアイコンが追加されます。

<a href="https://plus.google.com/share?url={URL}" onclick="javascript:window.open(this.href,
  '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img
  src="https://www.gstatic.com/images/icons/gplus-64.png" alt="Share on Google+"/></a>










覚えられない AdSense 用語

ページの CTR

ページのクリック率


ページのクリック率(CTR)は、広告のクリック数をページ ビュー数で割った値です。

Page CTR = Clicks / Page views

たとえば、250 ページ ビューのうち 2 回のクリックが発生した場合、広告ユニットのクリック率は 0.8% となります(2/250 = 0.8%)。



クリック単価(CPC)

クリック単価(CPC)は、ユーザーの 1 回の広告クリックから得られる収益額です。広告のクリック単価は広告主が決定し、宣伝内容に応じて競合広告より高いクリック単価が支払われる場合もあります。


ページの RPM

インプレッション収益(RPM)

ページのインプレッション収益


インプレッション収益(RPM)は、表示回数 1,000 回あたりの見積もり収益額を表します。インプレッション収益は実際の収益額ではありません。見積もり収益額をページビュー数、表示回数、またはクエリ数で割り、1,000 を掛けた値です。

計算方法:
インプレッション収益 =(見積もり収益額/ページビュー数)×1000

次に例を示します。

ページ ビュー数 25 回での見積もり収益額が 0.15 ドルの場合、ページのインプレッション収益は(0.15 ドル/25)×1,000 = 6 ドルとなります。
広告の表示回数 45,000 回での見積もり収益額が 180 ドルになる場合、広告のインプレッション収益は(180 ドル/45,000)×1,000 = 4 ドルとなります。
インプレッション収益は広告プログラムでよく使用される数値で、チャネルごとの収益を比較する際に役立ちます。

-----

ページのインプレッション収益(RPM)は、見積もり収益額をページ ビュー数で割り、1,000 を掛けた値です。

Page RPM = (Estimated earnings / Number of page views) * 1000

たとえば、ページ ビュー数 25 回での見積もり収益額が 0.15 ドルの場合、ページのインプレッション収益は(0.15 ドル/25)×1,000 = 6 ドルとなります。



カバレッジ


カバレッジとは、広告が 1 回以上表示された広告リクエストの割合です。一般的にカバレッジは、AdSense で関連性の高い広告が掲載されないサイトを特定するのに役立ちます。

計算方法:
カバレッジ =(広告が表示された広告リクエスト数/広告リクエストの合計)×100

たとえば、3 つの広告ユニットを掲載しているページがある場合、広告リクエストは 3 になります。これらの広告ユニットのうち 2 つで広告が表示され、1 つで表示されなかった場合、このページのカバレッジは 66.67% になります。同様に、検索ボックスがある場合、カバレッジが 80 % ということは、平均でクエリ 5 回に 1 回だけ検索結果に広告が表示されないことを意味します。

リンク ユニットの場合、カバレッジには、ユーザーがリンク ユニットの語句をクリックした後に広告が表示されたリンク ユニットの数が反映されます。リンク ユニットを表示するページのカバレッジは、ユーザーのクリックが必要となるため、他の種類の広告ユニットよりかなり低くなります。また、一致しない広告リクエスト数は多くなります。

100% に近い高いカバレッジは、ほとんどのリクエストに対して Google が広告を表示できたことを示します。カバレッジが低い場合は、Google がページに適した広告を表示できず、広告が表示されなかったか代替広告が表示されたことを意味します。カバレッジを最大限に高めるには、カバレッジが低い原因を確認されることをおすすめします。




https://support.google.com/adsense/answer/92360?hl=ja
https://support.google.com/adsense/topic/19363

2014年3月16日日曜日

HTML Head

HTML Head



<?php
// ページ先頭のパラメータ
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
echo '<html xmlns="http://www.w3.org/1999/xhtml">';
echo '<head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
echo '<title>hpapi</title>';
echo '<link rel="stylesheet" type="text/css" href="link.css" media="screen,all" />';
//echo '<link rel="shortcut icon" href="favicon.ico">';
echo '<link rel="icon" type="image/gif" href="./pic/favicon.gif">';
echo '<meta name="keywords" content="hpapi" />';
echo '<meta name="description" content="hpapi" />';
echo '<link rel="alternate" type="application/atom+xml" title="Atom" href="" />';
echo '<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="" />';
echo '</head>';
echo '<body>';

?>



<?php
//ページの終了
echo '</body>';
echo '</html>';
?>


自己流、ロゴ記録

自己流、ロゴ記録


<?php
function mf_log($log){
error_reporting(0);
date_default_timezone_set('Asia/Tokyo');
$file=basename(__FILE__);
$log_server[$file]=date('c');
$log_server['ip']=$_SERVER['REMOTE_ADDR'];
$log_server['uag']=$_SERVER['HTTP_USER_AGENT'];
$log_server['lg']=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$log_server['url']=$log;

$log_str='<?php //';
foreach ($log_server as $key=>$val){
$log_str=$log_str.$key.'>'.$val.', ';
unset($val);
unset($key);
}
$log_str=$log_str.'// ?>'."\r\n";
file_put_contents('log.php', $log_str, FILE_APPEND | LOCK_EX);
}
?>

userAgent の仕分け

userAgent の仕分け


<?php
switch($_SERVER['HTTP_USER_AGENT']){
case null:
$url='null';
break;

case 'Twitterbot/1.0':
$url='twitter';
break;

case 'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)':
$url='facebook';
break;

default:
$url='default';
}

//header("location:{$url}");
echo '<br>';
echo $url;

?>