Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Amazon S3の静的Webサイトでcanonical URLを別ドメインに設定する場合の構成について

Q&A

Amazon S3のStatic Website Hostingを利用して、単一のHTMLページを公開しています。

環境
Amazon S3 Static Website Hosting
HTML / CSSのみ
JavaScriptなし
メインサイトとは別のS3エンドポイント
HTML内にcanonicalタグを設定

現在、HTMLの

には以下のようにcanonicalを設定しています。

S3側のページ自体も直接アクセス可能な状態です。

確認したいこと

このように、

S3上の静的HTMLページ
メインサイト上のオリジナルページ

が存在する場合、S3ページからメインサイトをcanonicalとして指定する構成に技術的な問題はありますか?

特に以下の点について確認したいです。

S3 Static Website Hostingでも通常のcanonicalタグとして認識されるか
CloudFrontを使用していない場合に注意すべき点はあるか
HTTPヘッダー側でも追加設定が必要か
独自ドメインをS3 / CloudFrontに割り当てた場合との違いはあるか

調べた範囲ではcanonicalはHTMLの

内に設定すればよいと理解していますが、S3 Static Website Hosting特有の注意点があれば教えていただきたいです。

試したこと

現在はHTMLファイル内のcanonicalタグのみ設定しています。

S3側でリダイレクトは設定していません。

S3 + CloudFrontで運用する場合を含め、より適切な構成があればご教示いただけると助かります。

0 likes

1Answer

結論として、S3 Website Endpoint から配信されるHTMLでも、<head> 内の rel="canonical" は通常のHTML要素として検索エンジンに読み取られます。S3固有の追加HTTPヘッダーは必須ではありません。

ただし、canonical はリダイレクトではなく「正規URLのヒント」です。S3側URLを利用者やクローラーが普通に参照できる状態なら、Googleが必ずメインサイト側を採用する保証はありません。内容が同一で、S3側を公開し続ける理由がなければ、301/308でメインサイトへ転送する構成のほうが意図は明確です。

注意点は主に3つあります。

  1. canonical は絶対URLで、インデックス可能かつ200を返すメインサイトURLを指定する。
  2. sitemap・内部リンクなどでもメインサイトURLを一貫して使い、canonicalと矛盾させない。
  3. S3 Website Endpoint はHTTPSをサポートしないため、独自ドメインで公開運用するなら通常はCloudFront + ACMを前段に置く。CloudFrontを置いてもcanonicalの意味自体は変わらない。

HTTPレスポンスの Link: <...>; rel="canonical" は、HTMLにcanonicalを書けないPDF等で有用ですが、今回のHTMLではhead内のタグだけで十分です。同じcanonicalをHTMLとHTTPヘッダーの両方に出して不一致を作るほうが危険です。

したがって、用途が「複製ページを残す」なら現状のHTML canonical + URLシグナルの統一、「S3 URLを使わせたくない」ならCloudFront等でメインURLへの恒久リダイレクト、という切り分けがよいと思います。

参考:

0Like

Your answer might help someone💌