2.8.4より古いバージョンに、ブログ乗っ取り攻撃を許してしまう重大なセキュリティーホールがあるとのことなので、2.7.1を使用していたこのサイトを緊急アップデート。
FTPでサイト全体のファイルのバックアップを取り、PhpMyAdminからデータベースバックアップのバックアップも取り、プラグインの機能を全て解除して、万全を期してブログのダッシュボードに表示されている自動アップデートのボタンをクリック。
ものの数秒でバージョンアップ完了の表示が。でも、こんな簡単に作業が完了するわけないよなぁ、と思いつつダッシュボードをもう一度開くと、やっぱりおかしな事になっていた。
ダッシュボードのCSSの反映がおかしくなって表示が崩れる時の対策
Xreaでは、WordPress全体をCGI版PHPで動作させているとダッシュボードのレイアウトが崩れるようなので、本体やプラグインの自動アップデートに必要なphpファイルをピンポイントで指定して、CGI版PHPで運用する。
.htaccessの記述は以下の通り。これをwp-adminディレクトリに設置して不具合対策完了。この方法はCoreServerでも通用しそう。
<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>
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files admin.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files options-general.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files theme-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
.htaccessを設置してダッシュボード内でリロードしたら、レイアウトが正常になった。さっそく、機能停止させていたプラグインを全て有効にして、個別記事のページのソースを見ると、またややこしいことになっていた。
<head>タグ内に増加した要素を削除!
記事ページのソースを開いてみると、ヘッダー要素が異様に肥大化していた。具体的には下のようにブログと記事のアドレスが、各記事のhead内に書き加えられていた。SEO的な意味でも込められているのかなぁ、とか思いつつも個人的に不要なので除去。
<link rel='index' title='ブログ名' href='http://ブログのアドレス' />
<link rel='start' title='最初の記事タイトル' href='http://最初の記事のアドレス/' />
<link rel='codev' title='前の記事タイトル' href='http://前の記事のアドレス/' />
<link rel='next' title='次の記事タイトル' href='http://次の記事のアドレス/' />
削除する方法は至って簡単で、いつも使用しているテーマフォルダ内のfunctions.phpに以下のコードを挿入。
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
これでhead要素がスッキリした。ひょっとして、デフォルトのままWordPressを使っていると、バージョンを追うごとにヘッダーの記述が増えていく?!
他にも不具合があるかも知れないけど、表面上は正常に動作しているから、まぁいいやという軽い気持ちでブログ運用再開となりました。