Community画像github.com

LynxCMS/seo

Lynx レイアウトに SEO タグを追加し、SEO 設定を管理します。レイアウトの head を記述するとき、テンプレートの SEO フィールドを有効にするとき、またはページのタイトル、説明、共有画像、正規URL、ロボットルールを確認するときに使用します。

seo とは?

このスキルは、LynxCMS のレイアウトに完全な SEO タグのセットを自動的に追加します。タイトル、メタディスクリプション、正規URL、robots メタタグ、Open Graph タグ、X (Twitter) カードタグ、hreflang タグ、そして `/robots.txt` の提供をカバーします。Blade コンポーネント (`<x-lynx-seo />`) またはヘルパー関数 (`@seo()`, `lynx()->seo()`) を使ってレイアウトの `<head>` に簡単に統合でき、タグを個別にオーバーライドするオプションもあります。テンプレートごとに SEO フィールドを有効にでき、ページに `seo_title`、`seo_description`、`seo_image`、`seo_noindex`、`seo_canonical` などのカスタムフィールドが追加され、空の場合はサイト設定から自動的にフォールバックします。さらに、JSON-LD 構造化データ (WebSite、Organization、WebPage、BreadcrumbList) の生成もサポートしており、テンプレートを schema.org タイプにマッピングしてカスタムプロパティを定義できます。非本番環境では自動的に `noindex` が設定され、`robots.txt` が全許可になります。`seo_inspect` ツールを使うと、特定の言語の最終的なタグを確認できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LynxCMS/seo/tree/HEAD/resources/boost/skills/lynx-seo

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Lynx SEO

lynxcms/seo は、タイトル、説明、正規URL、ロボット、Open Graph、X (Twitter)、hreflang タグを書き込み、/robots.txt を提供します。

レンダリング

<head>
    <meta charset="utf-8">
    <x-lynx-seo :page="$page" />
</head>

これは <title> と @hreflang を置き換えます。フィルタリングされたリストの場合は、レスポンスごとにオーバーライドします: <x-lynx-seo :page="$page" robots="noindex, follow" :canonical="$page->url" /> (キーは title、description、canonical、robots。同じ配列が @seo($page, [...]) と lynx()->seo($page, [...]) でも機能します)。@seo($page) も同じです。lynx()->seo($page) はカスタム head 用の SeoData オブジェクトを返します。

フィールド

テンプレートごとに SEO を有効にします。ページには seo_title、seo_description、seo_image、seo_noindex、seo_canonical が追加されます:

lynx()->run(\LynxCms\Seo\Actions\EnableSeo::class, ['template' => 'article']);

空のフィールドは、サイトのタイトルパターンにおけるページタイトル、テキストがある最初の lynx-seo.description_fields、最初の lynx-seo.image_fields の画像、そして設定ページのデフォルト (lynx()->settings('seo-settings')) にフォールバックします。

本番環境以外では、すべてのページが noindex となり、robots.txt はすべてを拒否します (lynx-seo.block_non_production)。

構造化データ

各ページは JSON-LD グラフ (WebSite、Organization、WebPage、BreadcrumbList) を取得します。テンプレートを schema.org タイプにマッピングするには、SEO 設定ページ (seo_schemas マトリックス、アイテムタイプ mapping: seo_schema_template、seo_schema_type、seo_schema_map) または管理画面の「構造化データ」タブで行います。マッピング行は property: source の形式で読み取ります。source はフィールド、@title、@url、@published、@modified、=EUR などの定数、または @organization (サイトの所有者、author、publisher、provider、organizer に使用) です:

name: @title
startDate: starts
location: venue
offers.priceCurrency: =EUR

他のノードは app(\LynxCms\Seo\JsonLd\JsonLd::class)->extend(fn ($page, $graph) => $graph->add([...])) で追加します。

確認

seo_inspect 読み取りツールは、特定の言語におけるページの最終タグを提供します。SEO の管理には seo.manage 権限が必要です。

関連スキル