WordPress制作、カスタマイズ、Webシステム開発とSEO対策

ロリポップサーバーでWP Super Cacheが使えない場合の対処法

個人サーバーで人気のロリポップ!サーバーですが、プランにもよりますが意外とPHP負荷への判定が厳しいです。
個人向けプランで最上位プランの「チカッパ」プランでも、1日のアクセスが3000くらいのWordPressサイトを2つくらい動かすと、制限をかけられてしまう場合があります。

そんな時は、おなじみWP Super Cacheで負荷を軽減してやり過ごしてみましょう……あれ?
なんか動かない。

There’s been an error posting your Twitter status! Visit your WP to Twitter settings page to get more information and to clear this error message.

警告! Could not update /home/users/1/weblogy/web/public_html/wp-config.php! WPCACHEHOME must be set in config file.

警告! /home/users/1/weblogy/web/public_html/wp-content/advanced-cache.php がないか、更新できません。

  • 1. もしこのファイルがすでにあれば、まず最初にこのファイルを削除してください
  • 2. ftp やサーバーソフトウェアで chmod コマンドを使用して /home/users/1/weblogy/web/public_html/wp-content を書き込み可能にし、(chmod 777 /home/users/1/weblogy/web/public_html/wp-content) このページを再読込みします。これは一時的な処置で、この後、読み込みのみに再度する必要があります。(前述のコマンドで 777 を 755 に変更します)
  • 3. /home/users/1/weblogy/web/public_html/wp-content/advanced-cache.php を更新するためにこのページを再読込みします

もし動作しなければ /home/users/1/weblogy/web/public_html/wp-content/advanced-cache.php ファイルが存在するか確認してください:

  1. 1. テキストエディターで /home/users/1/weblogy/web/public_html/wp-content/plugins/wp-super-cache/advanced-cache.php$wp_cache_file を開きます
  2. 2. テキスト CACHEHOME/home/users/1/weblogy/web/public_html/wp-content/plugins/wp-super-cache/ に変更します
  3. 3. ファイルを保存し、/home/users/1/weblogy/web/public_html/wp-content/advanced-cache.php へコピーしてこのページを再読込みします

継続できません…前の問題を修正して再度お試しください。

案内の通り、wp-contentのパーミッションを777にしたのですが解決しない。advnced-cache.phpを見てみたりしたのですが、なんか説明と話が噛み合わない。

しばらく考えた結果、ロリポップ!の仕様でwp-config.phpのパーミッションが書き換えられていることを思い出しました。

wp-config.phpを書き込み可能にする

ロリポップ!は、昨年2013年に大規模なWordPressへのアタックを受けて、ユーザーサイトが改竄された経緯から、wp-config.phpを書き込み不可にする仕様になっています。

-r——– 1 LolipopUser 5119 Nov 10 23:29 wp-config.php
drwxr-xr-x 10 LolipopUser 4096 Nov 10 23:39 wp-content/

なるほど、400になっています。
これを

chmod 0644 wp-config.php
chmod 0777 wp-content

で一時的にパーミッションを変更し、上記WP Super Cacheの設定画面を再読み込みすると、WP Super Cacheがwp-config.phpを書き換え、wp-contentの中にキャッシュ用ディレクトリを作成し、インストールが完了します。それから、wp-config.phpとwp-contentのパーミッションを元に戻せばOKです。

chmod 0400 wp-config.php
chmod 0755 wp-content

コメントを残す