ブログ記事のクリック数が増えるにつれて、記事に挿入された画像や動画により、有料の画像ホスティングは徐々に負荷を受けるようになりました。高額なストレージコストと帯域幅の消費により、多くの人々が躊躇しており、無料または低コストの画像ホスティングの代替案を探しています。
画像ホスティングとは何ですか?#
多くの人々は、なぜ画像ホスティングを手間ひまかけて設定する必要があるのか、その利点がわかりません。
Obsidian を例にとると、それはテキストエディタであり、記事に画像を挿入すると、ローカルリンク形式で保存され、添付ファイルに保存されます。記事を自分だけに見せる場合、オンラインプラットフォームには公開しない場合、画像ホスティングは必要ありません。
記事をオンラインプラットフォームに公開する必要がある場合、たとえば WeChat 公式アカウントや知乎など、各公開プラットフォームに記事をコピーすると、画像ホスティングされていない記事の画像が失われます。その場合、バックエンドでローカルの画像を手動でアップロードし、記事に再挿入することができます。
画像が多く、コンテンツの前後の順序も考慮する必要がある場合、何ステップか必要です。
まず、すべての記事の画像を順番にリネームし、バックエンドに一括アップロードし、記事のコンテンツの段落の前または後に画像を手動で挿入します。
場所を間違えると、やり直す必要があります。面倒ですよね。
画像ホスティングがあれば、これらの問題は解決されます。
Obsidian で記事を整理し、画像ホスティングに一括アップロードし、ローカルリンクを外部リンクに置き換えることで、ローカルの画像をクラウドサーバーにアップロードし、外部アクセスリンクを提供します。戻ってくるときに、画像は自動的に外部リンクに一括置換されます。
通常、一般的な記事の画像使用シナリオは 2 つあります。通常、いくつかの自己構築のブログプラットフォームは、画像を他の形式やリンクに変換せずに使用し、記事のレンダリングのみを行います。画像は依然として画像ホスティングサーバーにホストされ、サーバーに保存されている画像が削除されると、ブログ記事の挿入画像も失われます。
したがって、信頼性の低い無料のサードパーティの画像ホスティングを使用することはお勧めしません。サーバーが閉鎖されると、そのサーバーの画像ホスティングを使用しているすべての記事の画像が失われます。
もう 1 つの方法は、記事を各プラットフォームにコピーする場合、たとえば WeChat 公式アカウントや知乎など、それらはオンライン画像を自動的にサーバー画像に変換します。つまり、一括アップロードと置換の操作を行います。
これを行う理由は、オリジナルコンテンツの著作権とセキュリティを保護するためであり、画像に対してセキュリティ認識を行っているためです。つまり、画像は盗用防止のためにリンクを防止する処理が行われます。
自分のサーバーの画像リンクを直接レンダリングする場合、サーバーが閉じられたり、画像が誤って削除された場合、記事の挿入画像も失われます。
Obsidian からコピーした記事の画像は、プラットフォームに公開されると、画像リンクは自分自身のクラウドサーバーから各プラットフォームのサーバーに変換されます。
この方法には利点と欠点があります。利点は、有料の画像ホスティングを使用する場合、アクセス数に関係なく料金が発生しないため、プラットフォームが閉鎖されない限り、画像が失われることはありません。欠点は、制約があるため、プラットフォームに変換された画像は盗用防止のためにウォーターマークが追加され、他の場所で使用することができません。
記事をローカルでアップロードした画像を使用して WeChat 公式アカウントに公開する場合、同じ記事を知乎に公開する場合、2 つのプラットフォームの画像ストレージとリンクシステムは互換性がないため、画像を再度アップロードする必要があります。各プラットフォームには独自の画像ストレージと管理システムがあり、それらは画像を共有または自動的に同期しません。
画像ホスティングサービスの価値は、1 つの外部リンクを使用して画像を参照できるようにすることで、同じ一連の画像を複数のプラットフォームで再利用できるようにすることです。これにより、重複したアップロードの手間が省けます。
有料の画像ホスティングに関する問題#
したがって、信頼性の高い画像ストレージサービスを見つけて、ブログや他の自己構築プラットフォームでのサーバーの障害による画像の損失を防ぐことは非常に重要です。
私は常に Tencent Cloud Object Storage(COS)を使用しており、PicList オープンソースの画像アップロードツールと組み合わせて使用しています。これは PicGo をベースにしており、PicGo のすべての機能を完全に保持しながら、さまざまな新機能を追加しています。たとえば、アルバムはクラウド上のファイルの削除を同期サポートしています。
以前は、アップロードしたバケットの画像を削除するには、クラウドサービスのバックエンドを開いて手動で削除する必要がありましたが、PicList ではツールのアルバムで直接削除することができ、クラウド上の画像が同期的に削除されます。画像の冗長性が好きではない人にとって、この機能は非常に便利です。
以上のように、画像ホスティングは、画像を含む記事を複数のプラットフォームに迅速に公開し、各画像を個別に手動でアップロードする必要はありません。
ブログの閲覧数が増えるにつれて、有料の画像ホスティングにかかる負荷も増えてきます。
Tencent Cloud Object Storage は料金がかかり、一般の人には理解できません。要するに、アップロードにはお金がかかり、他の人が閲覧やダウンロードするのにもお金がかかります。
今年の請求書からわかるように、記事の閲覧数が増えるにつれて、画像ホスティングの費用も増えています。
私の記事にはあまり多くの画像はありませんが、通常は 3〜5 枚ですが、それでも 1 か月で 10 元から 30 元に上がりました。
つまり、他の人に記事を共有するためにお金を払わなければなりません。
では、無料で信頼性の高い画像ホスティングオブジェクトストレージサービスはありますか?
「インターネットのサイバーブッダ」と称される Cloudflare は、その名にふさわしくありません。その中の R2 は、完全に個人使用に十分な無料の画像ホスティングサービスです。
たとえば、1MB の画像をアップロードする場合、Cloudflare R2 の無料枠では 1 万枚の画像をアップロードすることができ、他の人がダウンロードやアクセスするのはほぼ無料です。
私はすでに Cloudflare R2 をデフォルトの画像ホスティングに設定しました。設定には少し学習時間がかかりましたが、その後はスムーズに移行しました。
Cloudflare R2 の構築#
最初は自分で構築手順を書こうと思っていましたが、他のブロガーが非常に詳細に書いていることに気付きました。私はチュートリアルに従って一歩一歩進め、ほとんど問題はありませんでした。具体的な構築手順については、冗長にならないようにしません。初心者の方は、記事の下部の参考リンクをご覧ください。
構築および設定のプロセスは簡単ですが、いくつかの小さな問題に遭遇することもあります。私と同じような問題に直面した場合は、以下の解決策を試してみてください。
画像はアップロードできますが、正しく表示されません#
Cloudflare R2 を作成する際に、サブドメインを入力する必要があります。Cloudflare で購入したドメインであれば、自動的に CHAME ターゲットに関連付けられます。つまり、R2 のカスタムドメインを設定するときは、対応するサブドメインを入力するだけで、Cloudflare が自動的に CHAME を作成し、R2 に関連付けます。
他のチュートリアルでは、カスタムドメインについて言及されることが多く、まずドメインを作成し、それから関連付けるという手順が取られます。
最初の障害に遭遇したのは、Cloudflare R2 と Piclist を設定した後、画像は正しくアップロードされるが、正しく表示されないということでした。つまり、Cloudflare R2 のバックエンドに画像がアップロードされ、リンクアドレスがローカルで取得したアドレスと一致しないということです。
私はリンクの中の /
が %
に変わってしまい、画像が正常に表示されなかったことに気付きました。
Piclist の設定でのカスタムドメインは、https://img.lenband.com を https://img.lenband.com/my-img に変更する必要があります。
my-img
はどこから来たのですか?それは R2 の作成時にバケットの名前です。
Tinypng 画像圧縮プラグイン#
画像ホスティングを正しく設定した後、Tinypng プラグインをインストールしました。これにより、画像の品質を保ちながらサイズを大幅に縮小することができます。オンライン Tinypng API を呼び出すことにより、アップロードした画像を圧縮して変換します。
このプラグインを起動すると、画像のアップロードが明らかに遅くなります。少し遅くても問題ありませんが、今日、私が約 4MB の GIF をアップロードしたとき、エラーが発生しました。そのため、このプラグインを閉じました。
なぜなら、別の画像最適化ソリューションを見つけたからです。
WebP Cloud スマート画像最適化プロキシサービス#
WebP Cloud は、画像の品質をほとんど変えずにサイズを大幅に縮小し、サイト全体の読み込み速度を高速化し、スマートプロキシキャッシュ機能を備えています。
呼び出し転送操作のようなもので、Cloudflare R2 を呼び出すと、WebP Cloud が中継し、中継プロセスで画像を最適化します。
画像のアップロード → Cloudflare R2 → WebP Cloud で画像を最適化 → 画像を取得
設定は簡単で、Cloudflare R2 のカスタムドメイン、例えば:https://img.lenband.com/my-img を WebP Cloud に入力し、プロキシ後のリンクを Piclist の設定に入力します。
無料ユーザーは 1 日に 2000 回の無料クオータを持っており、つまり 2000 回の画像アクセスリクエストをプロキシすることができ、100M の画像キャッシュを提供します。個人のブログで使用する場合、十分です。
この方法で記事をアップロードすると、WebP Cloud を経由した画像の外部リンクは、ブログプラットフォームで完全にサポートされます。ただし、国内の WeChat 公式アカウントや知乎にコピーすると、画像が失われます。知乎ではエラーが発生します。
そのため、設定を Cloudflare R2 のカスタムドメインに戻しました。つまり、WebP Cloud の画像最適化処理を使用しません。WeChat 公式アカウントは認識できますが、知乎はまだ認識できません。
解決策:WeChat 公式アカウントを公開した後、Chrome の拡張機能「同期助手」→知乎を使用します。
なぜこんなに手間をかけるのかと言われるかもしれません。お金がないからです。
Cloudflare の無料プロジェクトには、無料のブログ構築、R2 画像ストレージサービス、ドメインリダイレクト、無料 DNS サービス、メールルーティングサービス、および DDoS 攻撃に対する無料の保護など、さまざまなものがあります。その名前はここから来ています。
参考リンク#
Cloudflare R2 + WebP Cloud + PicGo
https://www.pseudoyu.com/zh/2024/06/30/free_image_hosting_system_using_r2_webp_cloud_and_picgo/
Cloudflare R2 を使用したパーソナル画像ホスティングの構築
https://www.lihuanyu.com/%E8%BF%90%E7%BB%B4/%E4%BD%BF%E7%94%A8cloudflare-R2%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%9B%BE%E5%BA%8A/
Cloudflare R2 を使用したブログの画像ホスティング
https://ysicing.me/cloudflare-r2