メタオブジェクトの設計と定義
独自のデータ構造をメタオブジェクトとして定義し、エントリの管理とWebページ化ができる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、独自のデータ構造をメタオブジェクト(一覧と詳細を持つ、独立したレコードの集合)として定義し、エントリの管理とWebページ化ができるようになります。
受託では、「取扱ブランドの一覧と各ブランドのページ」「店舗一覧」のような要望に、固定ページを量産せずアプリなしで応える第一候補になります。
メタオブジェクトとは、メタフィールドと何が違うか
メタフィールドは「既存のデータへの追加項目」で、メタオブジェクトは「独立したレコードの集合」です。
ブランド・店舗・スタッフ・FAQ・サイズ表・成分・作家のように、「一覧と詳細」を持つものに向きます。
商品に「素材」を足すのはメタフィールド、「ブランド一覧」はメタオブジェクトと考えます。
両者は参照で繋げます。
定義の作り方
定義は「コンテンツ」の「メタオブジェクト」から「定義を追加」で作ります。
type(例: brand)、フィールド(メタフィールドと同じ型から選びます)、表示名に使うフィールドを決めます。
あわせて、翻訳の可否・ストアフロントアクセス・Webページとして公開するか(オンラインストアの機能)も、定義側で設定します。
エントリとは、定義に沿った1件のデータ
エントリにはhandle(Liquidでの参照キーとURLに使う名前)と、ステータス(公開/下書き)があります。
公開機能が有効な定義では、下書きのエントリはLiquidからnilになります。
CSVの標準インポートは無いので、大量投入はMatrixifyかAPIで行います。
Webページ化と上限
定義でオンラインストアの機能を有効にすると、各エントリがURLを持ちます。
描画するのはテーマのtemplates/metaobject/{type}.jsonで、URLはmetaobject.system.urlから取ります。
SEO欄も定義側で持てます。
1定義あたりのエントリ数・フィールド数の上限は、公式で確認します。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。