はじめに Shopify2.0対応テーマの多くには、標準で組織情報の構造化データ(Organization)が実装されており、ショップがAIに渡す「名刺」の役割があります。 Dawnの場合、出力されるのはショップの「名前」「URL」「ロゴ」「SNSリンク」のみ。ショップの名刺に記載する情報として不十分だと思いませんか? 本カスタマイズ「ストア・アドオン」は、ご利用のテーマの、テーマ標準に設置されたショップの構造化データを、E-E-A-T強化型にアップグレードさせます。 「ストア・アドオン」は、Shopify標準テーマのDawnをベースに解説していきます。 このカスタマイズを実行するには、スタッフ情報メタオブジェクトの実装が完了していることが前提です。 E-E-A-T強化型のスタッフページを実装 テーマ設定を編集 コード編集画面より、「config/settings_schema.json」を開き、以下のコードを追記します。 JSON形式に習い、最下部に設置してください。 { "name": "Store Add-on", "settings": [ { "type": "select", "id": "organization_type", "label": "Organization Type", "options": [ { "value": "Organization", "label": "Organization" }, { "value": "OnlineStore", "label": "OnlineStore" } ], "default": "OnlineStore" }, { "type": "textarea", "id": "organization_description", "label": "Organization Description", "info": "空欄の場合はストアの説明文が使用されます" }, { "type": "text", "id": "organization_contact_point", "label": "Organization Contact Point", "default": "Customer Service" }, { "type": "metaobject", "id": "organization_founder", "label": "Organization Founder", "metaobject_type": "members" } ] } 注)「metaobject_type」の値は、スタッフ情報のメタオブジェクトタイプに合わせて編集して下さい。 スニペットを追加 「snippets/store-add-on.liquid」を新規作成し、以下のコードを順に貼り付けて下さい。 Liquid {% liquid capture social_links if settings.social_twitter_link != blank echo settings.social_twitter_link | append: ',' endif if settings.social_facebook_link != blank echo settings.social_facebook_link | append: ',' endif if settings.social_instagram_link != blank echo settings.social_instagram_link | append: ',' endif if settings.social_youtube_link != blank echo settings.social_youtube_link | append: ',' endif if settings.social_tiktok_link != blank echo settings.social_tiktok_link | append: ',' endif if settings.social_pinterest_link != blank echo settings.social_pinterest_link | append: ',' endif if settings.social_linkedin_link != blank echo settings.social_linkedin_link | append: ',' endif endcapture assign same_as = social_links | remove_last: ',' | split: ',' assign founder = settings.organization_founder %} このコードは主に、SNSリンクを整理するためのものです。 標準仕様の場合、テーマ設定のSNSリンクに空欄があると、構造化データも空欄として出力されます。 { "@context": "http://schema.org", "@type": "Organization", "name": "10ca", "logo": "https://10ca.net/cdn/shop/files/10ca-logo.png?v=1671777837&width=500", "sameAs": [ "", "https://www.facebook.com/shopify10ca/", "", "https://www.instagram.com/10ca_shopify/", "https://www.tiktok.com/@10ca_shopify", "", "", "", "" ], "url": "https://10ca.net" } AIはデータの不備を嫌います。ノイズを排除し、美しく整理されたリンク集を提示することで、情報の正確性とドメインの信頼性を担保します。 テーマによって構造が異なる場合がありますので、ご利用テーマに合わせて編集してください。 JSON-LD <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "{{ settings.organization_type | default: 'OnlineStore' }}", "@id": {{ request.origin | append: '/#store' | json | remove: '\' }}, "name": {{ shop.name | json }}, "url": {{ request.origin | append: page.url | json | remove: '\' }}, {%- if settings.logo %} "logo": {{ settings.logo | image_url: width: 500 | prepend: "https:" | json | remove: '\' }}, {% endif -%} "description": "{{ settings.organization_description | default: shop.description | escape }}", {%- if same_as.size > 0 %} "sameAs": [ {%- liquid for url in same_as echo url | json | remove: '\' unless forloop.last echo ',' endunless endfor -%} ], {%- endif -%} {%- if founder != blank %} "founder": { "@type": "Person", "name": {{ founder.name.value | json }}, "jobTitle": {{ founder.title.value | join: ' / ' | json | remove: '\' }} }, {% endif -%} "contactPoint": { "@type": "ContactPoint", "telephone": {{ shop.phone | json }}, "email": {{ shop.email | json }}, "contactType": "{{ settings.organization_contact_point | default: 'Customer Service' }}" } } </script> まず、データの型「@type」を「Organization」から「OnlineStore」に変更します。 単なる『組織』ではなく『オンライン店舗』であると定義し直すことで、AIはここが『商売の場』であることを正しく認識し、購買意欲のあるユーザーへ優先的に繋いでくれるようになります。必要に応じ、いつでも切り替えられるように設計しています。 次に、「description(説明文)」の追加。 ここにショップの専門領域を具体的に書き込みます。単なる店名ではなく、『何を取り扱う店か』という明確な強みをデータとして流し込むことで、AIがあなたの店を『特定の悩みの解決策』として推薦する根拠になります。テーマ設定が空欄の場合は、ショップ説明文が出力されます。 そして「sameAs(SNSリンク)」では、美しく整理された空欄のないリンクデータが出力されます。 さらに、「contactPoint(窓口)」と「founder(運営者)」の追加。 カスタマーサポートの窓口と、運営者のプロフィールを明示することで、誰がどう責任を持って運営しているかが明確になり信頼の証明(E-E-A-T)につながります。この部分の出力にはスタッフページの制作時に実装したメタオブジェクトを再利用します。 LLMOに効果的!E-E-A-T強化型のスタッフページを実装 セクションの編集 「sections/header.liquid」を開き、構造化データ部分を以下のように差し替えます。 <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": {{ shop.name | json }}, {% if settings.logo %} "logo": {{ settings.logo | image_url: width: 500 | prepend: "https:" | json }}, {% endif %} "sameAs": [ {{ settings.social_twitter_link | json }}, {{ settings.social_facebook_link | json }}, {{ settings.social_pinterest_link | json }}, {{ settings.social_instagram_link | json }}, {{ settings.social_tiktok_link | json }}, {{ settings.social_tumblr_link | json }}, {{ settings.social_snapchat_link | json }}, {{ settings.social_youtube_link | json }}, {{ settings.social_vimeo_link | json }} ], "url": {{ request.origin | append: page.url | json }} } </script> {%- if request.page_type == 'index' -%} {% assign potential_action_target = request.origin | append: routes.search_url | append: "?q={search_term_string}" %} <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": {{ shop.name | json }}, "potentialAction": { "@type": "SearchAction", "target": {{ potential_action_target | json }}, "query-input": "required name=search_term_string" }, "url": {{ request.origin | append: page.url | json }} } </script> {%- endif -%} ↓ハイライト部分を差し替え {% render 'store-add-on' %} {%- if request.page_type == 'index' -%} {% assign potential_action_target = request.origin | append: routes.search_url | append: "?q={search_term_string}" %} <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": {{ shop.name | json }}, "potentialAction": { "@type": "SearchAction", "target": {{ potential_action_target | json }}, "query-input": "required name=search_term_string" }, "url": {{ request.origin | append: page.url | json }} } </script> {%- endif -%} 以上でテーマの編集は完了です。 構造化データに使えるプロパティは無数にありますので、ショップのスタイルや商材に合わせて変更し、競合店との差別化を図りましょう。 OnlineStore - Schema.org テーマ設定を編集 最後に「オンラインストア>テーマを編集する」よりテーマカスタマイザーを開き、「テーマ設定>Store Add-on」をショップに合わせて設定してください。 これで、信頼性(E-E-A-T)が強化され、ショップの名刺がアップグレードされました。 設定完了後、「スキーママークアップ検証ツール」でサイトを検証してください。 「OnlineStore」が検出され、その中に全ての項目がエラーなく格納されていれば、「ストア・アドオン」の実装は完了です。 最後に AIに推測させる時代は終わりました。 不十分な構造化データだと、AIはページの中から情報を導き出し、推測し、サイトを評価します。 ショップの名刺に情報を加えることで、AIへの理解度を深め、AI時代の検索エンジン最適化「LLMO」への効果も期待できます。 構造化データはサイトのソースを閲覧しない限り、人間の目には見えません。 これからは見えない部分の強化こそが、サイトの運営に必用です。