Site Verification
メタタグの追加や検証ファイルの提供により、検索エンジン向けにサイトの所有権を確認します。
site_verify
インストール
composer require 'drupal/site_verify:^3.0'
概要
Site Verification モジュールは、検索エンジンやその他の外部サービスに対するサイト/ドメインの所有権認証プロセスを簡素化します。Google Search Console、Bing Webmaster Tools、Yandex Webmaster などのサービスが必要とする検証方法を管理するためのシンプルな管理インターフェースを提供します。
このモジュールは2つの検証方法をサポートしています:サイトのフロントページに自動的に含まれるメタタグと、サイトルートから直接提供されるテキスト/HTMLファイルです。これにより、FTPやサーバーアクセスによる手動ファイルアップロードや、メタタグのためのテーマテンプレート編集が不要になります。
各検証は Configuration Entity として保存され、Drupal の Configuration Management システムを使用して環境間でエクスポートおよびデプロイできます。重複ファイル名を防ぐための堅牢なバリデーションが含まれており、削除せずに一時的に無効化できる機能も提供しています。
Features
- メタタグ検証:Google、Bing、Yandex などのサービス向けに、サイトのフロントページにのみ検証用メタタグを自動追加
- ファイルベース検証:動的に生成されたルートを介して、サイトルートから検証用テキストまたはHTMLファイルを直接提供
- 3つの入力モード:検証詳細の手動入力、完全なメタタグの貼り付けによる自動パース、または検証ファイルのアップロード
- Configuration Entity ストレージ:すべての検証は Config Entity として保存され、Drupal の Configuration Management によるエクスポート/インポートが可能
- 有効化/無効化機能:削除せずに検証を一時的に無効化でき、テストやメンテナンス時に便利
- 自動ルート再構築:ファイルベース検証の追加、変更、削除時にルートが自動的に再構築される
- パーミッションベースのアクセス制御:メタタグ管理とファイルベース検証管理に別々のパーミッション
- バリデーション制約:ファイルベース検証の一意のファイル名強制と入力のサニタイズ
- アップグレードパス:レガシーデータベースストレージ(2.x ブランチ)から Config Entity ストレージ(3.x ブランチ)への自動移行
Use Cases
Google Search Console での検証
Google Search Console でサイトを確認するには:1)Google Search Console にログインしてプロパティを追加。2)「HTML タグ」または「HTML ファイル」検証方法を選択。3)提供された検証コードをコピー。4)Drupal で「管理」>「環境設定」>「検索とメタデータ」>「Verifications」>「Add」に移動。5)メタタグの場合は「Paste a meta tag」を選択して完全なメタタグを貼り付け。ファイルの場合は「Upload a file」を選択してダウンロードした検証ファイルをアップロード。6)保存して Google Search Console で確認。
複数環境へのデプロイ
検証は Configuration Entity として保存されるため、drush config:export を使用してエクスポートし、環境間でデプロイできます。開発環境で検証を作成し、設定をエクスポートして、ステージング/本番環境にインポートします。ファイル検証はルートが自動的に再構築されるため、デプロイ後すぐに機能します。
一時的な検証の無効化
サイト移行やテスト中に、設定を失うことなく検証を一時的に無効にする必要がある場合があります。検証リストから「Disable」操作を使用して検証を無効化します。設定は保持され、後でワンクリックで再度有効化できます。
複数の検索エンジンの管理
各検索エンジン(Google、Bing、Yandex など)に対して個別の検証を作成します。「Google Search Console Production」のような説明的なラベルと、アカウントや目的を記載した説明を使用します。すべてのメタ検証はフロントページに一緒に出力されます。
サードパーティサービスの検証
検索エンジン以外にも多くのサービスが同様の検証方法を使用しており、Pinterest、Facebook ドメイン検証、各種 SEO ツールなどがあります。メタタグまたは提供ファイルで検証するすべてのサービスでこのモジュールを使用できます。
Tips
- 説明的なラベルと説明を使用して、各検証がどのサービス用かを簡単に識別できるようにしましょう。特に複数の検索エンジンを管理する場合に便利です
- 「Paste a meta tag」入力モードは検証を追加する最速の方法です - 検索エンジンのインターフェースから完全なメタタグをコピーするだけです
- ファイル検証は任意のコンテンツをプレーンテキストとして提供でき、検索エンジン以外のさまざまな検証サービスにも便利です
- Configuration Management を使用して検証をエクスポートし、開発、ステージング、本番環境に簡単にデプロイできます
- サイト移行中など、検証を一時的に削除する必要がある場合は、削除ではなく無効化機能を使用してください
- デフォルトの検証タイプは URL パラメータで事前設定できます:/admin/config/search/verifications/add?type=file または ?type=meta
Technical Details
Admin Pages 6
/admin/config/search/verifications
すべてのサイト検証 Entity をステータス、タイプ、名前とともに一覧表示します。各検証の編集、有効化/無効化、削除の操作が可能です。ファイルベース検証では、提供されるURLへのクリック可能なリンクが表示されます。
/admin/config/search/verifications/add
3つの入力方法のいずれかを使用して新しいサイト検証を作成:タイプ/名前/コンテンツの手動入力、貼り付けたメタタグの解析、または検証ファイルのアップロード。
/admin/config/search/verifications/{site_verification}/edit
既存のサイト検証を変更します。フォームは追加フォームと同じですが、既存の値が事前入力されています。
/admin/config/search/verifications/{site_verification}/delete
サイト検証を完全に削除する確認ページ。
/admin/config/search/verifications/{site_verification}/enable
無効化されたサイト検証を有効にする確認ダイアログ(モーダル)。
/admin/config/search/verifications/{site_verification}/disable
削除せずに有効なサイト検証を無効化する確認ダイアログ(モーダル)。
権限 2
Hooks 2
hook_page_attachments
メタタグ検証をフロントページに追加します。フロントページパスでのみ実行され、すべての有効な Meta タイプ検証のメタタグをアタッチします。
hook_help
検証コレクションページと追加フォームでヘルプテキストを提供し、2つの検証方法とその使用方法を説明します。
Troubleshooting 6
ファイルベース検証にはルート再構築が必要です。drush cr または「パフォーマンス」管理ページを使用してキャッシュをクリアしてください。問題が解決しない場合は、検証が有効(Status = Yes)であること、ファイル名が既存のルートと競合していないことを確認してください。
メタタグはサイトで設定されたフロントページにのみ表示され、/node やその他のパスには表示されません。次のことを確認してください:1)検証が有効であること、2)タイプが「Meta」に設定されていること、3)実際のフロントページ URL を表示していること。変更後はキャッシュをクリアしてください。
File タイプオプションは「Manage file type site verifications」パーミッションを持つユーザーのみ利用できます。「パーミッション」管理ページでロールにこのパーミッションがあるか確認してください。
ファイルアップロード機能にはコアの File モジュールのインストールが必要です。File モジュールを有効にしてから、検証フォームに戻ってください。
各ファイルベース検証には一意のファイル名が必要です。同じファイル名を使用している既存の検証がないか確認してください。必要に応じて、先に既存の検証を削除または変更してください。
drush updb または update.php スクリプトを使用してデータベース更新を実行してください。post-update hook がデータベーステーブルから Configuration Entity への検証の移行を自動的に行います。移行エラーがないかログを確認してください。
Security Notes 4
- 「Manage file type site verifications」パーミッションは制限されています。ファイル検証はサイトルートから任意のコンテンツを提供できるため、悪用される可能性があるためです
- ファイル検証は潜在的な XSS 攻撃を防ぐため、Content-Type: text/plain で提供されます
- 両方のパーミッションには「restrict access: TRUE」が設定されており、信頼できる管理者ロールにのみ付与すべきです
- 検証コンテンツは、説明とファイル名での制御文字と複数行コンテンツを防ぐためにバリデートされます