WordPressのパーマリンク構造を変更

WordPressのパーマリンク構造はデフォルトで下記1のようになっています。すべてのサーバ環境で動くようにとこのようになっているそうですが、「?」という記号に以前から違和感がありました。

  1. デフォルト・・・初期設定の構造:?p=投稿ID(記事番号)

    (例)http://www.example.com/?p=123

  2. 日付と投稿名・・・投稿日付とタイトル(投稿スラッグ)を用いた構造

    (例)http://www.example.com/2009/09/01/sample-post/

  3. 月と投稿名・・・投稿月とタイトル(投稿スラッグ)を用いた構造

    (例)http://www.example.com/2009/09/sample-post/

  4. 数字ベース・・・投稿ID(記事番号)を用いた構造

    (例)http://www.example.com/archives/123

  5. カスタム構造

そこで今回、上記4の数字ベースに変更することにしました。

パーマリンク構造をデフォルト以外にする場合は、.htaccessファイルにも設定が書き込まれるとのことで、空の.htaccessファイルをWordPressルートディレクトリに入れ、パーミッションを666にしておきました。

次にダッシュボード→設定→パーマリンク設定で数字ベースにチェックを入れ、[変更を保存]ボタンをクリックすると、この画面で行なった設定変更がデータベースに保存されるとともに、先ほど用意した.htaccessファイルにも書き込みが行われます。「パーマリンク構造を更新しました。」とメッセージが表示されたら、.htaccessのパーミッションを644に戻して、作業完了です。

(もっと初期の頃にこういう設定変更は行うものですよね。誰も読んでいないブログだからいいものの・・・)

WordPressのキャッチフレーズを変更

WordPressのキャッチフレーズを変更しました。

かなり前から気になっていたのですが、いつまででも初期値の「Just another WordPress weblog」ってのもどうかと思って、今日ようやく変更しました。

ダッシュボードの設定から一般設定の画面を表示させて、キャッチフレーズの欄を変更すれば作業完了です。

WP Security Scanプラグインのアップグレード

WordPressを2.8.4にアップグレードした時に気がついたのですが、ダッシュボードのプラグイン欄に赤い四角に1のマークが表示されていました。

プラグインの管理ページを開くと「新しいバージョンの WP Security Scan が利用可能です。バージョン 2.7.1 の詳細を見るか、自動アップグレードを実行してください。」とのメッセージが表示されていました。

(現在使用しているバージョンは、2.2.56.53とかなり前のものです。まあ、いつも使うプラグインじゃないので古くてもいいのでしょうが、いちおう最新のものにしておいた方がいいのかなあ。)

wp-adminディレクトリの.htaccessファイルには、まだプラグイン自動アップグレード機能の記述をしていませんので、今回は手動アップグレードを行うことにしました。

まず、WP Security Scanプラグインを停止した後、「WP Security Scan | WordPress Developer(semperfiwebdesign.com/plugins/wp-security-scan/)」経由で「WordPress > WP Security Scan ≪ WordPress Plugins(wordpress.org/extend/plugins/wp-security-scan/)」からwp-security-scan.2.7.1.zipをダウンロードしました。

次に、wp-security-scan.2.7.1.zipをローカルのwp-content\plugins\wp-security-scanに解凍し、アップロードしました。

最後に、WP Security Scanプラグインを有効化して、アップグレードは終了です。

アップグレードが無事終了したので、動作確認も兼ねてセキュリティのチェックをしてみました。テーブルの接頭語(プレフィックス)がデフォルトのままなので、警告をいただきましたが、その他の項目は大丈夫でした。

(テーブルの接頭語の変更は、今の状態では手に負えそうにないので、保留ということにしました。)

WordPressのカレンダー表示

デフォルトのテーマが超シンプルということで、横型カレンダープラグイン for WordPressを使ってカレンダーの表示をしていましたが、考えるところがあって今日付けでやめることにしました。

考えるところがあってといっても、SEO的にとかユーザビリティ的にとかいう難しいことからではなくて、体裁だけで表示するのはどうかといったことからです。

WordPressにしろMovable Typeにしろ、標準で表示されないのは理由があることでしょうし、個人的な好みや体裁だけで表示するのはどうかなあと。ただそれだけです。

(なによりも大事なのは中身の充実だろ、あんたの場合というツッコミが多々あることは、じゅうぶん心得ております、はい。)

WordPress 2.7.1からWordPress 2.8.4へ

WordPress 2.8の自動アップグレード機能にバグがあったため、手動でのアップグレードもしないで見送っていたら、2.8.4までバージョンが進んでいました。

Vistaのソリティアばかりしているくらいなら、お盆休みにでもアップグレードすればよかったのですが、ついつい先送りにしてしまい、ようやく今日アップグレード作業を行うことができました。

念のためデータベースとファイルのバックアップを行い、すべてのプラグインの使用を停止した後、自動アップグレードを実行したところ、またもや警告が表示されました。

Warning: Cannot modify header information – headers already sent by (output started at /{アカウントのディレクトリ}/public_html/wp-config.php:1) in /{アカウントのディレクトリ}/public_html/wp-includes/functions.php on line 698

Warning: Cannot modify header information – headers already sent by (output started at /{アカウントのディレクトリ}/public_html/wp-config.php:1) in /{アカウントのディレクトリ}/public_html/wp-includes/functions.php on line 699

警告なので大丈夫なんでしょうね。最後に下記のように「WordPress のアップグレードを完了しました。」って言ってもらえたから、大丈夫なんでしょうね。

http://ja.wordpress.org/wordpress-2.8.4-ja.zip からアップデートをダウンロードしています

コアパッケージの更新ファイルを展開しています…

展開したファイルをチェックしています…

最新のバージョンをインストールしています

データベースをアップグレード

WordPress のアップグレードを完了しました。

最後に、横型カレンダープラグイン用の設定を行い、プラグインを有効化して終了です。


追記 2009年10月31日

警告の原因が、今日ようやくわかりました(たぶん)。次回アップグレードで試してみます。

WordPress 2.8

6月12日に、WordPress 2.8 の日本語版がリリースされました。

さっそく自動アップグレード機能を使ってバージョン2.8にして、「WordPress 2.7.1からWordPress 2.8へ」の記事でも書こうかと考えていたら、リリースの記事に気になる追記が。

「WordPress 2.8日本語版リリースのお知らせ(ja.wordpress.org)」によると

6/13 追記:

自動アップグレードについては不具合が報告されています。詳細が判明するまで、手動アップグレードを行うようにしてください。さらに詳しくは、2.8への自動アップグレードを行う際の注意事項をご覧ください。

で、「2.8への自動アップグレードを行う際の注意事項」によれば

先日リリースしました WordPress 2.8 への自動アップグレードの際に、サーバー上のファイルが削除される現象が報告されています。報告によると、この問題が発生した場合にはサーバー上の WordPress 以外のファイルも削除されるとのことです。

原因が解明されるまでは手動によるアップグレードをお薦めします。

2.8 にバグがあることが確認されました。このバグが修正されるまでは自動アップグレードは行わず、手動によるアップグレードを行ってください。

だめだこりゃ。この問題が修正されるバージョンがリリースされるまで、アップグレードは見送ることにしました。手動でのアップグレードも行いません。

WordPress のフィード

先日、「Movable Type 4.25 のフィード」を書いた後、それではWordPress のフィードはどうなってるんだろうと疑問に思い、調べてみました。

WordPress のフィードについては、WordPress Codex 日本語版の「WordPress Feeds(wpdocs.sourceforge.jp/WordPress_Feeds)」に詳しく書かれていました。カスタマイズの方法や参考サイトへのリンクなども詳しく書かれていました。

(探し方が悪いのかもしれませんが、Movable Typeにはこういうドキュメントはないのでしょうか。こんなの常識!ということまでまとめてあると、とっても助かるんですけど、初心者にとっては。)

WordPress 2.7からWordPress 2.7.1へ(補足)

先の「WordPress 2.7からWordPress 2.7.1へ」で、PHPをCGIモードで動かす方法を使いました。

複雑な内容ですので、整理して自分用のメモとしてここに残しておこうと思います。

「PHPのセーフモード」とは、「WordPressの自動更新とPHPのセーフモード – IT1616(it1616.blogsite.org)」によると

レンタルサーバなどで「1つのWebサーバプロセスを複数の利用者で共有する」ような場合、PHPをモジュールで実行すると「PHPがWebサーバのユーザ権限で実行される」ため共有する他の利用者のデータにアクセスできてしまい問題が生じる可能性があります。(モジュールはWebサーバのダイナミックリンクライブラリとして動作するため)そこで、PHPを「セーフモード」に設定して「システムやファイル/ディレクトリの操作などの危険な関数に制限を加える」ことにより安全性を高めるようにできるようになっています。

だそうです。こうして安全性が高まるのはいいことなんだけど、逆にWordPressの自動アップグレード(コアアップグレード)機能が使えないといった問題も生じることになるのですね。

「PHPをCGIモードで実行」した場合、同じく「WordPressの自動更新とPHPのセーフモード – IT1616」によると

CGIモードでは、PHPはWebサーバとは別のプロセスとしてが実行されるため、各々の利用者のユーザ権限で実行されますので、通常モードでも上記のような複数利用者の共有による問題は生じません。

だそうです。

この方法によるメリット、デメリットについては、「PHPをCGIとして動かす方法について – XREA&CORE SUPPORT BOARD(sb.xrea.com)」にまとめられていましたので、引用します。

○メリット

・ユーザー権限で実行され、セーフモードがOFFになっているため、様々な制限がない。

・負荷率が管理画面で見られる。

○デメリット

・モジュール版PHPに比べて、動作が遅くなる。負荷が掛かる。

・XREAサーバー特有の機能で、汎用性がない。

今回は、「自動アップグレード(コアアップグレード)機能」を利用するため、下記の内容のみを書いた.htaccessファイルをwp-adminディレクトリに置きました。

<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

その他の機能を利用する場合は、その機能に対応した記述を.htaccessファイルに書き加え、wp-adminディレクトリに置くことになります。

ファイルアップロード機能

<Files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

プラグイン新規インストール機能

<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

テーマ自動アップグレード機能

<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

プラグイン自動アップグレード機能の記述については、調査中です。update.phpで良さそうなのですが、しっかり調べきれていません。

(プラグインは、あまりたくさんインストールしていないので、手動で対応しても問題はないような気がしますが・・・)

WordPress 2.7からWordPress 2.7.1へ

2月13日に、WordPress 2.7.1 の日本語版がリリースされました。管理パネルに「WordPress 2.7.1. が利用可能です!アップデートしてください。」のメッセージが表示されていたのは知っていたのですが、なかなか時間が取れず、約2ヶ月遅れでようやく今日、アップグレードを行うことができました。

まず、自動アップグレード(コアアップグレード)機能を使う前の準備を行いました。というのも、PHPがセーフモードで動作するサーバー(XREA)を使用しているため、そのままでは自動アップグレードで問題が生じるからです。

そこで、PHPをCGIモードで動かす方法で対処することにしました。具体的には、下記の内容を書いた.htaccessファイルをwp-adminディレクトリに置くというものです。

<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

ようやく、自動アップグレード機能が使える! おっとっと、その前に念のためデータベースとファイルのバックアップを行い、アップグレード画面の[自動アップグレードを実行]を押したところ、下記のような警告が表示された後、自動アップグレードが実行されました。

Warning: Cannot modify header information – headers already sent by (output started at /{アカウントのディレクトリ}/public_html/wp-config.php:1) in /{アカウントのディレクトリ}/public_html/wp-includes/functions.php on line 698

Warning: Cannot modify header information – headers already sent by (output started at /{アカウントのディレクトリ}/public_html/wp-config.php:1) in /{アカウントのディレクトリ}/public_html/wp-includes/functions.php on line 699

警告なので大丈夫なのでしょうか? 下記のように表示され、自動アップグレードも無事終了したようなので、大丈夫だと思うのですが・・・

http://wordpress.org/wordpress-2.7.1.zip からアップデートをダウンロードしています

コアパッケージの更新ファイルを展開しています…

展開したファイルをチェックしています…

最新のバージョンをインストールしています

データベースをアップグレード

WordPress のアップグレードを完了しました。

最後に、wp-congfig.phpに4つのセキュリティ・キーをまだ設定していなかったので、次の要領で追加して、ようやく終了です。

  1. サーバーからwp-config.phpファイルをダウンロード

  2. テキストエディタで開き、セキュリティ・キーを設定

  3. UTF-8 BOMなしで保存し、再びサーバーへアップロード

おっとっと、またまた横型カレンダーの設定を忘れていました。ヘッダーのテンプレートとスタイルシートを修正し、これでほんとうに終了です。

WordPress 2.5.1からWordPress 2.7へ

昨年の12月14日に、WordPress 2.7 の日本語版がリリースされました。

今日は、午前中のMovable Typeのアップグレードに引き続き、午後はWordPressのアップグレードを行うことにしました。

アップグレード自体は、順調に進み、最後に動作確認をしていたところ、横型カレンダーが表示されていないことに気がつきました。

昨年4月の「横型カレンダープラグイン for WordPress」にあるように、ヘッダーのテンプレートとスタイルシートを修正し、無事、横型カレンダーが表示されることを確認しました。

(プラグインは便利だけれど、アップグレードのたびに、こういう作業が発生するのは、面倒だなあ。)