WordPressのバージョン番号をサイトのソースコードに残しておくと、オンライン攻撃に対して脆弱になります。ハッカーは、既知の脆弱性を持つ特定のWordPressバージョンを標的にすることがよくあります。
このため、WordPressのバージョン番号をサイトから削除することで、セキュリティを大幅に向上させることができます。
WPBeginnerでは、多くのサイトでWordPressの保護を強化するお手伝いをしてきました。そしてこのガイドでは、WordPressのバージョン番号を削除する正しい方法をご紹介します。
なぜWordPressのバージョン番号を削除するのか?
WordPressのバージョン番号をサイトのソースコードに表示したままにしておくと、ハッカーの標的になりやすくなります。この些細なことが、特定のバージョンに関連する脆弱性にサイトをさらすことになり、攻撃者が既知の問題を悪用することを容易にします。
初期設定では、WordPressはトラッキングのためにサイトに足跡を残します。これが、WordPressが世界トップのサイトビルダーであることの証明です。
しかし、WordPressの最新バージョンを使用していない場合、この足跡がサイトのセキュリティ・リークになることがあります。この足跡は、ハッカーにあなたがどのバージョンを実行しているかを教えることで、有益な情報を与えます。
ハッカーはしばしば、特定のソフトウェア・バージョンの既知のセキュリティ脆弱性を狙います。WordPressのバージョン番号を非表示にすることで、あなたのサイトがどのバージョンのWordPressを使用しているかを攻撃者が特定することを少し難しくします。
すべてのサイトでWordPressの最新バージョンを使用することをお勧めします。ただし、古いバージョンのWordPressを使用している場合は、このチュートリアルに従ってください。
あなたのサイトがWordPressのどのバージョンを使用しているかの痕跡をすべて取り除くことは非常に困難です。巧妙な攻撃であれば、まだその情報を見つけることができるかもしれません。
しかし、自動スキャナーや他のあまり洗練されていない試みがWordPressのバージョンを推測するのを防ぐことができます。
それを念頭に置いて、WordPressサイトからバージョン番号を簡単に削除する方法をいくつかご紹介します。概要は以下の通りです:
準備はいいかい?始めよう
方法1.WordPressのバージョン情報をコードで削除する(推奨)
この方法では、WordPressサイトにコードを追加する必要があります。WordPressでコードスニペットをコピー&ペーストする方法をご覧ください。
さて、多くのサイトでは、テーマのheader.php
ファイルを編集し、以下の行を削除することを勧めている:
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
新しいテーマの更新は古いテンプレートを新しいファイルで自動的に置き換えるので、この方法は機能しません。
一般的に推奨されているが非効率的なもう一つの方法は、テーマのfunctions.phpに
このコードを記述することである:
remove_action('wp_head', 'wp_generator');
これはWordPressのヘッダーから情報を削除するだけです。そのため、サイトのRSSフィードにはバージョン番号が表示されます。
WordPressのバージョン情報を削除する正しい方法は、バージョン情報を表示する機能を無効化することです。
ヘッダーファイルとRSSフィードの両方からWordPressのバージョン番号を完全に削除するには、コードスニペットプラグインに以下のコードを追加する必要があります。
function wpbeginner_remove_version() {
return '';
}
add_filter('the_generator', 'wpbeginner_remove_version');
さらに簡単にするために、WordPressに最適なコード・スニペット・プラグインであるWPCodeを使うことができる。
WPCodeは、WordPressのバージョン番号を削除するためのスニペットを含む、最も一般的なWordPressのコードスニペットをすべて持っているビルトインコードライブラリを持っています。
開始するには、無料のWPCodeプラグインをインストールし、有効化する必要があります。ステップバイステップの手順については、WordPressプラグインのインストール方法をご覧ください。
プラグインを有効化したら、WordPressダッシュボードからCode Snippets“ Libraryにアクセスしてください。
次に、「Remove WordPress Version Number」スニペットを検索し、「Use snippet」ボタンをクリックします。
WPCodeは自動的にコードを追加し、コードのタイトルを追加し、正しい挿入方法を設定します。
タグを追加して整理することもできる。
必要なのは、トグルを「無効」から「有効」に切り替えることだけだ。
そして「更新」ボタンをクリックする。
これで、WordPressのバージョン番号はサイトのフロントエンドやRSSフィードから非表示になります。
方法2.Sucuriを使用してWordPressのバージョン番号を削除する。
WordPressのトップセキュリティプラグインはすべて、設定でWordPressのバージョン番号を非表示にするオプションを提供しています。
しかし、WordPressのバージョン情報を自動的に非表示にし、より高度なセキュリティ機能を提供するSucuriを使用することをお勧めします。
その上、SucuriはHTTPトラフィックをフィルターして監視し、悪意のある脅威がWebサーバーに到達する前にブロックするファイアウォールを提供します。悪意のあるコードが検出された場合は、サイトをクリーンアップし、その過程で脅威を取り除くことができます。
Sucuriプラグインをインストールして有効化するだけです。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
有効化したプラグインは、WordPressのバージョン情報を自動的に非表示にします。Sucuri Security ” Settingsにアクセスし、Hardeningタブに切り替えることで確認できます。
WordPressのバージョンを完全に非表示にできるか?
WordPressは、サイト内の他のさまざまな場所にバージョン情報を追加することができます。
例えば、CSSやJSファイルのソースコードにクエリー文字列として含まれる。
WordPressのバージョン情報をすべて削除するのは時間がかかり、複雑で、必ずしもうまくいくとは限りません。
セキュリティの観点からは、明らかなジェネレータタグを削除することで、非常に一般的な攻撃から身を守ることができる。
しかし、あなたのサイトに侵入しようとする者がいる場合、WordPressのバージョン番号を非表示にしても、それを阻止することはほとんどできません。
あなたのサイトをより安全にするために、適切なWordPressのセキュリティ設定を実装する必要があります。これにより、サイトの周囲にセキュリティの層ができ、ハッキングされにくくなります。
そして、安全でないウェブホスティングはハッキングの試みを受けやすいので、あなたのサイトに最適なWordPressホスティングサービスを選択したい。
この投稿が、サイトから WordPress のバージョン番号を簡単に非表示にする方法を学ぶのにお役に立てば幸いです。また、パスワードリセットキーエラーを修正する方法や、WordPress のアクティビティログとトラッキングプラグインのエキスパートによるベストピックもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
Sometimes it fascinates me how many details can be done, e.g. in terms of security, that I would not have thought of. So I removed the Wordpress version from the website according to your instructions.
Ashkan
function wpbeginner_remove_version()
what should we write instead of “wpbeginner” _remove_version?
a specific file name or our website name or what?
WPBeginner Support
You do not need to change wpbeginner in the function name.
管理者
shamol
code not work
WPBeginner Support
This is to remove the version number from the HTML header, if you want to remove the text that you are using WordPress then you would want to reach out to your specific theme’s support.
管理者
Peter
It worked like a charm, also for woocommerce version number
Sagar Patil
it worked, thank you.
Abhishek
i have added this line in functions.php, but wapplyzer can still detect the version
remove_action(‘wp_head’, ‘wp_generator’);
Ben Besselink
Well Abhi, your code doesn’t remove the version in rss feeds.
bayu
hy.. a practice that is still usable ? I want to ask, how to hide the plugin that we use information from view page source and various wordpress detector … thanks alot.
Ragoco
Will this prevent Wordpress from auto-detect and notify me about new versions, so that i can update? Thanks
WPBeginner Support
No it won’t. We do not recommend you to disable updates. Keeping your WordPress site up to date protects your site from security vulnerabilities. Please see our guide on why you should always use the latest version of WordPress.
管理者
Marine
Hello,
The functions.php is in my theme or in wp-includes, I have 2 files.
Tx !!
WPBeginner Support
The functions.php file in your theme is where you can add custom codes. You should never edit files in wp-includes folder.
管理者
Marine
Tx !
Waqas
thanks. Great way to do this.
Chris Copland
For those like me who have read this to the bottom looking for a definitive answer only to be left wanting despite all the possibilities no one has Identified a solution that works for everyone.
I suggest you load WordPress in Wamp or similar and check every possibility.
How about the editorial staff have a look remove…remove the wheat from the chaff and re-post
The Right Way To Remove WordPress Version Number?
nicmare
why so complicated? make it easy:
// remove wp version
add_filter(‘the_generator’, ‘__return_false’);
Ted
This doesn’t work for me.
Lencho
If I’m using a a premium theme and the developer who keeps updating it, do I need to worry about this issue?
Nick McBurney
What do you think to using the following in functions.php?
remove_action(‘wp_head’, ‘wp_generator’);
cantor
this does nothing, I can still get the version number using fingerprinting….
Dan
Maybe I’m missing something here, but adding the filter does remove the version number but fails to remove it from the end of some of the styles sheets and a few .js files as well from plugins. i.e.
….css?ver=3.8.1′ type=’text/css’ media=’all’ />
Anyway to remove those as well?
Thanks
Alys
Hi
none of these methods work with WP 3.8/ RC2
I put the code:
function wpbeginner_remove_version() {
return ”;
}
add_filter(‘the_generator’, ‘wpbeginner_remove_version’);
in the bottom of my functions.php file. No effect.
Here is a sample of the scripts loading when I look at the source code, and you can see the wp ver is still tacked onto the end….
I tried some of the other code suggestions in this thread, and none of them worked either.
Perhaps I am doing something wrong?
Many thank in advance for your suggestions.
As you can see it is still showing at the end of each.
WPBeginner Support
Try switching to a default theme and then try to remove generator meta tag.
管理者
Vinicius Silva
thanks this really help me
Chathu
But still Sucuri shows my Wordpress version using the /wp-admin/js/common.js file.
WPBeginner Support
You can password protect WordPress admin directory.
管理者
Chathu
Yes, got it. Thank you so much.
Chathu
Nope. It’s not working. Still sitecheck.sucuri.net show me that admin file,
Web application version:
WordPress version: WordPress
Wordpress Version 3.6.1 based on: http://www.mydomain.com//wp-admin/js/common.js
Igor
One should also delete readme.html in the root of the website because it contains WP version number.
Madona
There is a plugin for that. Very simple > http://wordpress.org/plugins/db-prefix-change/installation/
Dave
That plugin doesn’t remove the version number. It changes the prefix (wp_) for the database tables.
Dave
It should also be mentioned that if you want to hide the number, you should also get rid of the readme.html file that accompanies WordPress, as it displays the version in big giant numbers right at the top of the page. Last I read, it also hides in a JavaScript file somewhere as well, but I’m not sure which one.
Jeremy Simkins
I use this to remove the WordPress version.
‘remove_action(‘wp_head’, ‘wp_generator’); // Remove WordPress version from site’
Travis Smith
A cleaner way is just this:
add_filter( 'the_generator', '__return_null' );
Alex
WHERE DO I ADD THIS add_filter( ‘the_generator’, ‘__return_null’ ); in functions.php WHERE
WHICH LINE?!
Editorial Staff
Add it in line 1. As long as it is not part of another function, then it would work.
管理者
Matthew Shuey
This is arguably on of the most useful code snippets ever. Plugins break so this is a perfect way to remove the generator meta tag from WordPress.
mrahmadawais
Why don’t wpbeginner use it ? :p
wpbeginner
@mrahmadawais Because we keep the most updated version running.
techispot
Sorry to say it is not working with feed, I means it not remove version number from feed, I personally add the function you specified , it remove from my home page source but not from rss page source, you can view my rss page source it is still there http://www.techispot.com/feed
Any one find solution please share
brasofilo
i wanted to keep the generator without the version number, so i’m returning instead of an empty string…
is this correct?
Nacin
Removing the generator code has nothing to do with security, frankly. If someone is targeting your site in particular, there are other effective ways to determine a version number. If it’s just a malicious script, it’s going to try every exploit that has ever worked regardless of your version. Indeed, we have never seen an exploit script attempting to do version detection.
Also, the statement “While plugins are great, they somewhat slow your site down,” is a bit misleading in this context, I feel. Yes, a lot of plugins that do heavy-lifting will increase drag on a server. But a good amount of core uses the Plugin API to hook into itself, using the same methods as a plugin. And adding this code to functions.php is doing the same thing.
Roger Ruz
“Also, the statement “While plugins are great, they somewhat slow your site down,” is a bit misleading in this context, I feel. ”
Nice argument! I’m researching on how to remove plugin scripts that are not necessary/not in use to a page but being requested every time in the server.
N1NJA
Thanks dude worked like a charm thanks again keep up the good work
Smashing Share
Thats really great tip. Working perfect! Thanks
topdown
It still leaves the version in the RSS source
http://wordpress.org/?v=2.9.1
Editorial Staff
Do you have a screenshot? Because we activated this function on a few sites and it didn’t show.
管理者
Chuck Reynolds
The only thing that bothers me about this is that it leaves the line open in the header… not normally an issue but my ocd hates that part
Brian
I was using the remove_action method. Can’t thank you enough
Ray
Realized that the “Secure WordPress” plugin already does that for you and more. Assuming most people would be interested in securing their Wordpress (not just hiding the version number), it would be better to make use of that plugin to do all these for you.
Incidentally, I got to know of the Secure Wordpress plugin via wpbeginner. https://www.wpbeginner.com/wp-tutorials/11-vital-tips-and-hacks-to-protect-your-wordpress-admin-area/
Nice work guys! Keep on writing!
Editorial Staff
While plugins are great, they somewhat slow your site down. Why use a plugin if it can be done with a simple function in your functions.php file. But yes Secure WordPress plugin does that as well on all versions older than 2.4.
管理者
Ray
Would have to agree with you on that: just modding the functions.php would be more efficient than adding a plugin just to remove the version number.
Nick
Ok, I’ve found the error.
You must add the created function in the plugin.php file and not in the function.php file.
Editorial Staff
The whole idea for this code is so you don’t have to edit any core files. If you edit plugin.php whenever you next update WordPress it will come back.
管理者
Nick
Ok the error was mine, I was modifying the wrong function.php file.
The correct one is function.php inside the theme directory and not the one in the core.
Thank you!!!
Nick
It’s strange, it gives me the error:
Call to undefined function: add_filter()
But I’ve checked the plugin.php file and I have obviously the add_filter() funciont defined.
Any suggestion? Ths.
Editorial Staff
Did you copy and paste the code exactly from this site? It has to be inside php tags.
管理者
Djolhan
It’s a nice tips, thanks a lot ! Probably the best way to remove it !
Duncan
Great tip! nice to see a complete fix tutorial out there.
Roseli A. Bakar
I’m sure a lot of bloggers doesn’t know how to remove the wordpress version correctly, this post is a great help.
Cayo Medeiros aka. yogodoshi
Will it remove only the version number or the “WordPress” name too?
Editorial Staff
It will remove both. The entire generator code.
管理者