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;

?>

スマートフォンサイトCSSのmeta要素

スマートフォンサイトCSSのmeta要素



<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0" />
<body style="width:70%">









PHPファイルの直接アクセス拒否する

PHPファイルの直接アクセス拒否する



if (basename(__FILE__)==basename($_SERVER["REQUEST_URI"])){
       header("location:{$url}");
exit('Error: Cannot modify header information !!!');
}

2014年3月15日土曜日

SimpleXMLでCDATAの取り扱い

SimpleXMLでCDATAの取り扱い

simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

$xmlo=simplexml_load_file($this->xmlurl,$class_name = "SimpleXMLElement",LIBXML_NOCDATA);

SimpleXMLElement simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )


options
   PHP 5.1.0 と Libxml 2.6.0 から、追加の Libxml パラメータ を指定するために options を使用することもできます。


LIBXML_NOCDATA (integer)
   CDATA をテキストノードとしてマージ



2014年3月12日水曜日

iPhone からのアクセスが圧倒的に多き

iPhone からのアクセスが圧倒的に多き


Android のアクセスは目立たないぐらい、20%ぐらい弱



ログファイル




2014年3月9日日曜日

robots.txtの記録

robots.txtの記録

robots.txtの書き方

SEO設定

robots.txt ファイルが必要となるのは、サイトに検索エンジンのインデックスに登録したくないコンテンツが含まれる場合のみです。サイトのすべてのコンテンツを検索エンジンのインデックスに登録したい場合は、robots.txt ファイルは(空のものでも)必要ありません。


User-agent:
Disallow:
Allow:
 一行空ける
Sitemap: http://hpapi.blogspot.com/feeds/posts/default?orderby=UPDATED


User-agent:例
User-agent:               //クローラー
User-agent: *              //全てのクローラー
User-agent: Mediapartners-Google  //指定クローラー
User-agent: Googlebot-Image
User-agent: Googlebot


User-agent:例
Disallow                                       //ブロック
Disallow: /                //サイト全体をブロック
Disallow: /directory/                     //指定ディレクトリ
Disallow: /file.html                         //指定ページ
Disallow: /*?                                //すべての URL へのアクセス
Disallow: /*.txt$                           // すべての *.txt


Allow: 例
Allow:                   //クローラー許可
Allow:/directory/files.html              //


基本的に下記でOKですが
User-agent: *
Disallow:


検索エンジンにクローラーされたくない時に
Disallow: /affiliate/

を追加します。



大手サイトの例
http://www.google.co.jp/robots.txt
http://jp.msn.com/robots.txt
https://www.facebook.com/robots.txt
https://twitter.com/robots.txt
http://www.rakuten.co.jp/robots.txt
    User-Agent: *
   Disallow: /images/
   Disallow: /backup/
   Disallow: /cgi-bin/
   Disallow: /shops/         Shopsがロックされています。




参考
https://support.google.com/webmasters/answer/156449?hl=ja









追記:
サイト管理者やページ作者がクロールを防ぐ (制御する) 手段として ロボット除け規約 が定着しています. その設定方法には以下の2通りの方法があります.


  • robots.txt ファイル

  • あなたがサイト管理者で, 必要な権限を持っているなら, クローラへの指示を記述した /robots.txt というファイルをサイトのトップに 置いて下さい (http://www.your-site.com/robots.txt など). 例えば, 以下の記述は Steeler があなたのサイトからダウンロードするのを 全面的に 禁止します.

        User-agent: Steeler
        Disallow: /
  • Disallow にはパス名の先頭部分 (プレフィックス) の他, ワイルドカード "*" や パス末尾を表す "$" を使うことができます. 例えば, 以下の記述は /images ディレクトリ以下のコンテンツとともに, 拡張子 .gif を持つコンテンツをアクセス禁止にします.

        User-agent: Steeler
        Disallow: /images/
        Disallow: *.gif$
  • アクセスの頻度が問題になる場合, Crawl-delay を指定して下さい. 例えば, 以下の記述はサイトへのアクセスの間隔を 少なくとも 30 秒空けるよう指示します.

        User-agent: Steeler
        Crawl-delay: 30.0

  • Robots メタタグ

  • あなたが HTML (テンプレート) のソースを編集できるなら, robots メタタグ を利用することもできます. HTML 文書のヘッダに

        <META NAME="robots" CONTENT="noindex,nofollow">
  • という行を記述すると, Steeler はその文書からのリンクを たどらなくなります.





2014年3月8日土曜日

Windows FTP  記憶しておきたいコマンド

Windows FTP  記憶しておきたいコマンド


FTPコマンド

-i   複数ファイルの転送の際に対話型プロンプトを表示しないようにします。 

注:追加してFTPコマンドを起動すると複数ファイルの操作時に対話が表示されなくなります。
  例え複数ファイルを削除する際にファイルの確認メッセージが表示されなくなります。
  例: delete *.txt

-s:FileName
   ftp コマンドが含まれているテキスト ファイルを指定します。これらのコマンドは、
   ftp を起動すると自動的に実行されます。このパラメータにスペースを含めること
   はできません。リダイレクト (<) の代わりに、このパラメータを使ってください。

   例: ファイル
             ftpcmd.txt
             open
             server.net
             user
             passwd
      verbose
             cd abc
             dir
             close
             quit

      実行方法
      ftp -i -s:ftpcmd.txt


FTPサプコマンド

verbose   既定では、verbose は有効になっています。verbose モードが有効になっている
       と、ftp のすべての応答が表示されます。ファイル転送が完了すると、転送効率
       に関する統計情報も表示されます。 



よく使われるコマンド

ftp -i -s:file.txt






FTPコマンド詳細一部

構文
  ftp [-v] [-d] [-i] [-n] [-g] [-s:FileName] [-a] [-w:WindowSize] [-A] [Host]

パラメータ
  -v  FTP サーバーの応答を表示しないようにします。 
  -d  FTP クライアントと FTP サーバー間で渡されたすべてのコマンドを表示して、
      デバッグできるようにします。 
  -i   複数ファイルの転送の際に対話型プロンプトを表示しないようにします。 
  -n   初期接続を行ったときに、自動的にログオンする機能を無効にします。 
  -g   ファイル名の globbing を無効にします。glob は、ローカル ファイル名
      およびパス名で、アスタリスク (*) と疑問符 (?) をワイルドカード文字として
      使えるようにします。詳細については、「Ftp : glob」を参照してください。 
  -s:FileName 
      ftp コマンドが含まれているテキスト ファイルを指定します。これらのコマンド
      は、ftp を起動すると自動的に実行されます。このパラメータにスペースを
      含めることはできません。リダイレクト (<) の代わりに、このパラメータを
      使ってください。 
  -a   FTP データ接続をバインドするときに、任意のローカル インターフェイスを
      使用できることを指定します。 
  -w:WindowSize 
      転送バッファのサイズを指定します。既定のウィンドウ サイズは 4096 バイトです。 
  -A   FTP サーバーに匿名ユーザーとしてログオンします。 
  Host 
      接続する FTP サーバーのコンピュータ名、IP アドレス、または IPv6 アドレスを
      指定します。ホスト名またはアドレスを指定する場合は、行の最後のパラメータ
      として指定する必要があります。 












2014年3月2日日曜日

訳の分からないuserAgent(ユーザーエージェント)

訳の分からないuserAgent(ユーザーエージェント)


ロポットとユーザーを区別して対応するための Function 。


<?php
mf_rot();

function mf_rot(){
//echo '<br>';
//echo $_SERVER['HTTP_USER_AGENT'];
//echo '<br>';
//echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
//echo '<br><br><br><br><br><br>';

$ulg=array();
$robots=array(' ',
'Java/1.7.0_25',
'Twitterbot/1.0',
'ceron.jp/1.0',
'NING/1.0',
'Apache-HttpClient/4.3 (java 1.5)',
'Google-HTTP-Java-Client/1.17.0-rc (gzip)',
'MetaURI API/2.0 +metauri.com',
'Yahoo:LinkExpander:Slingstone',
'EventMachine HttpClient',
'ShortLinkTranslate',
'msnbot/1.1 (+http://search.msn.com/msnbot.htm)',
'QuerySeekerSpider ( http://queryseeker.com/bot.html )',
'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)',
'Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)',
'HTTP_Request2/2.2.1 (http://pear.php.net/package/http_request2) PHP/5.5.9',
'Mozilla/5.0 ()',
'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; SLCC1; .NET CLR 1.1.4322)',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1',
'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)', //***
'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', //***
);

if(!empty($_SERVER['HTTP_USER_AGENT']) and !empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
if (!in_array($_SERVER['HTTP_USER_AGENT'],$robots)){
$ulg=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);

if($ulg['0']=='ja' or $ulg['0']=='ja-jp'){
echo '<br>ja-jP<br>';
echo '<br>is user<br>';
echo '<br>is japanese<br>';
}else{
echo '<br>is not japanese<br>';
echo '<br>exit1<br>';
}
}else{
echo '<br>is Robot<br>';
echo '<br>exit2<br>';
}
}else{
echo '<br>Empty<br>';
}
}
?>