10月1日からSREチームからフロントエンドチームに出戻りしましたmikihoです。
相変わらずWordPressやってます。
以前「WordPressの脆弱性の検知と管理をしたかったけど失敗した話 - CUEBiC TEC BLOG」という記事の中でMainWPについてチラリと触れさせていただいておりました。
まぁ、記事のタイトル通り失敗をしたんですけども、実はMainWPの導入自体はあの後もずっと進めております。
なぜならば、あくまで失敗したのは脆弱性検知の部分であり、実はメディアの一括管理については、MainWPは素晴らしいプラグインだったからです。
導入前後で色々と調べてみたのですが、実はこのMainWPは導入方法については記事が色々と見つかったのですが、実際にどう使っているのか、という部分や拡張機能について触れている記事が少なかったので、今回はキュービックでMainWPをどう使っているのかについて話させてもらえればと思います。
目次
そもそもMainWPとは?
MainWPは一つのWordPressをダッシュボードとし、管理したいWordPressに子サイト用のプラグインを導入、ダッシュボードと接続させてダッシュボードで子サイト全てを管理できるようにするプラグインなのです。
構造としてはこんな感じ。
MainWPのプラグイン
先に説明した通り、MainWPはダッシュボード用のプラグインと、子サイト用のプラグインの二つに分かれております。
基本的にプラグインをインストールして設定するだけで簡単に連携が可能となります。
MainWPの拡張機能
基本的に単純にモニタリングしたりするだけであれば、デフォルトの機能で十分なのですがMainWPには拡張機能が用意されております。
一部には有料プランにしなければ使えないものもありますが、そこら辺は金額から使用感までこのあと説明していきます。
MainWPの無償範囲ってどれぐらい?
基本的に、ダッシュボード用プラグインも、子サイト用のプラグインも無料。
そしてMainWPの機能の結構が無償範囲内で使えます
などなど、実はMainWPのダッシュボードから、子サイト側へ投稿からプラグインアドの管理まで結構無償範囲内でできます。
注意
記事の投稿はできるのですが、MainWPはカスタムフィールドに対応しておりません。
エディターもあくまでMainWPダッシュボード側のものを使うことが前提なので、投稿周りは使い勝手が悪く感じる可能性が高いです
MainWP使ってみてどうだった?
ダッシュボードから子サイトへの記事投稿とかができる、管理画面を集約できるのがメリットに見えていましたが、実際意外と制限くらったな、と思います。
弊社みたいに100メディア超えを管理する中ダッシュボードに完全集約はむしろ人的ミスによるリスクもかなり高いという印象です。
MainWPから子サイトに何かするというより、子サイトの状況モニタリングのために使うのが一番しっくり来ましたね。
複数サイトを一人、もしくは少人数で運用しているならMainWPをうまく使って更新作業などをするのはちょうどいいと思います。
弊社のように膨大な数のメディアを、きちんと専任の運用チームがいるような組織体制では運用者に開示するにはあまり向きませんでした。
どんな使い方してんの?
基本的に弊社は、エンジニアは完全に部署が分離しております。
そのため、エンジニア側が横断してメディアの管理、トラブルが起きた際の調査のためなどを目的に利用してます。
メディアに導入されているプラグインの調査、メディアの状況モニタリングなど。
例えば、脆弱性が発見されたプラグインが導入されているのかどうか、導入されてるにしてもアップデートされているのか。
そう言った状態管理の面でかなり重宝しております。
トラブルが起きた際も、ダッシュボード側に登録していれば管理画面にすぐに入ることもできますし。
さて、そんな弊社は実はMainWPの有償版を利用しております。
次はその有償版について説明していきます。
MainWPの有償版とは?
MainWPには拡張機能と呼ばれるものが用意されております。
MainWP専用のプラグインのようなもの、という表現が一番わかりやすいですかね?
拡張機能のいくつかは無償でも利用できますが、用意されている全てを使えるようになるのが有償版となります。
※2023年12月段階の価格
最初に説明した通り、有償版にすれば全部の拡張機能が使えるようになります。
拡張機能の一覧はこちらです。
こちらのページ内で「pro」とされている拡張機能が有償版のみで使えるものになります。
さて、その中から私が個人的に「便利!」と思ったいくつかの機能を紹介していきたいと思います。
機能としては便利だなぁと思いつつ、弊社の体制では使えないなぁと思ったものもいくつかありましたし、逆に弊社の体制だからこそ便利だと思ったものもありました。
なので、若干紹介に偏りがございますのでご注意くださいませ。
コードスニペット
これは、MainWPのダッシュボードからPHPのコードを子サイトへ適用できるというものです。
コードの管理はダッシュボード上から行い、どのサイトにどのコードを適用させるのか、も簡単に選択することができます。
弊社はフロントエンジニアが専任でいくつかのメディアについており、横断で改善に動いているメンバーとは実はチームが違うので意外と連携がめんどくさいことになっております。
テスト一つやるにしても、開発環境もアップデートされていっているので、チーム外の人間が全て整えて、調整をして…とするにはかなり大変。
しかも、同じコードを複数メディアに一気に適用できるのも便利な理由の一つです。
ページスピードインサイト/litehouse
Web制作をやっているなら必ず気にするこいつらを、MainWPのダッシュボードから運用メディアの数値を確認・比較することができるのです。
運用メディアの状態を一目で確認できるだけではなく、ダッシュボード側の機能で「特定スコアまで落ちたらアラートを出す」という機能があります。
なんらかの理由でスコアが落ちたとしてもMainWPのダッシュボードでアラートを出してくれるのですぐに検知することができるのでかなり便利です。
※ここで紹介しているのはあくまでほんの一部です。 公式サイトではすべての機能が紹介されてるのでぜひ読んでみてください!
MainWPのデメリットはあるのか?
機能面でのデメリットはありません!
ただし、設定などによっては初期導入が結構大変です。
例えば、セキュリティ強化のために管理画面側のアクセスに制限をかけていると子サイトを登録できないことがあります。
弊社はセキュリティ強化のために様々な設定の見直しを行っていた際に設定を変更したらいきなりダッシュボードと子サイトの接続が切れて…と都度対応に追われていたところがありました。
あとトラブルになったのはログです。
子サイトのアクティビティログをMainWPのダッシュボード上で確認できる拡張機能があるのですが、こいつが意外とメモリを食います。
弊社は前に書いた通り莫大な数のメディアを管理しようとしていたことも問題だったようでダッシュボード上ではあんまり綺麗に動いてくれませんでした…
環境依存になるところではあると思いますが、導入にあたって意外と細々とした問題が起きたので初期導入の際はある程度コストがかかることを考えた方がいいのかもしれません。
まとめ
MainWPってそんなにいいの?って聞かれたら「使い方と運用体制次第!」となります。
どんなツールでもあるあるなお答えですね。
ただ、あくまで弊社の体制では有償版まで買って良かったと思います。
まだまだ使いこなせていない機能もありますが、今回紹介した機能だけでも十分価値はありました。
MainWP自体は開発者様によりアップデートが活発に行われており、トラブルにもすぐに対応してくださっております。
興味のある方はぜひ一度お試しくださいませ!
お知らせ!!
キュービックでは、一緒に働いてくれる仲間を募集しています。興味がある方はカジュアル面談Webエンジニアから応募をお願いします。ご応募お待ちしております。
また、エンジニアチームが運営しているYoutubeチャンネル【TEC TV】があるので、こちらでどんな人が働いているかを見ることができます!