■ はじめに
この記事は、Shifter Advent Calendar 2020 - Qiita の 12日目の記事になります。
皆さん、どうぞよろしくお願いします !!!
🙇♂️🙇♂️🙇♂️
今年初めに、こちらのイベントで Shifter と改めて出会う機会がありまして…
Web サイト や WordPress の運用に課題を抱えていたこともあり、今年、複数のサイトを Shifter へと移行しました。
その辺については、Shifter - Qiita にたくさん記事を投稿してありますので、どうぞご覧下さい。
それで、
Shifter も WordPress も初心者の私が、今年 Shifter をたくさん触って気づいたこともたくさんあるんですが、おそらく他の方々は「Shifter で色んなことが出来るよー」って記事を投稿される方が多いのかなぁ、と思ったので、逆に私は、Shifter では出来ないことをまとめてみようかなぁ、と思います。
あ、因みにこの記事で扱っている Shifter は、Shifter Static のことになります。
また、あくまで 2020年に触ってみての記事なので、「いやいや出来るよ !!!」 とか、「その機能あるよ !!!」とか、あるかもしれませんが、その辺はコメント等でご指摘頂けるとありがたいです。
■ Shifter では出来ないこと…
○ SSH や SFTP でサーバーへアクセスすることは出来ない…
Shifter では、サーバーは必要なときにだけ立ち上げるもので、SSH で接続してコマンド叩いたり、SFTP 経由でファイルを編集したり、アップロード・ダウンロードしたりは出来ません。
> 代わりに、プラグインを使おう !!!
ファイルの操作に関しては、File Manager などのプラグインを使うのがよろしいかと思います。サーバーコマンドを実行できるプラグインとかもあるのかな ???
○ データベースへアクセスすることは出来ない…
SSH や SFTP でサーバーへアクセスすることは出来ない… と同じで、データベースへアクセスすることは出来ません。
> 代わりに、プラグインを使おう !!!
代替策も同じですね。私は、使ったことありませんが、データベースにアクセスできるプラグインもあるみたいなので、そちらを使うとよろしいかと思います。
🤔🤔🤔
「SSH も SFTP も データベースへもアクセス出来ずにどうやってWordPress を移行するんだろう?」
と疑問に思う方も多いかと思いますが、All-in-One WP Migration という便利なプラグインがあるので、そちらを使います。ネットで検索すると、詳しい使い方が書かれた記事が見つかると思いますので、そちらをご参考にしてみて下さいね。
良ければ、こちらの記事もどうぞ ♪♪♪
○ WP-Cron やサーバー内の cron での定期実行やスケジュール実行は出来ない…
これも当然ながら、サーバーが常時起動していないので、出来ないですね…。
> 代わりに ???
なかなか難しいですが、
- 定期実行やスケジュール実行が出来るサービスを利用するか
- Google Apps Script(GAS)
- Actions | GitHub
- 各種パブリッククラウドのサービス (AWS、Google Cloud Platform、Microsoft Azure)
- 連携サービスを使うか
- 別でサーバーを立てるか
な気がしますが…。
でも、別でサーバー立てるぐらいなら、Shifter 使わないかな…
ただ、Shifter を使う段階で、「その機能要らなくなるんじゃない ???」 ということも結構ある様な気がします。
で、
🤔🤔🤔
「あれ!? 定期実行とか動かないのであれば、予約投稿とかどうすれば良いんだろう?」
と疑問に思う方も多いかと思いますが、確かに WordPress の予約投稿は動作しませんが、Shifter には、「Scheduled Publish」という機能がありまして、 それを使うと予約投稿と同様に、所定の時間に記事を公開することが出来ます。詳しくは、こちらの記事をご参考下さい。
○ Rewrite は出来ない…
これもサーバーが常時起動していないので、出来ないです…。
> 代わりに、プラグインとかを使ってリダイレクトであれば出来るよ…
これとかですかね。私も使ったことないから、わからないですが…
ただ、「そもそも Rewrite 必要なの ???」ということも結構あるかなと、そのままの URL で書き直しても問題なければ、それでも良いかと。
○ Jetpack プラグイン とか、Wordfence Security プラグイン とかは正常に動かない…
サーバーが常時起動していないですし、Shifter 上で起動される WordPress のドメインが合わないことなどがあり、正常に動作しないです…。というか、このプラグインがあると Shifter 上の WordPress が起動しなくなったりすることもあるので、無効にするか、削除した方が良いかも…
> っていうか、これらのプラグイン必要無いのでは ???
そもそも、サーバーが起動してないからセキュリティ的な意味で、これらのプラグインを導入する意味が無いよね、っていう話だったりもするかと…
あと、Shifter で明確に非推奨にされているプラグインもあります。ご参考までに。
○ すぐに記事を書いて、すぐに公開したり出来ない…
Shifter 上での記事の公開は以下の流れになっていて、
常時起動の WordPress と違って、1 と 3 の時間が余計に掛かってしまう構造になっているので、すぐに記事を書いて、すぐに公開するとなると、なかなか難しくなってしまうかなと…
> うーん…、今のところなかなか難しいのかな…
「この記事をすぐに1分1秒でも早く公開しないとー !!!」ということが無いのであれば、そもそも気にならないことではありますが…、
コーポレートサイトやプロダクトサイトなどで、お客様へのトラブル案内などを早急に行いたい場合は、非常にネックになってくるかもしれません…
Shifter のサービスの向上に期待したいですね。
○ 同じサイトの WordPress 上で、複数人が記事を書いてる中で、自由に記事を公開したり出来ない
- Generate (静的化) する際に、WordPress がシャットダウンされる。
というのがあり、同じサイトの WordPress 上で、複数人が記事を書いていて、ある人が記事を公開しようと Generate (静的化) すると、WordPress がシャットダウンされ、記事を書いてる他の人が困ったことになってしまいます…
> 運用的にカバーすることは出来る… ???
根本的な解決ではありませんが、Generate (静的化) する際には、WordPress 上で記事を書いてる人にアナウンスするなど、運用的にカバー出来る部分はあるかなと…、
運用のやり方については、Shifter Advent Calendar 2020 - Qiita の 10日目の @haruharuharuby さんのこちらの記事が非常に参考になるかと。
ただ、どうしてもちょっと面倒臭い感じはありますので、この辺は運用体制や組織文化なども考慮しつつ、検討するのが良いかと思います。
○ 記事やレイアウト、デザインなどの下書きをいつでもすぐに確認してもらうことは出来ない…
Shifter 上での WordPress でも、通常のWordPress と同じ様に、作成途中の下書きを誰かに確認してもらうことは出来ますが…、
- WordPress は、常時起動することが出来ず、一定時間経過するとシャットダウンされる。
があるので、確認してもらいたい方のタイミングが遅くなってしまい、その間に、WordPress がシャットダウンされてしまうと、「教えてもらった URL クリックしてもエラーになっちゃたよー」ということになって、再度 WordPress を起動し直さなくちゃいけなくなったりします…。
また、Shifter には、Publish (公開) 前のプレビュー確認機能もあるんですが、
当然のことながら Generate (静的化) が必要になるので、細かなちょっとした修正で、何度も Generate (静的化) することになったりすると、時間と手間が結構掛かっちゃいます…
> うーん…、今のところなかなか難しいのかな…
そもそも確認とか要らないのであれば、何も気にする必要は無いんですが…
コーポレートサイトやプロダクトサイトなどで、企業や団体の公式な情報を公開する場合などであれば、確認は必要だったりしますので、なかなか難しいところかと。まぁ、これも運用体制や組織文化なども考慮しつつ、検討するのが良いかと思います。
因みに、Web サイト全体のデザインや多少大きめのデザインレイアウトなどは、Shifter 上の WordPress を使わず、Local by Flywheel (ローカルバイフライホイール) を使ってみるのも良いかなと思います。共有リンク機能もあるので、Local by Flywheel (ローカルバイフライホイール) を落とさなければ、問題無く確認できます。ただ、本番サイトとデータベースやファイルなどが同期されている訳ではありませんし、結局のところ、本番サイトでの確認は必要だったりするので、試行錯誤中の作成段階での利用になってしまうのかなと思います。
良ければ、こちらの記事もどうぞ ♪♪♪
○ 他のサイトの最新の投稿一覧は勝手に更新されない
Shifter は全てのページが Generate (静的化) されるところが特徴な訳ですが、逆に言うと、Generate (静的化) された時の情報で止まってしまう、ということになります。
ですので、Shifter を利用しているサイトが、他のサイトの投稿の一覧などをページに表示してる場合、他のサイトが更新されても勝手には更新されず、必ず Generate (静的化) の手順が必要となります。
> 構造的になかなか難しいのかな…、Shifter API ???、Algolia ???、RSS ???
構造的になかなか厳しいかなとは思いますが…、
Shifter API を使って上手いこと自動で Generate (静的化) するとか、
次項で述べる Algolia を使うという手も、もしかしたらあるのかもしれません…
ただ、大袈裟だよなぁ…、という気も…
RSS とかを使ったら、うまく出来たりするのかな ??? その辺詳しくないので、何か良い解決策などあれば、コメント頂けると非常に嬉しいです !!!
○ 検索ページはそのままだと正常に動作しない…
Shifter は全てのページを Generate (静的化) しますので、ユーザーからの入力に合わせてインタラクティブにページを変更することができません。ですので、検索欄にキーワードを入力して検索しても、正常に動作しません。
> 代わりに、Algolia を使おう !!!
検索絡みのサービスについては、Algolia 一択と考えて良いかなと思います。
詳しくは、こちらの資料を ♪♪♪
私も、今年移行したサイトの検索には、Algolia を利用させてもらいました。
😭😭😭
ですが、私が導入する際は、ネット上でのノウハウが少なく非常に苦労しました…。何度投げ出そうかと思ったことか…。
Shifter Advent Calendar 2020 - Qiita の 2日目の @shinodogg さんのこちらの記事もありますし、
- Algolia の InstantSearch.js を使った Shifter Static と Shifter Headless の Federated Search | shinodogg.com
Shifter から、プラグインも公開されていますので、
導入に際して、参考にしてみては如何かと。
どうしてもわからない場合は、 @shinodogg さんに直接 DM 投げるのも一つの手かなと。
○ 問い合わせページはそのままだと正常に動作しない…
検索ページはそのままだと正常に動作しない… と同じです。各種フォームに値を入力し、Submit しても、正常に動作しません。
> 代わりに、フォームサービスを使おう !!!
色々なフォームサービスがありますので、それを利用しましょう。
こちら、フォームサービスを調べましたので、良ければご参考下さい。
因みに、今年移行したサイトには、KwesForms を利用させてもらいました。こちらの記事に簡単な手順などまとめていますので、ご参考下さい。
○ 予約ページはそのままだと正常に動作しない…
検索ページはそのままだと正常に動作しない… と同じです。各種予約フォームに値を入力し、Submit しても、正常に動作しません。
> 代わりに、予約フォームサービスを使おう !!!
色々な予約フォームサービスがありますので、それを利用しましょう。
こちら、予約フォームサービスを調べましたので、良ければご参考下さい。
因みに、今年移行したサイトには、YouCanBook.me を利用させてもらいました。
基本的に、各種予約フォームサービスで予約フォームを作成し、ページ内に、そのままリンクを追加するか、インラインフレームで追加するかの対応になると思いますので、大した修正にはならないかと。
○ ZIP ファイルのダウンロードは出来ない…
これは、Shifter のセキュリティ上の仕様とのこと。画像ファイルや PDF ファイルなどは、サイトからダウンロード出来ますが、ZIP ファイルは出来ません。
> 代わりに、別のサービスを使おう !!!
とりあえず、ダウンロード出来れば良いのであれば、
- ストレージサービスの共有機能を利用するか
- Google ドライブ
- Dropbox
- 各種パブリッククラウドのストレージサービス (AWS、Google Cloud Platform、Microsoft Azure)
といったところかなと。
○ 投稿が1件も無いカテゴリページが表示されない…
Shifter の仕様なのか、投稿が1件もないカテゴリページは、Generate (静的化) の段階で正常にページが出力されないみたいです。
> テーマの functions.php を修正して、出力しよう !!!
こちらの記事に記載されている対応を行うと、出力されるみたいです。
投稿が1件も無いカテゴリページ以外にも出力されないケースがもしかしたらあるかもしれなので、その時はこの対応を試してみるのも良いかもしれません。ただ、無闇にテーマファイルをいじると WordPress が起動しなくなることもありえますので、その点ご注意を !!!
🤔🤔🤔
でも、間違っちゃって WordPress が起動しなくなったらどうしたら良いんだろう?」
と疑問に思う方も多いかと思いますが、こちらの記事にある Safe Mode で起動することが出来るので大丈夫です !!!
詳しいことは、Shifter Advent Calendar 2020 - Qiita の 3日目の @plasticdreams さんのこちらの記事が非常に参考になるかと。
■ まとめ
今回、Shifter では出来ないことをまとめさせてもらいましたが、当然のことながら Shifter で出来ることは、これ以上にたくさんあります。
Shifter Advent Calendar 2020 - Qiita の他の方々の記事や以下のリンク等にもたくさん書かれていますので、どうぞご覧下さい ♪♪♪
大切なことは、Shifter も全てにおいて万能という訳ではない、ということです。
ですので、
Web サイトの、目的や特徴、運営体制、ビジネス環境に合わせて、Web サイト全体の構成をちゃんと検討することが非常に重要なのかなと思いますし、場合によっては、Shifter を利用せず、オンプレ や クラウド (AWS など) 、WordPress.com や各種 Web サイトサービス なども含め、柔軟に考えて良いのではないかと思います。
そのことについては、以下にも資料を作成しましたので、どうぞご覧ください ♪♪♪
色々書きましたが、Shifter は、WordPress を使った Web サイトを、エンジニアの手から離し、主役となる Web ディレクター や Web デザイナー、ライター、マーケティング部門の手に受け渡す、非常に素晴らしいサービスです。
特に、現状動いている WordPress の Web サイトを少ない工数で移行出来るのは、非常に素晴らしいですし、現在 WordPress を運用している方、また、これから WordPress サイトを立ち上げようと考えている方は、まずは Shifter を第一候補に考えて良いんじゃないかなぁ、と思います。
👍👍👍
フリープラン もありますし、まずは今すぐ使ってみることをオススメします !!!
↓↓↓
Shifter - WordPressのためのJamstackプラットフォーム
何かお困りごとがあれば、こちらのサポートやパートナーさんもいらっしゃるので、お気軽にご相談されるとよろしいかと ♪♪♪
参考になれば♪
👋👋👋