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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
佐藤あゆみ
December 10, 2021
Technology
0
2.6k
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.8k
おきらく!みんなのWeb高速化入門
trickstar13
0
290
Other Decks in Technology
See All in Technology
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
230
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
2
210
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.6k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
350
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
Agile Leadership Summit Keynote 2026
m_seki
1
680
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
230
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Skip the Path - Find Your Career Trail
mkilby
0
60
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
430
Ruling the World: When Life Gets Gamed
codingconduct
0
150
The SEO Collaboration Effect
kristinabergwall1
0
360
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
180
Google's AI Overviews - The New Search
badams
0
910
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