Skip to content

Schema.org Organization タイプを企業ページに追加#366

Merged
yasulab merged 5 commits intomainfrom
add-schema-org-organization
Jan 21, 2026
Merged

Schema.org Organization タイプを企業ページに追加#366
yasulab merged 5 commits intomainfrom
add-schema-org-organization

Conversation

@yasulab
Copy link
Member

@yasulab yasulab commented Jan 21, 2026

概要

Schema.org の構造化データ(JSON-LD)を全ページに実装しました:

  • 企業ページ: Organization タイプ
  • その他のページ: WebSite タイプ(デフォルト)

変更内容

1. Organization タイプ(企業ページ)

  • _includes/organization-json-ld.json テンプレートを新規作成
  • Schema.org 標準に完全準拠(非標準プロパティは含めない)
  • 企業名、URL、説明、住所(日本)を含む

2. WebSite タイプ(その他のページ)

  • _includes/website-json-ld.json テンプレートを新規作成
  • 企業ページ以外の全ページにデフォルト適用
  • page.lang パラメータで description を多言語対応

3. 多言語対応

  • _data/translations.yml に日本語版 titleDescription を追加
    • 英語: "Tech companies in Japan that hire remote workers."
    • 日本語: "リモートワークを採用している日本のテクノロジー企業のまとめ。"

4. 自動テスト

  • _tests/json_ld_check.rb による JSON-LD 検証を実装
  • JSON 構文の妥当性をチェック(シンプルで保守しやすい設計)
  • 詳細な Schema.org 検証は外部ツールに委譲

生成される JSON-LD の例

Organization タイプ(企業ページ)

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "YassLab 株式会社",
  "url": "https://yasslab.jp/ja/",
  "description": "『Ruby on Railsチュートリアル』『Ruby on Railsガイド』『coderdojo.jp』の開発・運営。  » GitHub を見る",
  "address": {
    "@type": "PostalAddress",
    "addressCountry": "JP"
  }
}

WebSite タイプ(日本語トップページ)

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Remotework.jp",
  "url": "https://remotework.jp/",
  "description": "リモートワークを採用している日本のテクノロジー企業のまとめ。",
  "inLanguage": ["en", "ja"]
}

WebSite タイプ(英語トップページ)

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Remotework.jp",
  "url": "https://remotework.jp/",
  "description": "Tech companies in Japan that hire remote workers.",
  "inLanguage": ["en", "ja"]
}

実装の工夫

  1. シンプルな条件分岐:

    {% if page.layout == 'post' and page.domain %}
      <!-- Organization タイプ -->
    {% else %}
      <!-- WebSite タイプ(デフォルト) -->
    {% endif %}
  2. 多言語対応: _data/translations.ymltitleDescription[page.lang] を活用

  3. シンプルなテスト: JSON 構文の妥当性のみをチェック(23行)

  4. 包括的なカバレッジ: 全 1023 ファイルで JSON-LD が正しく生成されていることを確認

テスト結果

$ bundle exec rake test
Running 5 checks (Favicon, Images, JsonLdCheck, Links, OpenGraph) in ["_site/"] on *.html files ...
Ran on 1023 files!
HTML-Proofer finished successfully.

期待される効果

  • SEO 強化: 検索エンジンによるコンテンツ理解の向上
  • Google ナレッジパネル: 企業情報の表示改善
  • リッチリザルト: 検索結果での視認性向上
  • 多言語対応: 日英両言語で適切な description を提供

参考

検証方法

以下のツールで JSON-LD の妥当性を確認できます:

- _includes/organization-json-ld.json テンプレートを新規作成
- head.html に JSON-LD 埋め込みロジックを追加
- Schema.org 標準に完全準拠(非標準プロパティは含めない)
- SEO 強化と Google ナレッジパネル表示の向上を目的とする

参考: mitou/jr.mitou.org#238
- _tests/json_ld_check.rb を新規作成
- Organization タイプの JSON-LD を検証
- 必須プロパティ (@context, @type, name, url, description) をチェック
- address 構造の妥当性を検証
- Rakefile に JsonLdCheck を追加して自動テスト化

テスト結果: 全 1023 ファイルで JSON-LD が正しく生成されていることを確認
- _includes/website-json-ld.json テンプレートを新規作成
- head.html の条件分岐を簡素化(企業ページ以外は WebSite タイプ)
- page.lang パラメータで description を多言語対応
- json_ld_check.rb を拡張して WebSite タイプも検証

テスト結果: 全 1023 ファイルで JSON-LD が正しく生成されていることを確認
- JSON の妥当性のみを検証(構文チェック)
- Schema.org の詳細検証は外部ツールに委譲
- コード量を 76 行から 23 行に削減(約 70% 削減)

詳細な Schema.org 検証は以下のツールで実施可能:
- Google Rich Results Test
- Schema.org Validator
- 英語: "Tech companies in Japan that hire remote workers."
- 日本語: "リモートワークを採用している日本のテクノロジー企業のまとめ。"

WebSite タイプの JSON-LD で page.lang に応じて適切な description を表示
@yasulab yasulab merged commit 0fedfd6 into main Jan 21, 2026
2 checks passed
@yasulab yasulab deleted the add-schema-org-organization branch January 21, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant