WordPressは圧縮機能を使ってサイトの画像を小さくすることができます。これにより、画像のダウンロードが速くなり、サイトのロード時間が改善されます。
しかし、画像が圧縮されすぎていると、シャープさが失われたり、低品質に見えたりします。これではサイト訪問者に良い印象を与えることはできません。
最近、読者の一人から、WordPressでJPEG画像の圧縮設定を変更できるかどうかという質問がありました。答えはイエスです。
この投稿では、WordPressでJPEG画像の圧縮率を増減する方法を紹介します。これにより、画質とサイトの速度の完璧なバランスを見つけることができます。
なぜWordPressのJPEG画像圧縮を変更するのか?
WordPressサイトにJPEG画像をアップロードするたびに、自動的に90%の画質に圧縮されます。WordPress 4.5では、モバイルユーザー向けのサイトパフォーマンスを向上させるため、この数値がさらに82%に下げられました。
もしあなたがフォトグラファーで、高品質な画像をサイトで紹介したいのであれば、WordPressの画像圧縮をオフにすることができます。
WordPressで画像圧縮を無効化する方法
必要なことはすべて、テーマのfunctions.phpファイルに以下のコードを手動で貼り付けるか、WPCodeのようなコード・スニペット・プラグイン(推奨)を使用することです。
まだカスタムコードを追加したことがない方は、WordPressサイトにカスタムコードを追加する方法をご覧ください。
まず、WPCode Free Pluginプラグインをインストールする必要があります。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
有効化したら、WordPressダッシュボードのCode Snippets ” + Add Snippetに移動する必要があります。その後、「カスタムコードを追加」テンプレートにマウスオーバーし、「スニペットを使用」ボタンをクリックしてください。
カスタムスニペットを作成する新しい画面が表示されます。スニペットには、「Disable Image Compression in WordPress」のようにタイトルを追加する必要があります。
その後、コードタイプのドロップダウン・メニューから「PHP Snippet」を選択し、「Code Preview」ペインに以下のコード・スニペットを貼り付けます。
add_filter('jpeg_quality', function($arg){return 100;});
値を100に設定すると、WordPressは画像を最高品質で圧縮します。
最後に、画面上部のトグルスイッチを「非有効化」から「有効化」に切り替え、「スニペットを保存」ボタンをクリックします。
おめでとうございます、WordPressサイトのJPEG圧縮が無効化されました。
あなたが写真家やアーティストでなければ、おそらく品質の違いはあまりわからないだろう。しかし、高品質な画像を日常的に扱う人にとっては、品質の違いは明らかだ。
WordPressで画像の圧縮率を高める方法
圧縮品質をそのままにしておくことには、間違いなくパフォーマンス上のメリットがあります。しかし、必要であれば、数値を100から80やそれ以下に変更することで、画像をより圧縮し、スペースを少し節約することができます。
前の方法と同じようにWPCodeスニペットを新規作成し、次のコードを貼り付けるだけです:
add_filter('jpeg_quality', function($arg){return 75;});
スニペットを有効化して保存すると、JPEG画像が圧縮されてファイルサイズが小さくなります。画像は低画質で表示されますが、Webサーバーの容量を節約できます。
ヒント:画質を変更する際には、サムネイルも必ず再生成してください。
WordPressでJPEG画像の圧縮率を変更する方法について、この投稿がお役に立てば幸いです。WordPressで画像を適切に追加する方法についてのガイド、または専門家が選んだ最高のInstagram 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.
Tom
I tried this so many times, and many different variations of this code but it never works. I don’t know what else to do. Every time I upload a photo, I can see that the quality is blurrier. Do you have any other tips?
WPBeginner Support
Please ensure you do not have any other plugins that compress/optimize your images as that is the most common reason the images would be compressed. The other common reason would be if your theme is resizing the images in which case we would recommend taking a look at our article below!
https://www.wpbeginner.com/beginners-guide/wordpress-image-sizes-beginners-guide/
管理者
Tom
Thanks for the reply. Just an update: It turns out it was my hosting company that was compressing my photos. They had a CDN feature that was automatically enabled that I didn’t know about. After I disabled it, my photos are fine now.
Purnendu Mukherjee
Hi,
If we use a image compression plugin like Smush, Optiomole or any other, will my images be compressed twice (once by WordPress and then by the plugin)??
WPBeginner Support
You would want to check with the support for the plugin you plan to use but most should have the ability to cancel the standard compression.
管理者
Rigsby
Hello, once the php is added, will that override any image compression plugin that is installed at a later date or does the plugin override the code? It will be hard to remember that your php was once added a long time ago, and therefore it may cause headaches wondering why the plugin isn’t working correctly.
Thanks : )
Tom
” If you want, you can change the number from 100 to 80 or something lower… then all you have to do is paste the following code:”
ADD THE CODE WHERE???
WPBeginner Support
As with the code above, you would place it in your theme’s functions.php or a site-specific plugin. To protect from theme updates we would normally recommend a site-specific plugin:
https://www.wpbeginner.com/beginners-guide/what-why-and-how-tos-of-creating-a-site-specific-wordpress-plugin/
管理者
rob
Hi – Do images need to be reuploaded for it to take effect?
Also, will this work for png images or do I need to change jpeg to png in the php code?
Thanks
WPBeginner Support
This would only apply to new images and not your current images and you do not have to worry about PNG compression.
管理者
Netgoondoo
Hi, is this code snippet valid in php 7?
WPBeginner Support
The snippet should still be working
管理者
puspa chaulagai
hey, I am from love and fun quotes I found your article while I searching for how to stop auto compressing images on WordPress. I try your code but it still not working. When I change the theme it’s work but in which theme I apply it doesn’t work. How to remove auto image compress by theme please help.
WPBeginner Support
You would want to reach out to the support for your specific theme for them to be able to assist with their specific compression.
管理者
Sukanya
I have not seen much of a difference even after regenerating. Am I missing something?
Heather Wilson
Hello,
I am working with wordpress.com – can you do this through the customizing CSS menu, and if so how? I am brand new to coding.
WPBeginner Support
Hi Heather,
No, you cannot. Please see our guide on the difference between self hosted WordPress.org vs free WordPress.com blog.
管理者
Karlo Gavric
Even I change compression to 100, my images looks so bad in quality, only if I use full sized (widht 1300+px) is OK, but if I use Large file which is 900px, it is horrible.
I added code to change compression in functions.php, contacted my theme supplier and hosting support, they don’t have any compressions turned on.
Any ideas?
WPBeginner Support
Hi Karlo,
Try deactivating all plugins and switching to a default theme, after that upload a large image and see if that fixes it.
管理者
Karlo Gavric
Hi,
I’ve tried it, but the problem still persists. Tried also just changing a theme with plugins enabled / disabled, no change (?! feeling confused really ?!)
nospampls
you need to set your large file size to a higher image size. wordpress will automatically crop your images…
Anne
what does this mean
Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.
Thank you
Eoin
It means that you need to use an external editor to edit the files because the Wordpress editor is restricted.. There are plugins available for editing theme files through the wordpress admin which you can look up on the Add New Plugin page, otherwize, you need to download your theme files using a FTP software, update the functions.php file and upload it back to the theme folder on the server. If you are not sure about FTP, I would just look for an theme editor plugin so you can do it in the wordpress admin, but make sure to deactivate the plugin when you are finished to prevent any security issues.
Devi Chand
Hi,
My product images looked blurred because they are already optimised and wordpress was optimising them again (I believe). I used the above code and also regenerated the thumbnails. Initially, I could not find the changes. However, later the images started showing up the way I wanted (not blurred, perfect) for some time. But I check again and the images are all looking blurred again. Can you help?
Bjornen
Hi!
So, is there a solution to having WP not up-scaling the image size (kb/mb) when uploading via “Media” in WordPress?
Meaning; I want WP to scale the picture into thumb nail, medium and large and to keep the original as it does per default, but NOT to up-scale the thumb ail, medium or large file sizes?
Thanks!
Mike
I added this code exactly how you showed it and now it won’t let me upload photos an error message keeps coming up. please help! Thanks!
Yara
Hi
Do you know if is possible to improve the quality of the image in wordpress.com in free version?
Thanks
Yara
Or better, if is possible to do not reduce the quality of the image
WPBeginner Support
Hi Yara,
You are limited to how WordPress.com handles images. Please see our guide on the difference between self hosted WordPress.org vs free WordPress.com blog.
管理者
Yara
Hi
Now I have wordpress.org because I was frustated with my images quality. But now it is worst. I did what your video say, but I still have problems.
I thought that was just upload the image and was OK. My head image and when I upload in the post the quality is not good.
I really don’t know what to do :/
Mélanie
Hi, I use this code and regenerated all my images, but unfortunatly, the size of my image is the same. I use enfold theme and my WP version is 4.7.2. Did I miss a step?
Mélanie
I forgot to say, I compressed to 75.
Luke Cavanagh
Setting the level to 92 or 90 is fine, the default used to be 90 was was lowered down to 82.
Alessandro
Hi, I have added the code as showed in the video but, nothing, Wordpress keeps reducing the size of my images.
Any other option?
Thanks for your support
Alessandro
Lukas Priyambodo
Quality 100 doesn’t always mean highest quality, because of JPEG algorithm and what kind of content of the image. Using SSIM, I sometimes found that quality 95 has better score than quality 100 or at least quality 95 has better filesize trade off compare to quality 100.
Jaime
Hi there. Are you able to disable image compression if you have a free Wordpress account? If so, where do I find my function’s php file?
WPBeginner Support
Please see our guide on the difference between self hosted WordPress.org vs free WordPress.com blog.
管理者
M.Mairaj
Thanks for sharing such a fantastic post about image Compression in Wordpress. All the tips are really very very worthwhile.
Keep sharing
Regards
Mairaj
Peter
Don’t follow this advice! I added this line of code in my functions.php file and now I get this message when loading my website!
Parse error: syntax error, unexpected T_STRING in /home/sittin11/public_html/wp-content/themes/Divi/core/functions.php on line 44
WPBeginner Support
See our guide on how to fix syntax error in WordPress.
管理者
blogmann
Thanks
I’m using plugin Imsanity, it has more settings
karl
Let’s clear up some things.
1 – WP does not mess with your original uploaded file. The compression levels discussed are for WP generated images – the TN, Med, Large in your WP media settings.
2 – if you change the compression settings, WP does not reprocess all your current uploads. That’s why you run Regenerate Thumbnails.
3 – I will challenge any photographer to see the quality difference between 100 and 90 in a JPG. In rare cases, you may. But for 99% of images you’ll never tell.
4 – Depending on your theme and your media settings, yes, some smaller image sizes will be cropped from your orignal upload. It’s the nature of the beast. If your TN is square and you upload a horizontal phjoto, of course it will be cropped. Cropping your images BEFORE uploading – and using a proportion compatible with your theme layout – will net you fewer issues.
Santiago Gonzalez
Thanks Karl, your comment was very helpfull to clear things up.
Thanks
chang hong
hello, can you tellme why wp crop every image that i upload? how can i prevent it! thank you
Dave Porter
Thanks for the article, very useful to know.
I’m interested in the comment about ‘make sure you regenerate your thumbnails’
If an image is uploaded at say 82%, regenerating the thumbnails does what?
And I assume that after changing the percentage, this is only going to be for new images?
I would guess any existing images would remain at the same quality, or does WordPress keep a copy of the original uploaded?
TIA, Dave
WPBeginner Support
WordPress keeps a copy of the original file uploaded.
管理者
Michael
Is it possible to disable image compression in WordPress?
The article has a headline saying so, but then it describes it as “least compression”, that is not disabling compression…just wondering it is possible to disable compression for uploaded pictures…
karl
Setting compression to 100 IS disabling it.
Thomas
Great Tips, thank you.
I have one more question: If I upload images to WP that are already compressed (say to 90%) – will they be compressed again (82% of 90% = 74.8%)?
Stephen
Yes. The only exception is the image you upload is saved as is for future use.