wordpressのおすすめプラグイン

wordpressには、プラグインという仕組みがあります。これは簡単に言うと、各テーマの「functions.php」でも設定できることを他のテーマでも使いまわしできるようにしたプログラムのことを言います。この構造の仕組みはwordpress特有のものですが、プラグインとはそもそも、機能を拡張するためのソフトウェアのことを指しますので、wordpressにおいても同様の意味を含みます。少しややこしいですが、どんなwordpressテーマでも使えるソフトウェアのことであり、わざわざプラグイン化しなくても、「functions.php」に目的の動作をするコードを記入すれば、そのテーマ内だけで同等の機能が使えるという性質があります。「functions.php」に直接コードを記入した場合、他のテーマでは使えませんが、管理が楽な上に、サーバに余計な負荷をかけず、wordpressブログの表示が速くなるという利点があります。

pluginで動作が重くなるのはなぜ?

どんなプログラムでもコードを記入すれば、その処理量に合わせて動作が重くなります。これは原理原則です。しかしwordpressでは少し意味が異なります。というのは、プラグインって様々な環境に合わせて作られているため、場合によっては必要のない余分なプログラムが入っているからです。必要が無いのに処理されてしまう、こういった現象が一つであればあまり問題となりませんが、複数のものを導入することで、いくつもの無駄な作業が増えてしまいます。一つに対して一つの無駄な処理とは限りませんので、これが積み重なると大きな影響が出てきます。また、プラグイン同士でバッティングすることもあり、場合によってはwordpress本体の動作に不具合が出てきます。

セキュリティは?

セキュリティに関してはwordpressのテーマと同様です。他人が作ったものを自分の管理するサーバ領域にインストールするため、常に悪意あるコードが挿入されてしまう可能性はあります。Antivirusなど、悪意あるプログラムを見つけ出すwordpressプラグインもありますが、どのコードを悪意と定義しているかでも異なってきます。例えば、ウェブサイトでいうcookieは、少なからず訪問者のデータを取得していますが、一般にcookieは悪意があると認識されていません。しかし、少なからずデータを知らないうちに渡しているのは事実であり、他人が作ったコードで勝手に何らかのデータが抜かれてしまうのは、多くの場合本意ではないでしょう。cookieに関しては同意を得るウェブページも多くなっていますが、wordpressプラグインに関しては多くの場合、不明となっているのが現状といえます。

ただ、wordpress本体から検索してインストールできるもので大きな問題となっているようなことはないようであるため、それほど心配することはないでしょう。しかし、技術的には悪意あるプログラムの注入が簡単であるという認識は必要かとおもいます。

実際のところ、おすすめpluginは?

wordpressの標準で一緒についてくる「WP Multibyte Patch」と、コメント機能を搭載しているのであれば「Akismet Anti-Spam」ぐらいでしょうか。wordpressを利用し、広告で稼いでいる人は基本的に動作を重くする余分なものはつかっていないとおもいます。むしろ、ブログ表示には影響しない管理画面のみで動くプラグインを自作あるいは外注し、導入しているのではないでしょうか。

例えば、cssやjavascriptの圧縮などはphpの「preg_replace」関数を駆使すると簡単にできます。改行と一定のルールに従った空白を削除すれば良いだけですから。これは、phpをある程度理解できる人ならwordpressの管理画面に組み込めなくても、普通のウェブページなどの形にすれば容易にできるでしょう。プラグイン制作も一定の書式に従えば簡単にできますので、phpを理解しているなら、それほど敷居は高くないとおもいます。つまり、精通しているのなら、「WP Multibyte Patch」と「Akismet Anti-Spam」の2選が「おすすめ」と言えます。

初心者には?

ただ、wordpress初心者には敷居が高いので、wordpressに入れるプラグインは必要最小限に抑えて、各記事を個別に吟味し、意味のある内部リンクを手作業で構築していくのが無難だとおもいます。かつてはwordpressの投稿記事を取得して関連記事を表示するプラグインも流行りましたが、今では広告そのものに関連記事を紛れ込ませるシステムがあるため、あまり意味がなくなっているように思います。関連度の精度も、手作業のほうが確実であるような気がします。wordpressブログで扱う分野にもよるとおもいますが、筆者の環境だと関連記事の精度が高いとはおもえませんでした。

ちなみにwordpressのカテゴリの内部リンクは検索エンジンに一定の意味を与えるのかも知れませんが、10件や20件表示といった形ではあまり上位表示に影響していないと感じます。むしろ記事間の直接リンクに意味があるとおもいます。とはいえ、関連度の基準や評価などは検索エンジンにしか分からないため、ハッキリしたことは分かりません。ただ、クロールを促すためにも月別アーカイブなどを組み合わせるのも一つの手です。しかし、こういった内部リンクはどのブログでも同じ構成になっているため、やはり手作業によるリンク構築が重要なのではないかと考えられます。同じであれば、他の要素が評価対象になるからです。となると、手作業で吟味するのがオリジナリティーを生むのではないかと。

率直にいえば初心者のかたに「おすすめ」できるものは、重要な機能を持っていて知名度が高いもののみです。筆者的には「WP Multibyte Patch」と「Akismet Anti-Spam」に加えて、「All In One SEO Pack」「Broken Link Checker」「WP-DBManager」の五つ。「WP Multibyte Patch」は日本語に対応させるもので、「Akismet Anti-Spam」はスパム対策。「All In One SEO Pack」は、SEOに特化したものです。「Broken Link Checker」は、リンク切れを自動で発見してくれます。「WP-DBManager」は、データベースを自動でバックアップをしてくれます。試してみるという行為もスキルをアップさせるうえで重要なので、いくつか利用してみるべきでしょう。しかし最終的には、セキュリティー面や負荷などを考慮することになるとおもいます。

WP Multibyte Patch
Akismet Anti-Spam
All In One SEO Pack
Broken Link Checker
WP-DBManager

pluginのデメリット

バージョンアップによる不具合

wordpressのpluginはphpのバージョンアップやwordpressのユーザ定義関数の非推奨から廃止によって使えなくなることがあります。筆者は何度も経験しました。アップデートされず、放置されることもあります。その都度、自分で問題となる部分を見つけて修正していましたが、だんだん面倒になり、自分で考えて同等の機能を持つものを作り出した経緯があります。

plugin同士のバッティング

また、wordpressをつかいだしてはじめのうちは色んなプラグインをインストールしてしまう傾向にありますが、そのためにどれが原因で不具合が引き起こされているのか分からなくなることがあります。そもそもwordpressのプラグインが原因ということに気づかない場合もあります。プラグインの入れすぎには注意しましょう。

CDNによる不具合

wordpressのpluginによってはCDNを利用していることもありますので、CDNを引っ張っているサーバがダウンしたり不調だと、自分のところのwordpressブログの表示が遅くなったりします。広告で収益を得ているケースだと、収入が減るので問題となります。

セキュリティーに気を使わなければならない

上述したように、知らない間にデータを抜かれてしまう可能性はあります。トロイの木馬的なことが簡単にできてしまうという理解も重要となります。

pluginを複数利用することで重くなる

これも上述しましたが、複数あるとそれだけ処理が増えて重くなります。更に不要な処理がインストールした分だけ増える傾向にあります。

おすすめ対策は「functionsファイル」などに記述

wordpressは基本的に必要なものを標準で搭載しています。本来ならそのままつかっても問題ないのですが、そこはワードプレスを普及させるためにも色々できることをアピールしているように感じます。訪問するユーザはコンテンツを見に来ている訳ですので、装飾や動作などにはそれほど興味を持ちません。面白いな、綺麗だな、という程度で終わってしまうのではないでしょうか。

そのため、必要な動作はわざわざワードプレスにプラグインをインストールするまでもなく、「functionsファイル」などに記入し、それで済ませたほうが管理が楽です。ワードプレステーマをしょっちゅう変えるなら、プラグイン化しなければなりませんが、そんなケースはあまりないようにも思います。また、インターネット上には、コピーアンドペーストできる関数がたくさん掲載されていますので、今となってはそちらを利用するほうが合理的のような気がします。もちろん、動かない関数もたくさんありますが、これはバージョンやサーバ環境によるものが多いです。誤記入もありますが。

自作関数で対応

例えば目次

筆者のサイトの目次は、プラグインで動いていません。「functionsファイル」に30行ほど記述し、自動化させています。cssで装飾していますが。「add_filter」をつかってHタグから取得しています。数あるワードプレスプラグインの中身を見てもらえれば分かると思いますが、少し複雑なものになると、いくつものファイルに分割され、かなりの行数になっていることと思います。これは、異なる環境でも使えるようにするため、環境ごとに処理が増えているからです。もちろん、そうでない場合もありますが。

マルチサイトの検索機能

筆者のサイトはワードプレスの中でもマルチサイトで構築しています。そしてマルチサイトの難点の一つが検索です。標準では複数の子サイトを横断して検索することができないので、各子サイト情報を取得し、foreachで回して出力しています。こちらは「searchファイル」で対応させています。

リンク

筆者のワードプレス子サイトではリンクを自動化させています。こちらはAタグを追加し、入れ子対策しています。「functionsファイル」に「add_filter」をつかって処理しています。

まとめ

おすすめワープレプラグインといいつつ、結局は自分で作ったほうが早いし、安心ということになるので、ワープレ初心者のかたには申し訳ありません。でも、ワープレをいじっていると、手探り状態であってもだんだん分かってくるんですよ。もちろん、いじらなければ分からないままとなりますが。上達してくると、「これ自分で作れるし、必要ないよね」とかいう場面によく出くわすようになります。その時に初めて自分で作るというやり方も良いと思います。ただ、変なプログラムなどをインストールしてワープレサイトを乗っ取られないように気を付けなければなりませんが。まれに、変なスクリプトが動き出すワープレサイトが存在しますが、コンテンツが普通であるため、おそらく悪意あるコードを本人が知らないうちに本体へ注入されているのでしょう。そうならないためにも、ワープレにインストールするソフトウェアを吟味して選択することは重要です。