外部サイトの画像を読み込んだ際にhttpsのページhttpを含む画像を読み込む方法

 

今回は、外部サイトの画像を読み込んだ際にhttpsのページhttpを含む画像を読み込む方法について記事を書いて行きたいと思います。

近年では、Googleの検索結果の上位ページの殆どがhttps化されたサイトであるという例も存在したり、Chomeでもhttpを含んだ混雑コンテンツを段階的にブロックすると発表されるなど、webページのhttps化はもはや必須となってきました。

 

デッドラインは2020年2月!Chromeが混合コンテンツをブロック。サイトへの影響とその対策を解説
サイト内の混合コンテンツを、段階的にブロックするとGoogleが発表。その期限が2020年2月とあまり猶予がないことをご存知でしょうか?「どういうこと?」と感じた方はぜひ本記事を参考に確認と修正を。混合コンテンツとは?から対策法までわかりやすくまとめました。

しかし最近作成していてアンテナサイトで外部ページを読み込んでいるとまだまだ、httpを使って運営しているサイトも多いことを知りました。

 

超漫画アンテナ
人気の記事

 

アンテナサイトは相互RSSや相互リンクといった独自のアクセス流入減を持っている為、いまのところ気にしていない方もいらっしゃるようです。
というか、まとめサイト王手のライブドアブログが、https化に未だに対応していないものの画像だけはhttpsでしっかり貼ってあるブログもかなり多いみたいですね( ;∀;)

ここまで築き上げてきたサイトですからhttps化されないという理由だけで移転するのはもったいないでしょうね

これから作るページとしてはhttps化したサイトを作っていきたいと思い、どのページもhttps化していきたいところです。

httpの画像を安全に読み込んだっぽくする方法

そもそも、読み込めない外部サイトの画像はhttpでアップされていますので、httpsのページへアップしなおせばいいんですが、アンテナサイトの特性上、大変なので以前ここで紹介したGDライブラリを使ってhttpsのページへいったん読み込んで画像を表示することで、httpの画像をhttps化しました。

 

うさちゃんねるフロンティア

 

上記記事のスクリプトをアップしてimg.phpと名前を付けてアップします。
画像URLの部分はGETした画像URLを入れるようにして

 

if(preg_match('/^(http):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $image)){

$image = "./img.php?img={$image}";

}

 

記事一覧ページなどでは上述のように記事を表示する際に、画像URLにhttpが含まれていればスクリプトを介して読み込むようにしました。

これで、httpの画像のhttps化は完了です(^^♪

コメント

タイトルとURLをコピーしました