
2025.12.13

SVG(スケーラブル・ベクター・グラフィックス)は、ベクター画像を表現するためのXMLベースのフォーマットです。これにより、画像がどんなサイズでも品質を維持できるという利点があります。特にロゴやアイコンなど、様々な解像度で表示される可能性があるグラフィックに最適です。しかし、WordPressでSVGを扱う際には、いくつかの技術的なチャレンジがあります。特にそのままアップロードしようとすると、WordPressがセキュリティ上の理由からSVGを拒否することが多いのです。これには、SVGファイルがコードを含み、潜在的なセキュリティリスクをはらむという理由があります。
SVGファイルのセキュリティは、WordPressがSVGファイルのアップロードを制限している理由の一つです。SVGはXMLフォーマットであるため、スクリプトを埋め込むことができ、これがXSS(クロスサイトスクリプティング)などの脆弱性につながる可能性があります。しかし、SVGを安全に使用するための対策も存在します。例えば、SVGファイルをアップロードする前に、信頼できるツールを用いてファイルをサニタイズ(安全化)することが重要です。また、WordPressプラグインを活用して、SVGファイルのセキュリティを強化する方法もあります。これには、安全なSVGのアップロードを許可するためのプラグインや、SVGファイルの内容をサニタイズするプラグインがあります。
SVGファイルをWordPressで使用する際に遭遇する一般的な問題の一つが、メディアライブラリでの表示の不具合です。最近のWordPressのバージョンでは、SVGファイルのメタデータを正しく読み込めず、デフォルトで画像の幅と高さが1×1ピクセルとして表示されるという問題が報告されています。この問題を解決するためには、WordPressのfunctions.phpファイルに特定のコードを追加することが有効です。このコードはSVGのメタデータを修正し、正しいサイズを読み込むようにします。コードは以下の通りです:`function fix_svg_dimensions($data, $id) {…}`を使用し、SVGの寸法を正常化します。
SVGファイルのもう一つの大きなメリットは、そのSEOへの有効性です。SVGはテキストベースのフォーマットであるため、検索エンジンが画像の内容をより簡単にインデックス化できます。これにより、サイトの画像検索結果での可視性が向上する可能性があります。ただし、SVGの使用はブラウザの互換性にも依存します。ほとんどのモダンなブラウザはSVGをサポートしていますが、古いバージョンのブラウザでは適切に表示されないことがあります。このため、兼容性を確保するために、SVGを使用する際にはフォールバックオプションを設けるべきです。PNGなどの他のフォーマットの画像を代替手段として用意することをお勧めします。