web-dev-qa-db-ja.com

HTTPSへの切り替え-質問のリダイレクト

httpsで実行されているサイトのランキングの改善 に関する最近のGoogleの発表に続いて、これについて多くのクライアントが質問しています。たとえば、一般的なPHPインクルードファイルのように、すべてのページを同等のSSLに301リダイレクトするだけで安全です:

if($_SERVER['HTTPS']!="on"){
    $redirect= "https://".$_SERVER['HTTP_Host'].$_SERVER['REQUEST_URI'];
    header("Location:$redirect",true,301);
    exit();
}

これは。htaccessファイル内でも可能であることは明らかですが、この場合は変更できません。

明らかにすべての内部リンクはhttps://リンクに切り替えられますが、明らかにGoogleや他の場所からの着信リンクを整理する必要があります。

これは健全なアプローチですか?他に知っておくべき落とし穴はありますか?

6
robjmills

すべてのHTTPページを対応するHTTPSページに301にリダイレクトするのは完璧です。 Apacheサーバーではhttpd.confを介して、。htaccessを書き換えるか、PHP includeを使用して例のようにします。インバウンドリンクは、301リダイレクトを通じてウエイトの約97%を通過します。

内部での最適な処理は、内部リンクにプロトコルを使用しないことです。これにより、最小限の介入でサイト全体の互換性が最大化されます。

ランキングシグナルとしてのHttpsは最小限であり、httpsを介してすべてのURLを提供することでサイトランキングのメリットがあることも明確に確認されていません(このアルゴリズムの変更はURLごとに影響します)。ただし、GoogleのJohn Mueller氏は最近、ドメインで既にTLSを使用している場合、すべてをhttpsに切り替えるのは簡単であると確認しました(ランク付けよりも訪問者の信頼のためです)。

これは、HTTPSページ内のHTTPで提供される埋め込みコンテンツの量に応じて、すべてのサイトについて単純ではありません(HTTPSを使用するページにHTTPを使用するiframe、スクリプト、画像などを配置します) )。このようなインスタンスでは、訪問者はサイトで常に赤い十字が南京錠に表示されるか、赤/黄色のブラウザ警告が表示され、これらの各インスタンスが適切に処理および処理されません。

2
zigojacko