【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関連のスクリプトやスタイルの読み込みを防止できます。
重要な注意点:
- 必ず事前にバックアップを取得してください
→ サイト全体のフルバックアップ(データベース+ファイル)を取得しましょう。 - 更新時の影響に注意:
→ 今後のコアアップデートで再度スクリプトが有効化される可能性があります。 - 代替機能の確保:
→ 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 の組み合わせで完全削除も目指せますので、ぜひお試しください。