カスタムメニューやカスタムポストといった新機能が話題となっていた、WordPress3.0の日本語版が昨日リリースされた。
最初は、メジャーアップグレードなので不具合が出たり今使っているプラグインが動かなかったりすると嫌なので、修正アップデートされた頃に導入しようと思っていたのだが、後述する諸般事情があって当ブログと写真ブログ・写真賦共に更新してみた。
私の環境が悪いのかサーバー(Coreserver)との相性なのか、プラグインも含め自動インストールはほぼ毎回のように失敗する。
恐らくそうなるだろうと予見していたので、手動でアップデート。手動での更新方法はWordPressのアップグレード/詳細ページで確認できる。
プラグインも全く問題無く動作
恐らく、バージョンアップした使い勝手やHowtoのようなコンテンツは、私よりもWordPressに造詣の深い方がどんどんレビューを投稿されるだろうから、ここで素人同然の私が使用感等を書くことはしません。まだ変更された仕様もほとんど触ってませんし。
唯一心配していたプラグインは、導入していたもの全て問題無く動作しているようだ。さほど多くないが、主に使用しているプラグインは以下のもの。
- Add Meta Tags … Descriptionなどをページごとに設定
- Google XML Sitemaps … XMLサイトマップジェネレーター
- Multibyte Search … 日本語環境での検索に対応
- My Category Order … カテゴリの並び順を変更可能に
- PHP Execution … 投稿内でPHPプログラムを使用できる
- Post-Plugin Library … 下のSimilar Posts導入に必要
- Similar Posts … エントリーに関連する記事の表示
- Twitter widget … Twitterの投稿をJavascriptで表示
- WP Multibyte Patch … マルチバイト文字の取り扱い修正等
RSSフィードのXMLパースエラー
実はこれが今回のメインと言ってもよい話。
WordPress 3.0を早期導入した理由は、突如としてRSSフィードにエラーが発生し、その修正方法が判らなかったせいなのだ。
IEではフィードを正常に取得できるのだが、Firefoxでアクセスすると「XML パースエラー: 実体の初めに XML またはテキスト宣言がありません。」という以下のようなエラーが表示される。

一行目のXML宣言の上に空白行があるためにエラーになるのだが、フィードの配信自体は問題無く動作している。このエラーが、WordPressを使用している当ブログと写真賦両方に同時に発生していた。
エラーの文章や、画像の検索ボックスにある「WordPress xml パースエラー」といった言葉で検索すると、困ったことにこれといった確実な解決方法が無いようなのだ。
そこで、WordPress3.0にアップデートすれば、システムファイルが上書きされて不具合が解消するのではないかと考えた次第。が、結果解消せず。同じようにエラーが出る。
ここ数日で双方のブログに導入したものと言えばTwitter表示用のプラグインだったが、プラグインを無効化しても削除してもまだエラー表示。
フィードもソースが見られるので詳しく確認してみたところ、同じWordPress2.92を使用していたのだが、当ブログではRSSフィードのみに、写真賦では通常ページの一行目にも空白行が入っている。それまで、共にシステムファイルには手を加えていない。
同じファイルを利用しているのに、違う挙動が出ていることになる。ただし、当ブログの方が古いバージョンから使用しているせいもあるかも知れないが。
3.0で上書きされていないのは、プラグインやテーマファイル。プラグイン全削除でもダメで、テーマファイルをデフォルトに戻してもダメ。
検索でヒットしたUTF-8 BOM修正のための文字コード変更や、PHPのタグ周りの改行を詰める方法をやってみる。修正アップ→確認の繰り返し。Dreamweaverの検索で、RSSを生成しているファイルを見つけての問題探し。
RSSフィードにもキャッシュがあるのだろうか。結局、繰り返し作業のうちにいつの間にか直っていたので私も原因がつかめず終い。2サイト修正で3時間はかかった・・・。
システムファイルが原因なら、次期アップデートでファイルを上書きするとまたエラーを吐く可能性もあるので頭が痛い。
通常自分のRSSフィードを見ることは少ないが、今後は定期チェックした方が良さそうだ。今回は、何かグチのような更新となってしまったなぁ。