Google

  • 海外からの利用者に向けて二カ国語や多言語のサイトを構築する時、アクセスページなどに埋め込むマップもそのページの対応言語に合わせたいケースはよくある。
    基本的にはアクセスしたユーザーの環境により表示は変わるのだが、クライアントの担当者が確認する時に日本語で地図が表示されているのは気持ち悪い。
    (さらに…)

  • googleも推奨している新しいAdsenseは非同期になり表示が早くなるという利点もある。

    非同期広告コードの例

    <script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <ins
    style="display:inline-block;width:300px;height:250px"
    data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
    data-ad-slot="xxxxxxxxxx">
    </ins>
    <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    </script>

    Adsenseはページに3個まで設定可能だが、各非同期コードに含まれるadsbygoogle.jsは1つで良いのだろうか、それともそれぞれの広告に付ける必要があるのか。

    この疑問にはAdSenseのヘルプページ「よくある質問」で答えられている。
    https://support.google.com/adsense/answer/3221666?hl=ja

    ページ上に複数の広告コードがある場合、各広告ユニットに

    <script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

    を含める必要がありますか?

    いいえ、その必要はありません。adsbygoogle.js は 1 回だけ読み込まれます。

    ということで、adsbygoogle.jsは1つにまとめられる。

  • スクリーンショット 2014-02-10 12.35.04

    Googleが2012年3月に実施したプライバシーポリシー変更がフランスのプライバシー保護法に違反してるとして下された判決により、15万ユーロの罰金とともに、48時間Google検索のトップページ告知することとなった。

    https://www.google.fr

  • 現在のChromeではウィンドウを開くと、過去に訪れていたサイトがスクリーンショットのサムネイルと共に複数表示されるのが標準となっています。
    いつも同じサイトにアクセスする人にとっては手間いらずの便利な機能かも知れませんが、いろいろなサイトを見る機会の多い人にはかえって邪魔だったり、訪れたページを周りの人に見られたくない場合もあるでしょう。
    その場合、Google Chromeの設定では非表示にすることが出来ないため以下の方法で非表示にします。

    1. アドレスバーに chrome://flags と入力

    2. 「これらの試験運用版は問題が発生する可能性があるため、ご利用の際には十分ご注意ください」という警告の下に多数のオプション設定が表示される。

    3. 『Instant Extended APIを有効にする』の項目「既定」または「有効」を「無効」にして、画面下部にある「Chromeを再起動」をクリック。

    これで再起動後は表示されなくなります。

    ※変更したい項目は『Instant Extended APIを有効にする』で項目全体の1/3あたりにあるが、見つけるのが面倒なのでページ内検索で『Instant Extended APIを有効にする』を探すといい。

  • Google Maps V3のコントロールボタンのカスタマイズは以下の方法で行う。

    ■コントロールボタンの種類の変更

    拡大縮小ボタンをiPhone等のスマートフォン向きなものに変更したい時は

    navigationControlOptions: {
    style: google.maps.NavigationControlStyle.SMALL
    }

    Androidの標準ボタンにしたい時は

    navigationControlOptions: {
    style: google.maps.NavigationControlStyle.ANDROID
    }

    ■コントロールボタンの位置

    各コントロールボタンの表示位置は簡単に変更できる。

    最上部

    position:google.maps.ControlPosition.TOP_LEFT
    position: google.maps.ControlPosition.TOP_CENTER
    position:google.maps.ControlPosition.TOP_RIGHT

    上部

    position: google.maps.ControlPosition.LEFT_TOP
    position: google.maps.ControlPosition.RIGHT_TOP

    中央部

    position: google.maps.ControlPosition.LEFT_CENTER
    position: google.maps.ControlPosition.RIGHT_CENTER

    下部

    position: google.maps.ControlPosition.LEFT_BOTTOM
    position: google.maps.ControlPosition.RIGHT_BOTTOM

    最下部

    position:google.maps.ControlPosition.BOTTOM_LEFT
    position: google.maps.ControlPosition.BOTTOM_CENTER
    position:google.maps.ControlPosition.BOTTOM_RIGHT

    最上部と上部、下部と最下部は微妙に位置が違う

    例えば、マップタイプのコントロールボタンを左上にしたい時は

    mapTypeControlOptions: {
    position:google.maps.ControlPosition.TOP_LEFT
    },

    拡大縮小ボタンを右下にしたい時は

    navigationControlOptions: {
    position: google.maps.ControlPosition.BOTTOM_RIGHT,
    }

    ■コントロールボタンの表示・非表示

    ストリートビューのコントロールボタンを非表示にしたい時は

    streetViewControl: false,

    マップタイプのコントロールボタンを非表示にしたい時は

    mapTypeControl: false,

    何もコントロールボタンを表示したくない時は

    disableDefaultUI: true,

    ■サンプルコード

    <script type="text/javascript">// <![CDATA[
    function attachMessage(marker, msg) {
    	google.maps.event.addListener(marker, 'click', function(event) {
    	  new google.maps.InfoWindow({
    		content: msg
    	  }).open(marker.getMap(), marker);
    	});
      }
      var data = new Array();
      var myMap = new google.maps.Map(document.getElementById('map'), {
    	zoom: 15,
    	center: new google.maps.LatLng(26.731889,128.168945),
    	streetViewControl: false,
    	mapTypeControl: false,
    	mapTypeId: google.maps.MapTypeId.ROADMAP,
    	navigationControlOptions: {
    		position: google.maps.ControlPosition.TOP_LEFT,
          style: google.maps.NavigationControlStyle.SMALL
        }
      });
      for (i = 0; i <data.length; i++) {
    	var myMarker = new google.maps.Marker({
    	  position: data[i].position,
    	  map: myMap
    	});
    	attachMessage(myMarker, data[i].content);
      }
    // ]]></script>
  • 7月にスタートした、質の低いサイトの検索順位を下げることで検索の質を向上させるための検索アルゴリズム変更であるパンダアップデートだが、この中でいうところの「質の低いサイト」の定義として、情報が少ない(テキストが少ない)、他のサイトと同じ、というものがある。

    コピーサイトのようなものは論外として、独自性を求められることに対しては、ブログのようなものであれば、純粋にコンテンツを作成しているだけで問題ないが、販売系サイトのように、他のサイトでも同じ情報が掲載されている場合、評価が下がる可能性がある。

    そんな場合は、そのサイトに独自の情報が存在するように、購入者のコメントや感想などを書き込んでもらえるような仕組みを追加するといい(ただしコンテンツミルとならないように注意)。
    もちろん、コメント等が期待できない場合は、商品の紹介等に運営者がオリジナルのコメントやおすすめポイントなどを書くのも良いだろう。

  • デジタルゲートが運営しているサイトの中に
    iphonestyle.jp
    というサイトがある。

    基本的にiPhoneに関するニュースのピックアップやTips等を書いているサイトだが、このサイトが異常なほどアクセスされない。
    先月、一ヶ月間のアクセスは「1」。

    ドメイン名等で検索すると、インデックスはされていることがわかる。ただ、キーワードマッチを考えると不自然に出てくる順番が低い。

    まず疑ったのが、中古ドメインであるiphonestyle.jp
    このiphonestyle.jpというドメイン、以前は中国の企業が転売目的で取得していたものだが、売れないと諦めたのか失効したのか、お名前.comから営業メールを貰い(既にiphonestyle.meというドメインを所有していたため)、オークションという形で手に入れたもの。
    前の所有者が何かペナルティを受けるようなことをした可能性を思い、ウェブマスターツールから問い合わせてみたが結果は「No」。特にドメインがペナルティを受けている訳ではないらしい。

    次に考えたのが、Google側のパンダアップデート(検索結果の品質を高めるために実施しているアルゴリズムのアップデート)。
    ニュースのピックアップ等も多いから、低品質サイトと評価され順位を下げられている可能性はある。
    ただ、同様なサイトをiphonestyle.meで運営していたことがあるが、その時はこれほど極端な結果にはなっていない。

    そして、ペンギン・アップデート。iphonestyle.jpが故意に順位上昇させようとするなどのガイドラインに違反してしているとは考えにくいことから、可能性は低いと思われる。

    結局のところ、単純にアルゴリズムが変わったからなのか、他に大きな要因があるのかはっきりしない。
    いずれにせよ、アクセスを失う心配は無いから、今後、いろいろな方法を試して、ここで結果報告することにする。

  • Google Analyticsでユーザーのアクセス数や各種情報の統計をとっている場合、サイト制作者によるアクセスや、運営・管理者のメンテナンスや確認等によるアクセスを除外することが重要です。
    そんな要望にこたえるため、Google アナリティクスでは、簡単な方法で指定したIPアドレスをGoogleAnalyticsのデータから除外することができます。

    方法は以下の通り。

    Google Analyticsにログイン

    サマリーページから、除外対象を設定したプロファイルの「編集」をクリック。

    プロファイルに適用したフィルタの欄にある
    「+フィルタを追加」を選択をクリック

    GoogleAnalyticsに新しいプロファイルを追加する

    フィルタ名:「自分のIPアドレスフィルタ」(名称は自由)

    フィルタの種類:
    プルダウンから「除外」「IPアドレスからのトラフィック」を選択

    IPアドレスの欄:除外したいIPアドレスを入力。

    自分のIPアドレスが分からない場合は「確認くん」などのウェブサービスを利用するといい。
    http://www.ugtop.com/spill.shtml

    「変更を保存」をクリック。

    これで設定したIPアドレスからのアクセスはGoogleAnalyticsのデータから除外されます。