Metatag
DrupalコンテンツエンティティにSEOとソーシャルメディア共有を改善するための構造化メタタグを提供します。
metatag
インストール
composer require 'drupal/metatag:^2.2'
composer require 'drupal/metatag:^2.1'
概要
Metatagモジュールは、サイトビルダーがサイトと個々のページに関する構造化メタデータ(メタタグ)を自動的に提供できるようにします。このメタデータは、検索エンジンがページコンテンツを理解するのに役立ち、検索ランキングを向上させ、Facebook、Twitter、LinkedInなどのソーシャルネットワークで共有されたときのコンテンツの表示方法を制御します。
このモジュールは、グローバルメタタグをエンティティタイプレベル、バンドルレベル、そして最終的にはエンティティごとのレベルで上書きできる階層的なデフォルトシステムを使用します。Token対応により、エンティティフィールドやサイト情報からの動的な値の挿入が可能です。
このモジュールは、Open Graph Protocol、Twitter Cards、Dublin Core、ファビコン、モバイル設定などをカバーする各種サブモジュールを通じて、300以上の個別メタタグを利用できるプラグインベースのアーキテクチャを提供します。カスタムメタタグはプラグインシステムを通じて追加できます。
Features
- グローバル、エンティティタイプ、バンドル、およびエンティティごとのメタタグ設定を持つ階層的なデフォルトシステム
- 自動メタタグ設定のためのTokenベースの動的値置換
- 翻訳とリビジョンをサポートするエンティティごとのメタタグ上書きを保存するフィールドタイプ
- Open Graph、Twitter Cards、Dublin Coreなどをカバーするサブモジュールによる300以上のメタタグのサポート
- Contribモジュールを通じてカスタムメタタグを簡単に追加できるプラグインベースのアーキテクチャ
- Viewsページにメタタグを追加するためのViews統合
- Drupal 6 NodewordsおよびDrupal 7 Metatagモジュールからの移行サポート
- Webサービス経由でメタタグを公開するためのJSON API / REST統合
- メタタグ値をインデックス化するためのSearch API統合
- エンティティフォームに表示するメタタググループを制限する設定
- 設定可能な最大長でのメタタグ値のトリミング
- 利用可能なすべてのメタタグとそのプロバイダーを表示するレポートページ
- フロントページ、403、404エラーページ用の特別なメタタグ設定
- サイドバー配置とスクロール可能なコンテナのウィジェット設定
Use Cases
コンテンツサイトのSEO最適化
[node:title]や[node:summary]などのTokenを使用してデフォルトメタタグを設定し、SEOに適したメタディスクリプションを自動的に生成します。異なる説明パターンのためにコンテンツタイプごとのデフォルトを設定します。
ソーシャルメディア共有の最適化
metatag_open_graphとmetatag_twitter_cardsサブモジュールをインストールして、Facebook、Twitter、LinkedIn、Pinterestで共有されたときのコンテンツの表示方法を制御します。記事のアイキャッチ画像を使用するようにog:imageとtwitter:imageのTokenを設定します。
多言語サイトのSEO
metatag_hreflangサブモジュールを使用して、翻訳されたコンテンツに対してhreflangタグを自動的に生成し、検索エンジンがユーザーに正しい言語バージョンを提供できるようにします。
ECサイトの商品ページ
metatag_open_graph_productsを使用して、価格、在庫状況、商品カテゴリ情報を含むリッチなソーシャル共有のための製品固有のメタタグを追加します。
サイト検証
metatag_verificationサブモジュールを使用して、テーマテンプレートを変更せずにGoogle Search Console、Bing Webmaster Toolsなどのサービスの検証メタタグを追加します。
カスタムランディングページ
metatag_routesサブモジュールを使用して、Viewsページやカスタムコントローラーなど、エンティティページではないカスタムルートのメタタグを設定します。
エンタープライズ権限管理
metatag_extended_permsをインストールして、異なるユーザーロールに異なるメタタグへのアクセスを与えます。コンテンツ編集者が説明を設定できるようにしながら、robotsタグへのアクセスを管理者に制限します。
Tips
- [node:title] | [site:name]のようなTokenを使用して、コンテンツ全体で自動的かつ一貫性のあるメタタグパターンを実現します
- よりシンプルなコンテンツ編集が必要な場合は、SEOタイトルと説明用に別のフィールドを追加し、グローバルデフォルトでTokenを通じてそれらのフィールドを参照します
- 実際に必要なサブモジュールのみをインストールします - タグが少ないほどフォームが速くなり、複雑さが減少します
- 設定のメタタググループ機能を使用して、コンテンツ編集者から関係のないタグを非表示にします
- 推奨文字制限内に収まるように説明タグのトリミングを設定します(説明は155〜160文字、タイトルは55〜65文字)
- Metatagフィールドはエンティティごとのカスタマイズが必要な場合にのみ必要です。ほとんどの場合、デフォルトが自動的に処理します
- /admin/reports/metatag-pluginsのプラグインレポートを使用して、利用可能なすべてのタグとそれを提供するモジュールを確認します
Technical Details
Admin Pages 6
/admin/config/search/metatag
サイトのデフォルトメタタグ設定を管理します。グローバル、フロントページ、403/404エラーページ、およびエンティティタイプ/バンドル固有の上書きを含むすべてのデフォルト設定の階層リストを表示します。各設定は定義されたメタタグ値を表示し、編集、削除、またはデフォルトへの復元が可能です。
/admin/config/search/metatag/add
特定のエンティティタイプまたはバンドルの新しいデフォルトメタタグ設定を作成します。まだカスタムデフォルトが設定されていない利用可能なエンティティタイプとバンドルから選択します。
/admin/config/search/metatag/{metatag_defaults}
既存のデフォルトメタタグ設定を編集します。直接テキストまたはTokenを使用してメタタグ値を変更します。利用可能な置換パターンを表示するためのTokenブラウザが利用可能です。
/admin/config/search/metatag/settings
エンティティフォームに表示するメタタググループ、メタタグ値のトリミング、ウィジェット表示オプションなど、モジュール全体の設定を構成します。
/admin/reports/metatag-plugins
サイトで利用可能なすべてのメタタグプラグインを表示するレポートページ。各タグをメタタググループごとにグループ化し、プラグインID、タイプ、ウェイト、プロバイダーモジュール、説明などの詳細を表示します。
/admin/config/search/metatag/custom/create
カスタムルート/パス用のメタタグデフォルトを作成します。Metatag Custom Routesサブモジュールによって提供されます。
権限 1
Hooks 5
hook_metatag_route_entity
自動検出されないカスタムルートでのメタタグ生成用にエンティティを提供できるようにします。
hook_metatags_alter
Token置換とレンダリングの前にメタタグ値を変更します。コンテキストに基づいてメタタグを変更または削除できます。
hook_metatags_attachments_alter
ページに追加される前のレンダリングされたメタタグアタッチメントを変更します。Token置換後に呼び出されます。
hook_metatag_migrate_metatagd7_tags_map_alter
移行中のDrupal 7 MetatagタグのDrupal 8/9/10タグIDへのマッピングを変更します。
hook_metatag_migrate_nodewordsd6_tags_map_alter
移行中のDrupal 6 NodewordsタグのDrupal 8/9/10タグIDへのマッピングを変更します。
Troubleshooting 5
テーマのhtml.html.twigが{{ page.content }}ではなく{{ page }}を出力していることを確認してください。サイトがメンテナンスモードではないことを確認してください。/admin/config/search/metatagでグローバルデフォルトが有効になっていることを確認してください。
アンインストール前にエンティティバンドルからすべてのMetatagフィールドを削除してください。削除をブロックしている特定のフィールドを/admin/modules/uninstallで確認してください。
Tokenモジュールがインストールされていることを確認してください。コンテキストに対して正しいTokenタイプが利用可能であることを確認してください(例:[node:*]はnodeページでのみ動作します)。
/admin/config/search/metatag/settingsを使用して、各エンティティバンドルに表示するメタタググループを制限してください。そのコンテンツタイプに実際に必要なグループのみを表示してください。
Metatagはコアによって追加された重複タグを自動的に削除します。重複が続く場合は、同じタグを追加しているカスタムコードや他のモジュールを確認してください。
Security Notes 4
- 「administer meta tags」権限は制限付きアクセスとしてマークされており、信頼できるロールにのみ付与する必要があります
- メタタグ値はXSS攻撃を防ぐために出力前にサニタイズされます
- 「secure」としてマークされた一部のメタタグはHTTPS接続でのみ出力されます
- 拡張権限サブモジュールにより、どのユーザーがどのメタタグを編集できるかをきめ細かく制御できます