7月 18
P_BLOGはW3C勧告に完全準拠したXHTMLを出力してくれます。これは大変ありがたいことなんですが、サポートしているXHTMLのバージョンが1.0 Strictと1.1なんですよね。普段使っている1.0 Transitionalが抜けているのがちょっと困った。
XHTML 1.0 Transitionalでないと、使えないタグがいろいろと出てきてしまいます。
aタグにtargetつープロパティーは無い?!?!
調べてみたらxhtml Strictにはtargetの指定は無いんです。
ええええじゃあページをblankであけるにはどうするのよ!!
こちらのサイトでも書かれているように、
target="_blank"
を書けないため、リンクを別ウィンドウで開くように記述できなくなります。まだ1.0 Strictに移行する気はないため、またP_BLOGの方をいじって対処してみます。
include/fnc_base.inc.php
394行目に挿入
} else if ($cfg['xml_version'] == '1.0t') {
$dtd =<<<EODTD
<?xml version="1.0" encoding="{$cfg['charset']}"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$cfg['xml_lang']}" lang="{$cfg['xml_lang']}">
EODTD;
$content_type =<<<EOCT
<meta http-equiv="content-type" content="text/html;
charset={$cfg['charset']}" />
<meta http-equiv="content-script-type" content="text/javascript" /><meta http-equiv="content-style-type" content="text/css" />
EOCT;
admin/preferences.php
管理画面で1.0 Transitionalを選択できるようにする
18行目を変更
switch ($cfg['xml_version']) {
case '1.0t':
$xml_ver_1t = 'checked="checked" ';
$xml_ver_1 = '';
$xml_ver_11 = '';
$xml_ver_11cn = '';
break;
case '1.1':
$xml_ver_1t = '';
$xml_ver_1 = '';
$xml_ver_11 = 'checked="checked" ';
$xml_ver_11cn = '';
break;
case '1.1cn':
$xml_ver_1t = '';
$xml_ver_1 = '';
$xml_ver_11 = '';
$xml_ver_11cn = 'checked="checked" ';
break;
default :
$xml_ver_1t = '';
$xml_ver_1 = 'checked="checked" ';
$xml_ver_11 = '';
$xml_ver_11cn = '';
break;
}
665行目に挿入
<input tabindex="1" accesskey="x" type="radio" size="40" name="xml_version" value="1.0t" id="xhtml1.0t" {$xml_ver_1t} /><label for="xhtml1.0t">1.0 Transitional</label><br />
以上で、DTDをXHTML 1.0 Transitionalに変えられました。管理画面の様子はこんな感じになります。
変更前:

変更後:

7月 18
ポイント2. URLから記号を排除
P_BLOGは動的にページを生成しているため、URLに”?”や”=”といった記号が入っています。これらの記号が入らないように、シンプルなURLでアクセスできるように修正してみます。
具体的には、
http://www.naotaka.com/macosx/article.php?id=1
を、
http://www.naotaka.com/macosx/article-1
に。
http://www.naotaka.com/macosx/category.php?k=P_BLOG
を、
http://www.naotaka.com/macosx/category-P_BLOG
に変更します。
この機能はApacheのmod_rewriteモジュールで提供されているので、まず自分の利用しているサーバーでこの機能が提供されているかをチェックします。さくらのレンタルサーバは対応していました。
.htaccess
RwriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article-([0-9]+)$ article.php?id=$1 [PT,L]
RewriteRule ^category-([^/]+)$ category.php?k=$1 [PT,L]
mod_rewriteはMac OS X 10.4で標準で使用できるので、あらかじめローカル環境でテストしておきます。
これで短くなったURLでもアクセスできるようになりましたが、P_BLOG内のリンクが記号を使った形式のままなので、そちらも修正しておきます。
インストールしたp_blogのディレクトリに移動し、
grep -nR ‘article.php?id=’ *
と
grep -nR ‘category.php?k=’ *
で、修正が必要なファイルを見つけます。include以下にある複数のファイルを修正する必要があるので、処理はRubyのスクリプトで’article.php?id=’を’article-’に、’category.php?k=’を’category-’に一括置換しました。この辺はもうちょっときちんと確認した方が良かったかもしれません。作業前のバックアップは必須ですね。
P_BLOGのフォーラムにも書かれていますが、Google Botなどは動的なページに負荷をかけすぎないようにアクセスを遠慮してしまうようなので、検索されやすくするためには不利だといわれています。
Google のインデックスには動的なページも登録されますが、動的なページは Google インデックスのほんの一部です。 URL に疑問符を含むページなど、動的に生成されるページによってクローラの問題が発生していると考えられる場合は、これらのページの静的なバージョンも作成することをお勧めします。
また、P_BLOGで使われている”?id=”とは違いますが、
URL で “&id=” パラメータを使用しない。このパラメータを含むページは Google のインデックスに登録されません。
という記述もあるため、一応URLに”id”は含まないようにしておきました。
単語の区切り文字は”-”を使用します。Google Guyによれば、Googleは”_”だと区切り文字とは見なされないそうです。”mac-os-x”なら三語ですが、”mac_os_x”だと”macosx”と認識するとか。ただ、効果のほどは不明です。
こちらも参考までに
7月 18
P_BLOGを、自分好みのHTMLコードに改変してみる。ついでに、ちょっとしたSEO対策も施すことにします。
ポイント1. URLからindex.phpを削除
P_BLOGは初期状態だと、”index.php”で終わるURLが多い。
例)
http://www.naotaka.com/macosx/index.php
http://www.naotaka.com/macosx/files/index.php
“index.php”を加えるのは冗長なので、アドレスがスラッシュで終わるように修正します。
include/user_include/base_xhtml.inc.php
line 20
‘index.php’ を削除
nclude/user_include/menu.inc.php
すべての ‘index.php’ を削除
ちなみに、検索エンジンは
http://pbx.homeunix.org/p_blog/
と
http://pbx.homeunix.org/p_blog/index.php
を別物と認識しているようなので、リンクを張るときはどちらかに統一した方が良いようです。Google Barのページランク表示でも、前者が4に対し、後者は5と異なった値を返します。
「Mac OS X blog : P_BLOGにちょっとしたSEO対策 (2)」 に続く…
7月 13
ずっと使い続けてきたMovable Type。導入当初はほかに選択肢もあまりなかったものですが、最近は良さそうなCMSやBlogシステムがそろってきているようです。
導入候補は、こんな感じ。
- WordPress ME
- PHP4 (version 4.2 もしくはそれ以上)
- MySQL (version 3.23.23 もしくはそれ以上)
- Nucleus CMS
- PHP (バージョン 4.0.6 以降)
- MySQL データベース (バージョン 3.23.38 以降)
- P_BLOG
- PHP4.3以上(PHP5対応)
- MySQL3.23以上(MySQL4対応)
- tDiary
- Ruby 1.6.[7-8], 1.8.[0-2](1.8系はtDiary 2.0以降のみサポートです)
PHPとMySQLの組み合わせが流行りかな。Perlで書かれているMTだといじれそうにないので、PHPかRubyを採用したものが良い。その他の動作環境も、ここのサーバーをホストしてくれてるさくらインターネットなら、どれでも問題なさそうで一安心。 あんまり多機能だったり、大がかりなものより、シンプルさを重視すると、一番良さそうだったのがP_BLOG。
Macでの日本語表示が、すごく綺麗なのもポイント。この辺が、英語版をローカライズしたCMSとの大きな違いかも。デフォルトのCSSも格好良いしね
Markdown記法も使えて、MTより編集もしやすいです。もう少し使い方になれてきたところで、完全に移行する予定。
旧サイト: » iBook G4 Blog
5月 23
SONY と SYON のロゴ。
一見すると、アルファベットを入れ替えただけかと思っちゃいました。よく見るとちょっと違いますね。SONYのロゴの方が上下を縮めた感じ。書体が似てるから見間違えたのかな?
このサイオンコミュニケーションズという会社。「ITmedia News:ポッドキャスト広告、差し替え手軽に 沖縄から新システム」という記事を読んで、初めて知りました。
12月 08
Rubyで書かれたXML/HTMLテンプレート・ライブラリ「Amrita2」のバージョン1.9.6が久しぶりにリリースされました。
Amritaを使えばページとロジックの分離ができるので、それぞれの部分の修正が容易になります。しばらく前から、なんらかのテンプレート・システムを使ってサイトをリニューアルをしたいと、目下習得中です。
当初はPHPとSmartyの組み合わせも考えて、そのための本も注文したんですが、どうもレンタルサーバの環境構築がうまくいかないのと、コードの見やすさを考えてRuby + Amrita2の組み合わせに落ち着きました。
今回のAmrita2のバージョンアップで1.9.5向けに書いたコードがそのまま動かなくて焦りましたが、新しいサンプルを参考にいくつか手直しすることで、なんとか動くようになりました。
以前はあったA2TDLのドキュメントなどが見当たらないようですし、変更点が出ていないのが残念な点。もう少しドキュメントやサンプルが欲しいところです。
11月 22
今まで気づかなかったけど、VALUE DOMAIN:バリュードメインの「日本語.JP」型の汎用JPドメイン名取得価格がキャンペーンで割引になってますね。
通常価格:3690円
↓
割引価格:660円
VALUE DOMAINのリストでは「日本語.jp」ドメインが最安になっちゃってます。期間限定とのことですが、ドメイン取得を検討されている方は候補に入れてみてはいかがでしょう?
ドメインネームはVALUE DOMAINで取得して、運用は☆さくらインターネット☆
ていうのがおすすめの使い方です。さくらのレンタルサーバのアカウントが一つあれば、複数のドメインネームをサーバースペースの好きなディレクトリに割り当てられて便利ですよ。
Recent Comments