ブログ・記事・固定ページ・お問い合わせ
article / blog / pageテンプレートとcontactフォーム、LP用カスタムテンプレートを実装できる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、ブログ・記事・固定ページと、お問い合わせフォームを作れるようになります。
受託では「特集ページを運用者が量産したい」という要望を、カスタムテンプレート1つで叶えられます。
ブログと記事はどう作るか
ブログ一覧はtemplates/blog.jsonで、paginate blog.articles by 12の中で回します。
記事からはarticle.excerpt_or_content / image / published_at | date / author / tagsが取れ、blog.all_tagsでタグの絞り込み(/blogs/news/tagged/xxx)ができます。
記事ページはtemplates/article.jsonです。article.contentはリッチテキストのHTMLなので、.rteのようなクラスでスタイルを当てます。
コメントはblog.comments_enabled?で分岐し、form 'new_comment', articleとarticle.commentsで出します(承認制などはブログ設定に依存します)。
特集ページを量産するにはどうするか
固定ページはtemplates/page.jsonとpage.contentで出します。
`templates/page.lp.json`を作ると、管理画面のテンプレート選択に「lp」が現れます。
運用者はこのテンプレートを選んだページで、セクションを積んだLPを量産できます。
お問い合わせフォームはどう作るか
page.contact.json用のセクションに、{% form 'contact' %}を書きます。contact[email]とcontact[body]が必須で、任意の項目はcontact[電話番号]のように名前を付けます。
送信後はform.posted_successfully?とform.errorsで結果を出します。
スパム対策(CAPTCHA)は管理画面の設定で有効にでき、テーマにコードは要りません。
発展:ブログでできないこと
Shopifyのブログは、カテゴリや下書きの共有が弱いです。
記事量が多い案件では、ブログを複数持つ、メタオブジェクトで補う、外部CMSを使う、のいずれかを先に提案します。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。