WordPress 图像重复 - 正在创建许多其他尺寸,我可以删除它们吗?

WordPress image duplicates - a lot of additional sizes are being created, can I delete them?

我创建了一个 WordPress 网站,上面有 14 张图片。我没有调整图片源文件的大小,但是我安装了Smush插件来优化上传图片的大小。

但是,我需要导出我的网站(public-html 目录),它太大了:270MB。这是一个学校项目,我只需要一个最大 200MB 的目录。

检查 wp-content/uploads 目录时,我注意到每张上传的图像最终都有大约 10 个不同尺寸的副本。目录总大小超过 75MB,这是巨大的。

因此我有两个问题:

您所说的“重复项”,我想,是由您的 WP 设置创建的每个图像的不同尺寸。

可以通过以下方式创建替代尺寸:

  • Wordpress 默认 可以创建 3 种可选尺寸:缩略图、中图和大图(以及保留上传的全尺寸图片)。
  • 您的主题 可以创建它将使用的其他图像尺寸。
  • 插件还可以创建他们需要的其他尺寸。

您不能只是删除额外的图像或从生成中删除该尺寸并希望最好。 Well-made 如果主题和插件在您的网站上使用该尺寸,则它们只会添加其他图像尺寸,因此删除这些图像会导致您网站上的图像损坏。

此外,即使您删除了它们,如果创建它们的代码也没有被删除,它们将在上传新图像时继续创建。

您可以尝试的方法:

  1. 不要上传非常大的图片 事实上,您的文件夹对于只有 10 张图片来说太大了,这表明您上传的照片本来就非常大。
    当 Wordpress 创建替代大小时,它会减小像素大小,但并不总是创建 greatly-reduced file 大小。因此,如果原始图像非常大,则替代尺寸也可能比需要的更大。

  1. 确保您的优化器插件设置是最优的 Smush 和其他优化插件可能不会根据设置大幅减小大小(请注意,图像本身也会影响这一点).您可能需要更改设置以支持文件大小而不是质量。还要确保它适用于 所有 替代图像尺寸。

  1. 不要保留原始 full-sized 图片。即使您的其他尺寸有效缩小,WP 在创建替代尺寸后默认情况下会保留 full-sized 图像。
    如果您知道您的站点不使用full-sized图像,则不需要保留它们。一些图像优化插件会自动删除原始文件,其他人会给你这样做的选项。

  1. 尝试不同的优化器插件。有许多可用的插件,一些在上传时自动减小图像的大小(如 Smush),另一些仅在上传时减小大小(如 Imsanity。图像本身对它们的易用性有很大影响进行优化,因此请尝试使用不同的插件,以防它更适合您的图像。

    在我看到的性能分析中,诸如 free version of Smush or EWWW don't give great results - the Smush developers even say
    "The free version of the plugin doesn’t perform that well.".

    In comparison, the plugins that use paid subscriptions usualy perform a lot better. Some of these have free versions with limited functionality that could work for you, e.g. reSmush.it (free up to 5MB image size) or ShortPixel Image Optimizer(每月最多免费提供 100 张图片)
  2. 之类的插件

  1. 如果您知道它们不再被使用,您可以手动删除旧尺寸 - 例如,如果已删除的插件或旧的主题添加了不再需要的其他尺寸。但是当你再次添加它们时它们又被创建了,这表明它们都是由活动插件和主题创建的。

  1. 如果您知道它没有被使用,您可以取消设置任何定义的图像大小以防止它们被创建,例如,如果您不使用 Wordpress 创建的某些默认图像尺寸。您可以使用插件来执行此操作,例如 Smush 或 Stop Generating Unnecessary Thumbnails
    或者您可以在 functions.php 中使用下面的代码 - 如果您传递在 add_image_size 中使用的名称,它也适用于主题和插件添加的其他尺寸。请注意,这只会影响上传的新图片 - 您需要删除所有现有图片。

    function unset_unused_image_sizes( $sizes ){
        unset( $sizes[ 'thumbnail' ]);
        unset( $sizes[ 'medium' ]);
        unset( $sizes[ 'large' ]);
        unset( $sizes[ 'full' ] );
        return $sizes;
    }
    add_filter( 'intermediate_image_sizes_advanced', 'unset_unused_image_sizes' );


  1. 并非所有调整大小的图像都将被使用 - 一旦 add_image_size 被主题或插件添加,替代尺寸 all 无论使用与否,都会创建图像。因此,如果您上传照片仅供在一个特定页面上使用,则不需要例如由图库插件创建的任何尺寸。但是,您需要在 image-by 图像基础上执行此操作。

  1. 检查插件缓存。许多图库插件会创建自己的图像缓存 - 根据插件的不同,这可能会在上传文件夹中创建。他们确实使用此缓存,因此您无法永久删除它,但为了移动站点,您可以在导出站点之前删除缓存文件夹以减小整体大小。当您使用它时,插件应该在新站点上重新创建缓存(但请事先验证以确保!)

总结

我的猜测是您的原始图像开始时非常大,自动调整大小并未有效地优化它们。我的第一个建议是在上传它们之前 减小尺寸 - 图形包在优化图像方面通常比 Wordpres 更有效甚至插件。正如我上面所说,Smush 的开发人员说“免费版本的插件表现不佳”,因此您最好不要依赖它来进行优化。