#seo

“wwwあり”か”wwwなし”はSEO的には優劣はありませんし、 どっちを使うかはたいてい各人の好き嫌いで決まっています。 例えばこのサイトの場合www.kinopyo.comとkinopyo.comで全部アクセスできますが、 私は”wwwあり”で正規化ています。 この正規化というのは非常に重要で、検索エンジンに対しての知らせです。 Googleのヘルプによると下記の解説になります。

使用するドメインとは、サイトのページをインデックスに登録する際に使用するドメインです。使用するドメインを http://www.example.com と指定すると、http://example.com の形式のリンクが検出された場合、Google ではそのリンクを http://www.example.com として処理します。また、検索結果に表示する URL は設定に基づいて決まります。

なので”wwwあり”と”wwwなし”が同じサイトであれば 正規化する必要があります。

正規化する方法

.htaccessが使える環境では.htaccessを下記のように設定 .htaccessファイルはサイトのルートディレクトリに置いてください。 例えばこのブログのURLはwww.kinopyo.com/blogになっていますが、 .htaccessファイルはwww.kinopyo.comのディレクトリに置いてあればOKです。 設定に基づいてリダイレクトします。

wwwありに統一

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

wwwなしに統一

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.com *NC*
RewriteRule ^(.# )$ http://example.com/$1 *R=301,L*

※”example.com”は自分のドメイン名に置き換えてください。

Googleウェブマスターツールでの設定

Googleウェブマスターツールは自分のサイトとGoogle検索の関係いついて いろいろ設定できる支援ツールです。 ここでは自分が”www有り無し”をGoogleに伝えるための設定をします。 そうしないとGoogleは”www有り無し”をそれぞれ別のページへの異なる参照として処理されます。

Googleウェブマスターツール使うにはまずサイトを登録

サイトを正規化するためにはwwwありとwwwなしの両方を登録する必要があります。

Googleウェブマスターツール

Googleが提供するMetaデータをサイトのページに貼り付けることでサイトが確認されます。 (具体的な認証方法はGoogleのヘルプを見てください)

使用するドメイン

登録完了後はサイトを選択し、「サイト設定→設定→使用するドメイン」で 利用するドメイン、つまりwww有りなしを指定してください。

Googleウェブマスターツール

Wordpressお使いの方は注意を

Wordpressの「設定→一般」でサイトURLが正しく設定されるか確認してください。 もし.htaccessでは”wwwあり”で指定しWordpressでは”wwwなし”と指定した場合は 無限ループとなるため、サイトがエラーとなり表示できなくなります。 Wordpressの仕様は調べていないが、どうやらWordpressの設定によりリダイレクトするように見えます。

参考サイト

wwwあり/wwwなし、どちらを使用するか?

#rails

システムを作る時に、パスワードを2回入力してもらって、確認処理をおこなうことが多いですね。 そんなめんどな仕事には、Railsはvalidates_confirmation_of メソッドを用意してくれました。 それでは、使い方を見てみましょうか。

まず、モデルで以下のチェックを行います。

validates_confirmation_of :password  #カラム名
attr_accessor :password_confirmation #カラム名に_confirmation

そして、関連のビューで、以下の処理を書きます。

= password_field :user, :password
= password_field :user, :password_confirmation

これで、自動的に入力されたパスワードは同じかどういかを確認してくれます。

※attr_accessorは、再入力フィールドの値を保存するための仮想カラムです。

#other

この間Yahooアドパートナーを申請しました。 Yahooアドパートナーとはあなたのサイトに広告を掲載し、 閲覧もしくはクリックされたことで報酬がもらえるサービスです。 GoogleのAdSenseに相当するものです(しかし広告の質はまだまだ)。

申請してから一度も使った事なかったのですが、 今日広告のコードを貼りつけたら表示されませんでした。 いろいろ探してみたらサイトURLに”wwwあり”と”wwwなし”が問題となったようです。 Yahooに申請するときは”wwwあり”のwww.kinopyo.comで申請したのですが、 このブログでは今までずっと”wwwなし”のkinopyo.comで利用してました。 その違いで広告は表示されないのです。

解決策

  • Wordpressの一般設定でブログのURLを”wwwあり”に明確に設定
  • SEO対策の一環として”wwwなし”のURLを”wwwあり”にリダイレクト

SEO対策の具体的内容はまた今度まとめます。

#rails

セッションを使って、データを保存する時、 以下のエラーが表示されました。

Status: 500 Internal Server Error
ActionController::Session::CookieStore::CookieOverflow

原因:Railsのセッションに保存できるデータの長さは4KBしかないです。

保存するデータは4KBをオーバーした場合、CookieOverflowエラーが表示されてしまいます。

解決方法:

セッションデータをDBに保存します。

  • セッションデータを保存用テーブルを作成します。 以下のコマンドを実行します。
rake db:sessions:create
rake db:migrate
  • config/environment.rbで以下の行をコメントアウトします。
config.action_controller.session_store = :active_record_store
  • サーバーを再起動します。

これで、解決です。

#eclipse editor

EclipseにMavenのプラグインをインストールした後にEclipseを起動したら以下のエラーメッセージが出ました。

<a title=”Maven Integration for Eclipse JDK Warning” rel=”lightboxpics834” href=”https://images.kinopyo.com/wp-content/uploads/2010/01/MavenIntegrationforEclipseJDKWarning.jpg)><img class=”attachment wp-att-835 “ src=”https://images.kinopyo.com/wp-content/uploads/2010/01/MavenIntegrationforEclipseJDKWarning.jpg) alt=”Maven Integration for Eclipse JDK Warning” width=”441” height=”181” /></a>

The Maven Integration required that Eclipse be running in a JDK,
because a number of Maven core plugins are using jars from the JDK.

Please make sure the -vm option in eclipse.ini is pointing to a JDK and
verify that Installed JREs are also using JDK installs.

使ってた環境は確かにJREのみがあってJDKはなかったんです。 回避策としては

  • JDKをインストール
  • eclipse.iniに-vmオプションでインストールしたJDKと関連付ける

JDKのインストール

JDKのダウンロードはこちら: Sun Java インストール後JAVA_HOMEとPATH環境変数もあわせて編集 エクスプローラ→マイコンピュータ→右クリック→プロパティ→詳細設定タブ→環境変数ボタン

eclipse.iniの編集

jdkのパスはインストール先に合わせて下記内容を追記 vmの後に改行が必要

 -vm
C:\Java\jdk1.6.0_18\bin\javaw.exe

これで再起動したらエラーメッセージは出なくなりました。

#tool

Javaの.classから逆コンパイラしてもともとのソースコードが見れるツールです。 ずいぶん前一度使ったことがあります。 スタンドアロンのJD-GUIツールと、 Eclipseのプラグインとして使えるJD-Eclipseがあるらしいです。 スタンドアロンはJRE環境が必要とせずインストールだけで使えます。 jarファイルもサポートされているようです。

java-decompiler

公式サイト:[JD Java Decompiler](http://java.decompiler.free.fr/)
#wordpress

本文はWPテーマGlowing Amberに二番目のサイドバーを追加する方法を紹介します。

Glowing Amberは今現在このブログで使われているテーマです。 見た目がいいデザインがいいのですぐインストールしましたが、 簡単にカスタマイズするメニューがなくて少し不便を感じました。 マニュアルもなく、作者が提示したURLにも無効となっています。。。

二番目のサイドバーを追加する方法

  • Main Index Templateのindex.phpかSingle Postのsingle.phpを編集します。 それぞれブログのトップページ、個々の記事ページのファイルです。

  • サイドバーを追加したい場所で下記コードを挿入します。

<div id="left">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar Left')) : ?><?php endif; ?>
</div>

例えば左に追加したい場合は

の前に上記コードを挿入します。 +
に変更 これはid=mainbody-lrにwidthが適切に設定されているからです。 + Stylesheet (style.css)で幅を編集 104行目近くにある#mainbody-lr と#left, #rightのwidth値を編集すればOKです。 これでWidgetsメニューでSidebar Leftが使えるようになります。