2015年11月19日木曜日

404エラーページのSEO効果

404エラーページのSEO効果

こんにちは山田です。

404ってネットサーフィンしたことがある人ならだれでもしっている
メジャーなエラーですよね。

このエラーの発生要因とすれば
  • 人為的なURLの入力ミス
  • ページの削除・移動
が考えられますね。

ということで、SEOの観点からすると404エラーはどうなんだろうと思い調べてみました。

リンクをWebページにペタペタ張っていくと
リンク先がないファイルに行き当たることがあります。
クローラーはよくやっていそうですね。

もし、404エラーページ到着した場合
何もリンクがなかった場合
 :そこで終わり
有益なコンテンツへのリンクがあった場合
 :クローラーはそのリンクを辿ってその後も多くのページを回遊しようとしてくれます。
  

404エラーページにおけるSEO効果としては上記のような対策になりえます。

有益な 404 ページを作成する


SEO効果を最大化させる404エラーの対処法

 有益な404ページのデザイン設計と実例まとめ 
  ↑404ページがゲームになっている実例もあって面白いです。

2015年11月18日水曜日

【Java】UTC時間の文字列をTimestamp型に変換する方法

こんにちは。エンジニアのKです。

solrのレスポンスに含まれる時間文字列をTimestamp型に変換しようとしたときに、少しはまったので覚書です。
solrに格納される時刻はデフォルトでUTC時間とのことで、ぱっと見、日本時間から9時間前の表記となります。
solrのdate型カラムのレスポンス値は以下のような文字列になっています。

2015-11-18T10:00:00Z

この文字列を以下のようにしてTimestamp型に変換します。

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

(略)

    SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
    try {
        Timestamp t = new Timestamp(dateFormatter.parse("2015-11-18T10:00:00Z").getTime());
        System.out.println(t); // 2015-11-18 19:00:00.0
    } catch (ParseException e) {

    }


  1. SimpleDateFormatでフォーマットを指定します。TとZは'(シングルクオート)で囲んでエスケープしないとParseExceptionが投げられてしまいます。
  2. SimpleDateFormat#setTimeZoneでタイムゾーンを設定できます。今回は対象の文字列にあわせてUTCにします。
  3. あとはSimpleDateFormat#parseでDate型オブジェクトに、Date#getTime()でUNIXタイムスタンプ値に、さらにTimestampのコンストラクタに渡すことで、無事Timestamp型に変更することができました。


リピーターにバインドしたデータの奇数個目と偶数個目で異なるクラスのCSSをあてる方法

こんばんはSです!

長いタイトルの通り、今日は
【リピーターにバインドしたデータの奇数個目と偶数個目で異なるクラスのCSSをあてる方法】
についてです♪

こういうときに役に立つのが%で、下記のように書くと上手くいきます。

<li class='<%# (((Container.ItemIndex % 2) == 1) ? "even" : "")%>'>
※even : 偶数個目にだけ適用するCSSのクラス名
(奇数個目じゃない?と思った方は私と同じ罠にはまっています笑)

▼イメージ

<li >aaa</li>
<li  class='even'>aaa</li>
<li >aaa</li>
<li  class='even'>aaa</li> ・・・


Google Maps JavaScript APIを使って、マップをWebページに埋め込む方法

こんにちわ、開発者のⅠです。
今朝、JRのある路線で遅延が発生していたようですが、その原因が猪と衝突したことによる車両不具合だったそうです……どれだけ強い衝撃だったのでしょうか。

さて、今回は前回の投稿の続きです。


前回紹介したGoogle Maps APIには、様々な種類があります。

  • Google Maps Android API
  • Google Maps SDK for iOS
  • Google Maps JavaScript API
  • Google Places API for Android
  • Google Places API for iOS
  • Google Maps Roads API
  • Google Static Maps API
  • Google Street View Image API
  • Google Maps Embed API
  • Google Places API Web Service
  • Google Maps Geocoding API
  • Google Maps Directions API
  • Google Maps Distance Matrix API
  • Google Maps Geolocation API
  • Google Maps Elevation API
  • Google Maps Time Zone API
今回はその中の「Google Maps JavaScript API」を利用する場合について、お話したいと思います。

まず、マップを表示させたいページのheaderに以下のタグを追加してください。

これを追加することで、APIのライブラリを読み込みます。


次に、JavaScriptを記述します。まずはプレーンな地図を表示してみましょう。

 google.maps.event.addDomListener(window, 'load', function () {
  var map = document.getElementById("map_canvas");
  var options = {
   zoom: 11,
   center: new google.maps.LatLng(35.360667, 138.727775),
   mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  new google.maps.Map(map, options);
 });

var optionの中のプロパティを説明しますと、以下の通りです。

① zoom = "ズーム(拡大)値"の初期値、大きいほど拡大されて表示されます

center = "マップの中心座標(緯度, 経度)"の初期値、この座標を中心としてマップが表示されます

③ mapTypeId = "表示するマップの様式"を指定します。今回は"ROADMAP(=2D地図)"を指定しています。

※なお、「zoom」と②「center」は必須です。この2つを指定しないとマップが表示できません!!

いかがでしょうか?
地図の仕様ですが、公式ページとほぼ同等です。

これをさらにカスタマイズすることも可能ですが、それについては次回お話したいと思います。


---------------------------------------------------------------------------------

*追記 (11月19日)*

コメント欄よりご指摘を受けまして、ここに追記させていただきます。

上記の内容に加えて、HTMLのbody内に以下のdivタグを加えてください。


これがマップを実際に表示させる場所となります。
つまりは、必須の要素です!
こんなに大事な内容をお伝えできていなかったこと、申し訳ありませんでした……。
また、コメントを下さったsystem kgさんに感謝いたします。

301リダイレクトとは

301リダイレクトとは


こんにちは山田です。


写真は明るければきれいに見えるなと思う今日この頃です。
うまく話をつなげられないので悔しい限りですが本題に入ります。

■そもそもリダイレクトとは
指定したWebページから、自動的にほかのWebページに転送される機能です。
おもにURLが変わったときに、新しいURLへ誘導するときに使われます。

■種類としては
301リダイレクト Webサーバーが別のサイトへ転送処理を行う 
302リダイレクト クライアントPCが転送処理を行う
があります。
サーバでやるのかクライアントでやるのかの違いです。

■SEO的には?
Geogleからすると301リダイレクトを推奨しているようです。
https://support.google.com/webmasters/answer/93633?hl=ja

設定方法についてはまた今度