Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
necco 阿部さんの記事を見て Shifter Headless + Faust.js + ...
Search
佐藤あゆみ
December 10, 2021
Technology
0
2.3k
necco 阿部さんの記事を見て Shifter Headless + Faust.js + Vercel したらかんたんに実装できちゃった話
2021/12/10 Shifter オンラインミートアップ!
https://eventregist.com/e/uULbnS740mav
佐藤あゆみ
December 10, 2021
Tweet
Share
More Decks by 佐藤あゆみ
See All by 佐藤あゆみ
使えばわかる!Jamstackの前に microCMS × PHP から始めてみる という選択肢
trickstar13
1
2.6k
おきらく!みんなのWeb高速化入門
trickstar13
0
280
Other Decks in Technology
See All in Technology
VS CodeとGitHub Copilotで爆速開発!アップデートの波に乗るおさらい会 / Rapid Development with VS Code and GitHub Copilot: Catch the Latest Wave
yamachu
2
300
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
190
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
120
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
140
AI エージェントと考え直すデータ基盤
na0
17
6.8k
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
0
150
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
470
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
260
ロールが細分化された組織でSREは何をするか?
tgidgd
1
160
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
330
AWS CDKの仕組み / how-aws-cdk-works
gotok365
10
730
Featured
See All Featured
Done Done
chrislema
184
16k
Gamification - CAS2011
davidbonilla
81
5.4k
Visualization
eitanlees
146
16k
GraphQLとの向き合い方2022年版
quramy
49
14k
Typedesign – Prime Four
hannesfritz
42
2.7k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Building an army of robots
kneath
306
45k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Navigating Team Friction
lara
187
15k
A designer walks into a library…
pauljervisheath
207
24k
Transcript
Pentaprogram 佐藤あゆみ necco 阿部さんの記事を見て Shifter Headless + Faust.js + Vercel
したら かんたんに実装できちゃった話 [12/10 開催] Shifter オンラインミートアップ!
͜Ε·Ͱͷ͋Β͢͡
WordPress運用の悩み • WP本体、プラグイン、サーバのアップデート対応がつらい • もたもたしてると、セキュリティちょっと心配 • きちんとしたテーマを作るのがたいへん (ブロックエディタ?FSE?) •
ちょっと重いかも…
ヘッドレス対応で解消できる(かも) • WP本体、プラグイン、サーバのアップデート対応がつらい • もたもたしてると、セキュリティちょっと心配 ✓WP本体と公開サイトを分離して管理できる • テーマを作るのがたいへん ✓公開サイトは好きな言語を使って自由に色付け •
ちょっと重いかも… ✓公開サイトは静的ページにできるほか、やりたい放題
いっぽう、残る問題も… • WP本体、プラグイン、サーバのアップデート対応がつらい • ヘッドレス+Jamstack構成にすると プレビューを実装するのが難しい
Shifter Headless で解消できる! • 本体、プラグイン、サーバのアップデート対応がつらい ✓マネージドホスティングなので、 WordPress側はShifterが対応してアップデートしてくれる • ヘッドレス+Jamstackにすると
プレビューを実装するのが難しい https://www.getshifter.io/
Faust.js で解消できる! • 本体、プラグイン、サーバのアップデート対応がつらい ✓マネージドホスティングなので、 WordPress側はShifterが対応して適用してくれる • ヘッドレス+Jamstackにすると
プレビューを実装するのが難しい ✓Headless WordPress用フレームワーク Faust.jsが データをよしなに取り回してくれるので、 WordPress画面から簡単にプレビューできる https://faustjs.org/
Faust.js φχϞ ϫΧϥφΠ… Ͱ…
ブログ記事があったー!! しかもすぐ試せるリポジトリもあったー! • necco 阿部さん執筆のブログ記事 • HAMWORKS Toro_Unitさんの Faust.js初期設定済リポジトリ
• 圧倒的感謝 • Shifter Headlessを 組み合わせてみよう! https://necco.co/note/6740
この状態がゴール 7日後に自動的に消滅する予定(お試し版なので) https://faustjs-demo.vercel.app/
こんな素敵なレイアウトも スタンダードなWordPressでは難しい表現もできる
Shifter Headless Ͱ WordPressαΠτΛ࡞Ζ͏ Shifter
None
None
None
None
後日でOK
ϩʔΧϧʹϦϙδτϦΛΫϩʔϯ͠Α͏ Local & Remote
ローカルにtoro_unitさんのリポジトリをクローン git clone
[email protected]
:torounit/faustjs-app.git https://github.com/torounit/faustjs-app _
リモートに 新規リポジトリを作成 •GitHub •GitLab •Bitbucket Vercelと連携できるならなんでもOK
リモートリポジトリにプッシュ cd faustjs-app git remote set-url origin https://github.com/(自分のアカウント名)/faustjs-demo.git git branch
-M main git push -u origin main
VercelΛॳظηοτΞοϓ͠Α͏ Vercel
新しいプロジェクトを作成する
リポジトリをインポートする
とりあえずデプロイボタンを押しておく
公開サイトURL
None
Shifter Headless Λઃఆ͠Α͏ Shifter
WordPress 管理画面にログインする
Headless by WP Engineプラグインを有効化する
Headless設定① • Front-end site URLに 公開サイト(Vercel)のURLを 設定する •
Secret Keyをメモする
Headless設定② WP GraphQLΛActiveʹ͢ΔϘλϯΛԡ͢ • WP GraphQLをActiveにする
GraphQL設定 WP GraphQLΛActiveʹ͢ΔϘλϯΛԡ͢ • Public Introspectionを 有効にする
パーマリンクを設定 WP GraphQLΛActiveʹ͢ΔϘλϯΛԡ͢ • /posts/%postname%/ • こだわりがなければslug (postname)がラク https://faustjs.org/docs/next/reference/hooks/usePost
Vercel ʹ Shifter Headless ͷใΛઃఆ͠Α͏ Vercel
環境変数を追加する Settings -> Environment Variables • NEXT_PUBLIC_WORDPRESS_URL: ShifterのURL •
WP_HEADLESS_SECRET: メモした文字列
ϩʔΧϧڥΛηοτΞοϓ͠Α͏ Local
ͳʹͱ͋Ε npm install
.envを編集 ✴このまま push すると.env も push されてしまうので 気になる場合は先にリモートから .env
を消しておく Shifter Headless のサイトURL Secret Key
Shifterの情報をローカルのスキーマに反映させる npm run generate
ローカル環境を立ち上げてみる npm run dev
リポジトリに変更をプッシュする スキーマを変更したのでリポジトリにPUSHして Vercelに反映させる
͢Δͱ…
デプロイでコケる Vercelのデプロイ失敗
デプロイでコケる Vercelのデプロイ失敗 • toro_unitさんのリポジトリで はBookというカスタム投稿タイ プを使用 • Shifter上にはBookというカス タム投稿タイプがないのでス キーマにも存在しない
• コードには存在するので、エ ラーが出る • そうだ、カスタム投稿を作ろう
ΧελϜߘλΠϓΛઃఆ͠Α͏ Shifter
カスタム投稿タイプを設定しよう toro_unitさんのリポジトリを使う場合 • mu-pluginsフォルダにカスタム投稿を設定する記述あり • Shifter Headlessはmu-pluginsに直接ファイルを入れられない (FTPやSSH接続できない) •
Code Snippetsプラグインを使って同内容の記述を追加する • CPT UIやAtlas Content Modelerでも登録可
https://github.com/torounit/faustjs-app/blob/main/mu-plugins/post-type.php
Code Snippetsプラグインを有効化する
新しいスニペットを作成する
スニペットを登録する mu-plugins/post-type.phpの内容をコピペ • 内容はそのままでOK • コピペできたら Save Changes and
Activate ボタンで保存&有効化
カスタム投稿ができた!
ΧελϜߘλΠϓΛөͤ͞Α͏ Local
Shifterの情報をローカルのスキーマに反映させる(再) npm run generate
リポジトリに変更をプッシュする(再) スキーマを変更したのでリポジトリにPUSHして Vercelに反映させる
None
ߘΛϓϨϏϡʔͯ͠ΈΑ͏ Shifter
None
None
None
None
࠷ޙʹ
まとめ • 記事にそってぽちぽちするだけで味付け自由な ヘッドレス WordPress サイトを作れる! • すべて無料で試せる! • カスタム投稿タイプ設定に注意
(※阿部さんの記事執筆後に加わったもので、記 事には記載がありません) • necco 阿部さん、HAMWORKS Toro_Unitさん、 ありがとう!!
Pentaprogram 佐藤あゆみ ありがとうございました "If you put your mind to it,
you can accomplish anything." - Back to the Future