株式会社WR

株式会社WR

WEB TOTAL CONSULTING

構造化データ(JSON-LD)でSEOを強化する
ブログ一覧へ
マーケティング

構造化データ(JSON-LD)でSEOを強化する

Googleの構造化データ(schema.org/JSON-LD)を実装することで、リッチリザルト(星評価・価格・営業時間など)が検索結果に表示され、クリック率が向上します。

構造化データとは——Googleへの「説明書」

構造化データは、WebページのコンテンツをGoogleが機械的に理解できる形式で記述する仕組みです。JSON-LD(JavaScript Object Notation for Linked Data)形式で <script> タグに記述するのが現在の標準です。

構造化データを正しく実装することで:

  • リッチリザルト:検索結果に星評価・パンくず・FAQが表示される
  • ナレッジグラフ:Googleの知識グラフに組織情報が登録される
  • 音声検索対応:Googleアシスタントが情報を取得しやすくなる

主な構造化データの種類

タイプ 用途 リッチリザルト
Organization 組織情報 ナレッジグラフ
BreadcrumbList パンくずリスト 検索結果のURL表示
FAQPage よくある質問 FAQ展開表示
Article 記事 記事カルーセル
LocalBusiness 地域ビジネス マップ・営業時間
Product 商品 価格・在庫・評価
HowTo 手順説明 ステップ展開表示

組織情報(Organization)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "株式会社WR",
  "alternateName": "Wr Co. Ltd.",
  "url": "https://wr-corporation.com",
  "logo": {
    "@type": "ImageObject",
    "url": "https://wr-corporation.com/images/logo.png",
    "width": 200,
    "height": 60
  },
  "description": "PHP/Laravel・Python・Node.jsを活用したWebシステム開発、EC自動化、データ収集・分析のシステム開発会社",
  "foundingDate": "2021-01-25",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "松戸1230-1 ピアザビル9階",
    "addressLocality": "松戸市",
    "addressRegion": "千葉県",
    "postalCode": "271-0092",
    "addressCountry": "JP"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "email": "wr.corporation.nt@gmail.com",
    "availableLanguage": "Japanese"
  },
  "sameAs": [
    "https://github.com/yourorganization"
  ]
}
</script>

FAQページ(FAQPage)

よくある質問ページに実装すると、検索結果でQ&Aが展開表示されます。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "対応しているプログラミング言語・フレームワークは何ですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "PHP(Laravel)・Python・Node.js・JavaScript(Vue.js・Tailwind CSS)を中心に対応しています。データベースはPostgreSQL・MySQLに対応しています。"
      }
    },
    {
      "@type": "Question",
      "name": "開発の依頼から納品までどれくらいかかりますか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "プロジェクトの規模によって異なります。小規模なWebサイトや自動化ツールは2〜4週間、中規模のWebシステムは2〜3ヶ月が目安です。まずはお問い合わせください。"
      }
    },
    {
      "@type": "Question",
      "name": "スクレイピング・データ収集ツールの開発は対応していますか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "対応しています。EC価格監視・競合分析・在庫管理など様々なスクレイピングシステムの開発実績があります。利用規約・法的要件を確認した上で適切な実装を行います。"
      }
    }
  ]
}
</script>

ブログ記事(Article)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Laravel Eloquentをもっと使いこなす——スコープ・リレーション・Eagerロード",
  "datePublished": "2022-01-12T09:00:00+09:00",
  "dateModified": "2024-03-15T09:00:00+09:00",
  "author": {
    "@type": "Organization",
    "name": "株式会社WR",
    "url": "https://wr-corporation.com"
  },
  "publisher": {
    "@type": "Organization",
    "name": "株式会社WR",
    "logo": {
      "@type": "ImageObject",
      "url": "https://wr-corporation.com/images/logo.png"
    }
  },
  "image": "https://images.unsplash.com/photo-1544383835-bda2bc66a55d?auto=format&fit=crop&w=1200&q=80",
  "description": "Laravel EloquentのQueryScope・HasMany/BelongsTo・Eagerローディングを理解することで、N+1問題を防ぎ、読みやすいコードが書けるようになります。"
}
</script>

Laravelでの動的生成

// app/Helpers/StructuredData.php
class StructuredData
{
    public static function article(WrPost $post): string
    {
        $data = [
            '@context'       => 'https://schema.org',
            '@type'          => 'Article',
            'headline'       => $post->title,
            'datePublished'  => $post->published_at->toIso8601String(),
            'dateModified'   => $post->updated_at->toIso8601String(),
            'author'         => [
                '@type' => 'Organization',
                'name'  => '株式会社WR',
                'url'   => config('app.url'),
            ],
            'description'    => $post->excerpt,
            'image'          => $post->cover_image,
        ];

        return '<script type="application/ld+json">' . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . '</script>';
    }
}
{{-- Bladeテンプレートで使用 --}}
{!! \App\Helpers\StructuredData::article($post) !!}

実装後の確認方法


まとめ

JSON-LDによる構造化データは実装コストが低いわりに、検索流入向上・リッチリザルト表示という大きなSEO効果をもたらします。弊社ではすべてのWebプロジェクトで構造化データを実装しています。

WebサイトのSEO改善・制作についてはお気軽にご相談ください。

Category マーケティング

Related Posts

関連記事

開発・技術のご相談はお気軽に

お見積りは無料です。まずはお気軽にご相談ください。

お問い合わせ →