Contents
各SNSのサーバーにホストされている画像をCDN配信する
WEBサイトやアプリを運営する際に、Twitterやインスタグラムの画像や動画を外部サーバーにホストした状態のままCDN配信で掲載したいと考えたことはないでしょうか?TwitterカードやVisumoなどの投稿では、SEO的にもメリットは薄いですし、インデックスに引っかかるようにするには、いかにして簡単に運用できるようにするか検討すると思います。ここではその一つの解としてCloudinaryというCDNサービスを利用する手法について解説していきます。
Cloudinaryとは
Cloudinaryは画像や動画などのコンテンツをあらゆるブラウザ、デバイス、帯域幅に応じて簡単にそれぞれに合った形式で作成、管理、配信するCDNサービスです。URLベースのAPIを使用して驚くほど簡単に画像を思いのままに圧縮、変形などの処理を行い、配信することができます。これにより、WEBサイトやアプリケーションの読み込みを高速化、ページスピードアップに貢献します。
Cloudinaryを利用して、TwitterやインスタなどSNSの外部サーバーにホストされた画像をCDN配信する方法
今回の本題ですが、このCloudinaryを利用することによって、自社サーバーにホストされていない外部ホストの画像をCDN配信することができます。それには、Cloudinaryのfetchという機能を利用することで実現できます。このfetchを使用すると、リモート画像のオンザフライ変換とCloudinaryを介した圧縮処理などを施した最適化されたメディアファイルを配信することが可能になります。
フェッチのやり方
先ほどご紹介したfetchはリモート画像のURLを用います。以下のような形で使用します。
fetchの記述方法
https://res.cloudinary.com/<Cloudinaryアカウントのクラウド名>/image/fetch/<リモートURLのフルパス>
Twitterにホストされている画像のURLをfetchする場合の使用例
https://res.cloudinary.com/demo/image/fetch/https://pbs.twimg.com/media/D9L-2nYUEAI62-q?format=jpg&name=900x900