【WordPress】Openverseを完全に無効化・削除する方法|functions.phpと.htaccessで徹底対応

【WordPress】Openverseを完全に無効化・削除する方法|functions.phpと.htaccessで徹底対応

WordPressには、画像や動画などのオープンソース素材を簡単に検索・挿入できる「Openverse(旧CC Search)」が標準で統合されています。

便利な反面、「不要なスクリプトを読み込みたくない」「独自のメディア管理機能を使いたい」といった理由でOpenverse機能を完全に無効化したいという声もあります。

本記事では、OpenverseをWordPressサイトから完全に削除するための具体的な手順をご紹介します。

方法1:コードで徹底削除

WordPressテーマ内の functions.php ファイルに、以下のコードを追記します:

// Openverseの統合を完全に無効化
function remove_openverse_completely() {
    // メディアライブラリ連携を解除
    remove_action('wp_enqueue_media', 'wp_enqueue_openverse_media');
    
    // ブロックエディター連携を解除
    remove_action('enqueue_block_editor_assets', 'wp_enqueue_openverse_block_assets');
    
    // Openverseのスクリプトを登録解除
    wp_deregister_script('wp-openverse');
    
    // Openverseのスタイルを削除
    wp_deregister_style('wp-openverse');
}
add_action('init', 'remove_openverse_completely');

// Gutenbergエディター用の追加処理
function disable_openverse_in_gutenberg() {
    wp_dequeue_script('wp-openverse');
    wp_deregister_script('wp-openverse');
}
add_action('enqueue_block_editor_assets', 'disable_openverse_in_gutenberg', 999);

このコードを使用することで、フロントエンドおよびGutenberg(ブロックエディター)双方からOpenverse関連のスクリプトやスタイルの読み込みを防止できます。

🔐 上級者向け:.htaccessでAPIレベルの接続をブロック

より強力にOpenverseの外部接続をブロックしたい場合、.htaccess に以下のコードを追加することで、Openverse API(/wp-json/openverse/)へのリクエストを拒否することが可能です:

# Openverse API接続をブロック
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-json/openverse [NC]
RewriteRule ^ - [F]
</IfModule>

※ この設定は他の機能に影響を与える可能性があるため、慎重に実施してください。

🧭 まとめ

Openverseは便利な一方で、すべてのサイトに必要とは限りません。
本記事で紹介した手順を活用することで、WordPressに余計なスクリプトやUIを残さず、より軽量・シンプルな環境構築が可能になります。

カスタマイズに慣れている方は functions.php + .htaccess の組み合わせで完全削除も目指せますので、ぜひお試しください。