PR

[WordPress] マルチサイト構成でSimilar Posts を苦労せず使う

あちこちでWordPress を使っている。WordPress 以外のシステムも選考に入るが、WordPress の豊富なテーマやプラグインにはなかなか勝てないからだ。

WordPress はVer.3.x から、それまでのWordPressMU を取り込むカタチで、シングルサイト構成もマルチサイト構成も1つのWordPress で動作するようになったが、MU の時からあったように、動作するかしないかは不透明な部分が多い。

スポンサードリンク

プラグインの中身をのぞくことはあまりしないのだけれど、単純なものならおそらく変数を適切に使わずハードコートしてしまっていることが予想できる。

それと思われるのがもはや必須プラグインの「Similar Posts」だ。Similar Posts は関連記事を表示するプラグインの1つ。正確な統計などをとっているわけではないが、このプラグインの有無はPV に大きく関係するように思う。なぜなら、実際、あるサイトでの導入前と導入後のアクセス数に大きな違いがみられたからだ。これは関連記事を適切に提供することで、読者が別の記事にも興味を示し、滞在時間を伸ばしてくれていると予想できる。組み合わせるなら、提供した関連記事に対してどの記事が読まれているかの統計をとり、「この記事を読んた人は、こちらの記事も読んでいます」とさらにわかりやすく案内することもできる。

さて、そんなわけでSimilar Posts は必須プラグインだ。しかし、マルチサイト構成では正しく動作してくれない。そのようなプラグインはこれだけではなく、いくつか存在するものの、Similar Posts が使えないことだけの理由で別途新規にWordPress をシングルサイト構成でローンチするくらい重要なものだ。実際、そうしようとしていた。

使えない理由は「このページにアクセスするための十分なアクセス権がありません。」と表示されてしまうことにあるのだが、念のため最新の情報を取得しようとすると見事に合致する「WordPress › フォーラム » マルチサイトの子ブログでSimilar Postsを使う方法」が見つかった。この方法を早速試すが上手く行かず諦めようとした時、その記事を正しく読んでいなかったことがわかった。結果として非常に懇切丁寧に書かれていたため、申し訳ない気持ちになった…。

紹介されている手順は以下のとおり。

ネットワーク管理者の作業

ネットワーク管理者としてSimilar Posts をインストールする。しかし、この時「ネットワークで有効化」しない。

(このプラグインに限らず、マルチサイト構成で上手く動かない場合、ネットワークで有効化したほうが良いもの、すべきもの、しないほうが良いものがある。さらに、マルチサイト用のプラグインが「別に」提供されていることもあるから確認しておきたい)

参加サイト側での作業

プラグインの有効化

今度は「子ブログのプラグイン画面」を出し、Similar Posts を有効化する。

この時「プラグインを有効化する際に、255文字分の予期しない出力が発生しました。“headers already sent” メッセージや、フィードやその他の問題に気づいた場合はプラグインを停止または削除してみてください。」と表示されるが見なかったことにする。

プラグインの設定

プラグインの設定画面までは出せる。これは以前試した時も出た。これをクリックすると…

「このページにアクセスするための十分なアクセス権がありません。」となってしまい、内部的な権限動作がうまくいっていないか、マルチサイトに対応していないのだと思い、無効化してしまっていた理由だ。設定できなければ動作させることができない。

ここからが先ほど参考にしたWordPress フォーラムに提供されていた内容。

注目すべきはリンク先のURL で、次のようになっている。

http://www.example.com/wp/wp-admin/options-general.php?page=similar-posts&subpage=output
 よく見ると、子ブログでの作業にもかかわらず、親ブログに対しての作業になっているように見える(シングルサイト構成の場合は動作するURL)。フォーラムに投稿された内容は、ここに注目して手動で直してしまうという方法だった。
http://www.example.com/wp/BLOG1/wp-admin/options-general.php?page=similar-posts&subpage=output

この例の場合、WordPress は/wp 以下に置かれているため、子ブログは /wp/BLOG1 となる。これを素直に書きたしてやれば良い。

すると、待ちわびた画面が表示される。それでもリンクをクリックすると「このページにアクセスするための十分なアクセス権がありません。」になってしまい、都度URL を修正する必要があるが、Similar Posts の有効性や重要性を考えれば問題なく、そのために別途新規にWordPress をシングルサイト構成で構築し、メンテナンスしてくことを考えれば全く問題ない。一度設定してしまえばそう簡単に変更するものでもないし。

他の方法としては、サブページを指定する方法もある。

http://www.example.com/wp/BLOG1/wp-admin/options-general.php?page=similar-posts&subpage=output

例えば上のURL ならoutput の部分がサブページ指定なので、リンクをクリックする(「アクセス権が~」になる)のではなく、飛びたいサブページを直接指定する方法もある。

  • general
  • output
  • filter
  • placement
  • other
  • index
  • bug
  • remove

動作確認

動作した。

# WordPress 3.3  マルチサイト構成で動作確認した

# マルチサイト構成のほうが高速に動作するように感じるのは、感じるだけなのだろうか。ついでに、関係ないけどテーブルoptions のオーバーヘッドが発生しすぎ。次期WordPress (WordPress 3.4?)ではデータベース関連が強化される予感がする。

コメント