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

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

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

但是,我需要导出我的网站(public-html目录),它的大小完全为270MB。它用于学校项目,仅要求我提供最大200MB的目录。

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

因此,我有两个问题:

  • 是否所有这些重复项都是必需的,或者我可以直接从wp-content / uploads目录中删除其中一些吗?
  • 在Smush设置中,可以看到可以在WordPress自动生成的所有重复尺寸中选择所需的重复尺寸。如果更改这些设置,我想我必须重新上传所有图像,对吗?

解决方法

我想,您正在谈论的“重复项”是您WP安装程序创建的每个图像的大小不同。

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

  • 默认情况下,Wordpress 可以创建3种可选尺寸:缩略图,中型图像和大尺寸图像(以及保留上载的完整尺寸的图像)。
  • 您的主题可以创建其他大小的图像。
  • 插件也可以创建所需的其他尺寸。

您不能只是删除其他图像或从生成的图像中删除该图像并希望获得最佳图像。精巧的主题和插件只会在您的网站上使用其他大小的图片时才添加其他图片大小,因此删除这些图片会导致您的网站上的图片损坏。

即使您删除它们,即使创建它们的代码也没有被删除,它们在上载新图像时仍会继续被创建。

您可以尝试的方法:

  1. 不要上传非常大的图片事实是您的文件夹仅包含10张图片,因此实际上,您上传的照片非常大。
    当Wordpress创建替代尺寸时,它会减小像素尺寸,但并非总是会大大减小 file 尺寸。因此,如果原始图像很大,则替代尺寸也可能会大于所需的尺寸。

  1. 确保您的优化程序插件设置为最佳。根据设置,Smush和其他优化插件可能不会减小大小(请注意图像本身也会对此产生影响)。您可能需要更改设置,以偏爱文件大小而不是质量。还要确保它可以在 all 个备用图像尺寸上使用。

  1. 不要保留原始尺寸的图片。即使有效地减小了其他尺寸,WP在创建备用尺寸后仍默认保留全尺寸图像。
    如果您知道您的网站没有使用完整尺寸的图片,则无需保留它们。一些图像优化插件会自动删除原始插件,而其他插件会为您提供执行此操作的选项。

  1. 尝试使用其他优化程序插件。有许多可用的插件,有些插件会在上传时自动减小图像的大小(例如Smush),而其他插件只会在上传时减小图像的大小(例如Imsanity。图片本身对它们的易用性有很大影响为优化起见,请尝试使用其他插件,以防它对您的图片更好。

    在性能分析中,我发现free version of SmushEWWW这样的插件效果不佳-Smush开发人员甚至说免费版本的插件不会表现不好。”。

    相比之下,使用付费订阅的插件通常性能要好得多。其中一些具有功能有限的免费版本,可能对您有用,例如reSmush.it(最多释放5 MB的图像大小)或ShortPixel Image Optimizer(每月最多释放100的图像)

  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 图像,都会创建其他尺寸的图像不。因此,如果您仅上传照片以在一个特定页面上使用,则不需要画廊插件创建的任何尺寸。但是,您将需要逐个图像地进行此操作。

  1. 检查插件缓存。许多图库插件会创建自己的图像缓存-根据插件的不同,可能会在上载文件夹中创建。他们确实使用此缓存,因此您不能将其永久删除,但是出于移动网站的目的,可以在导出网站之前删除缓存文件夹以减小整体大小。使用插件时,插件应在新站点上重新创建缓存(但请事先进行确认以确保安全!)

摘要

我的猜测是,您的原始图像一开始会很大,并且自动调整大小无法有效地优化它们。我的第一个建议是在上传之前减小 的大小-图形包通常在优化图像方面比Wordpress甚至插件有效得多。如上所述,Smush的开发人员说“ 免费版本的插件效果不佳”,因此最好不要依赖它进行优化。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-