CPIでパーマリンク

CPI独自仕様のPHPでは、WordpressでPermalinks機能が正常に動作しない。
パーマリンクの設定をすると、.htaccessファイルに

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

と自動挿入するが、これだけだと駄目で、その前に

Options +FollowSymLinks

を入れる必要がある。これは、CPIサーバーでmod_rewriteを有効にするための記述。

.htaccessファイル全部の内容

suPHP_ConfigPath /usr/home/サーバー番号/secure/ ←php.iniの場所
AddHandler x-httpd-php528 .php ←使用するPHPのバージョン指定
Options +FollowSymLinks ←今回手動で追加

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Yahoo! からの訪問者

Yahoo! にはじめてインデックスされたのが、昨年の12月4日。
とはいうものの、今まで検索での訪問者は全て Google 経由だったのだが、4月26日に初めて Yahoo! 経由の訪問者あり。今後の増加を期待。

一時期、 Google のインデックスが激減したが、それも復活し、ほぼ全てのページがインデックスされている。PageRank はない。WordPressとの相性もあるのだろうか。

更新情報サービス(Ping送信)を利用する

WordPress は、投稿を作成したり更新したりする毎にXML-RPC ping を送信することによって、ブログが更新されたことを人気のある更新情報サービスに自動的に通知する。デフォルトで Ping-O-Matic のサーバーが設定されているが、日本のものを追加してみる。

今まで利用していたPing送信先URL
http://rpc.pingomatic.com/

今回追加したPing送信先URL
http://bulkfeeds.net/rpc
http://coreblog.org/ping/
http://ping.bloggers.jp/rpc/
http://blog.goo.ne.jp/XMLRPC
http://www.blogpeople.net/servlet/weblogUpdates
http://ping.cocolog-nifty.com/xmlrpc
http://blogdb.jp/xmlrpc
http://www.blogoole.com/ping/
http://ping.amagle.com/

CPIでWordPress

クライアントのCPIサーバーにWordPressをインストールする。たしかここは、PHPに対する扱いが面倒だったような気がしたので、.htaccessファイルが自動で追加されるのを期待して、コントロールパネルからインストールしてみる。インストール自体はうまくいったが随分と古いバージョンだったので、上書きで2.7Jをインストール。すると、文字化け。軽くググってみたら、CPIでWordPressをやるのは結構厄介?

あと、utf-8にしたphpMyAdminでテーブルを削除できないのだが、ja-eucに変更してからだと削除できる。

ここを参考にphp.iniを作成する。コントロールパネルの【お客様情報】から、【プログラムのパスとサーバの情報】の下の方にある使用するPHPと同じバージョンのphp.ini情報をコピーして、下記の記述を修正する。

mbstring.internal_encoding = utf-8
mbstring.encoding_translation = Off
mbstring.http_input = auto
mbstring.detect_order = auto

ァイル名を【php.ini】として保存して任意のディレクトリにアップロードする。(secureなディレクトリが良)

次に、php.iniの設定を反映させるため、php.ini の設置場所を指定した一行を記載した.htaccessを作成する。これにより、下位ディレクトリ全体にPHPの独自設定を反映させる。

suPHP_ConfigPath /usr/home/(ユーザーID)/secure/(ディレクトリ)/

これで、utf-8のPHPが指定したディレクトリで動くようになり、wordpressの文字化けも解消した。phpMyAdmin が ja-euc のままだったが、文字化けにならず、念のため utf-8 にした後も問題なく動作した。

カテゴリー表示のカスタマイズ

WordPressのデフォルトでは、カテゴリーメニューをクリックすると、そのカテゴリーの記事がズラっと表示され、一定数を超えると複数ページになる。これだと、必要な記事も探しづらいので、カテゴリー内のメニューを作ることにする。

まず、プラグインの Custom posts per page (現在は配布していないようです。追記:09.12.26) をインストールする。このプラグインは、1ページに表示される投稿数を[‘home’][‘day’][‘month’][‘search’][‘year’] [‘author’][‘category’]など項目別に指定することができる。これを用いて、カテゴリーメニューを、1ページで全部表示するように設定する。

次に、category.php(または archive.php など)をカスタマイズする。テーマによっては、category.phpが存在しない場合は、index.php などをベースにして、新しくcategory.phpを作成すれば、カテゴリーをクリックしたときに表示するページになる。

カテゴリーを選ぶと、以下の順番でテンプレートを読み込んでいくので、個別に指定をすれば、カテゴリーの中でも表示を異なったものにすることができる。

  1. category-x.php (← “x” 部分はカテゴリ ID)
  2. category.php
  3. archive.php
  4. index.php

今回は、category.phpを新規に作成する。ループ内にタイトルと日付をリストで表示させた。

<ul>
<li>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a>
<br /><?php the_date(”); ?>
</li>
</ul>