如何从 WordPress 中的静态资源中删除查询字符串

  今天有一个客户来问询,hostease主机创建的WordPress站点,在GTMetrix或Pingdom进行网站速度测试,看到有关查询字符串的警告。如果不想看到查询字符串的警告,要如何处理呢?我们测试,可以通过一些处理满足这个需求。我们分享这个教程给您。

  从WordPress网站中的CSS和JavaScript等静态资源中删除查询字符串,可以提高网站速度并在Pingdom、GTmatrix上获得更好的测试结果。

  利用CSS和JavaScript等静态资源的浏览器缓存在页面加载时间方面发挥着重要作用。查询字符串会阻止在代理服务器和浏览器上缓存静态资源。通过从CSS和JavaScript等静态资源中删除查询字符串,您可以启用静态资源缓存,并以更少的页面加载时间显着提高页面加载速度。

  什么是查询字符串?

  查询字符串是包含“?”或者”&”的URL。它类似于您网站的CSS和JS文件,通常在其URL末尾包含文件版本。因此,这些查询字符串资源将是带有“?”或者”&”的资源 URL。

  查询字符串如下所示:

  mydomain.com/styles.css?ver=3.19.11

  您的CSS和JavaScript文件通常在其URL末尾包含文件版本,例如mydomain.com/styles.css?ver=3.19.11某些服务器和代理服务器无法使用查询字符串缓存CSS和JavaScript资源,即使您已优化公共缓存控制标头。很少有CDN(内容交付网络)也不使用查询字符串缓存资源,例如Cloudflare。

  通过删除它们,您有时可以改进缓存。这也将修复您可能在GTMetrix和Pingdom中看到的警告,称为“从静态资源中删除查询字符串”。

  查询字符串的存在通常是有原因的。实际上,查询字符串用于对文件进行版本控制,从而区分资源文件。对于开发人员避免缓存问题非常有用。例如,如果他们推出更新并将 style.css从更改?ver=3.19.11为?ver=3.19.12,它将被视为全新的URL并且不会被缓存。如果您删除查询字符串并更新插件,这可能会导致缓存版本继续提供服务。在某些情况下,这可能会破坏站点的前端,直到缓存的资源过期或缓存被完全刷新。

  有几种不同的方法可以删除查询字符串,一种是使用少量代码,另一种是使用 WordPress插件。

  1.使用代码从静态资源中删除查询字符串

  要从站点资源中删除查询字符串,您只需在functions.php文件中添加以下过滤器挂钩即可修改静态资源URL,即CSS和JavaScript。

  但是,在修改functions.php文件之前,我强烈建议您进行备份。此外,您必须使用子主题在核心主题文件中进行此类修改。或者,您也可以利用免费的代码片段插件。该插件将允许您添加上述代码,而不必担心它是否会导致您的网站瘫痪。

  只需创建一个新代码片段并添加上述代码即可。选择“仅运行现场前端”,然后保存代码片段。然后您的查询字符串就会消失!您可能需要清除WordPress网站上的缓存才能看到更改在前端生效。

  2. 使用插件从静态资源中删除查询字符串

  可以使用名为“从静态资源中删除查询字符串”的WordPress插件来删除查询字符串。如果您不想搞乱编码,可以尝试此方法。没有设置面板,因此只需激活插件即可解决问题。测试你的网页加载时间几次,你会发现显着的改进。

  许多WordPress用户使用W3 Total Cache和WP Super Cache等缓存插件。

  W3 Total Cache插件提供了从静态资源中删除查询字符串的选项。转到浏览器缓存工具选项卡并找到“设置更改后防止缓存对象”选项。从“常规设置”中取消选中它,并且不要忘记单击“保存设置”按钮。现在“清空所有缓存”,您就完成了。

  您最喜欢哪种解决方案以及哪种解决方案最适合您,或者您可能有任何其他建议,请在下面的评论并告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三整数排序问题的解题逻辑

【题目描述】 输入3个整数,从小到大排序后输出。 【样例输入】 20 7 33 【样例输出】 7 20 33 【解析】 本题解法大概有3种: 1、穷举条件法。 此方法先判断a、b、c大小的所有可能,再根据各种可能性输出不同的排序。 思路是先判断a、…

C++17中的类模板参数推导

在C17之前,必须明确指出类模板的所有参数。自从C17起必须指明类模板参数的限制被放宽了。通过使用类模板参数推导(Class Template Argument Deduction(CTAD)),只要编译器能根据初始值推导出所有模板参数,那么就可以不指明参数。 C17中的类模板…

记录一次排查负载均衡不能创建的排查过程

故障现象,某云上,运维同事在创建负载均衡的时候,发现可以创建资源,但是创建完之后,不显示对应的负载均衡。 创建负载均衡时候,按f12发现console有如下报错 后来请后端网络同事排查日志发现,是后…

中科大计网学习记录笔记(十七):拥塞控制原理 | TCP 拥塞控制

前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…

论文学习—Model-based Adversarial Meta-Reinforcement Learning

Model-based Adversarial Meta-Reinforcement Learning Abstract1. Introduction2. Related work3 Preliminaries基于模型的强化学习(MBRL):区别和联系: 4 Model-based Adversarial Meta-Reinforcement Learning4.1 Formulation 4.2 Computin…

LeetCode 每日一题 Day 88 - 94

2673. 使二叉树所有路径值相等的最小代价 给你一个整数 n 表示一棵 满二叉树 里面节点的数目,节点编号从 1 到 n 。根节点编号为 1 ,树中每个非叶子节点 i 都有两个孩子,分别是左孩子 2 * i 和右孩子 2 * i 1 。 树中每个节点都有一个值&a…

好书推荐丨细说PyTorch深度学习:理论、算法、模型与编程实现

文章目录 写在前面深度学习推荐图书内容简介作者简介 推荐理由粉丝福利写在最后 写在前面 本期博主给大家推荐一本深度学习的全新正版书籍,感兴趣的小伙伴快来看看吧~ 深度学习 深度学习是机器学习的一个分支,它模仿人脑神经网络的工作原理进行复杂的…

蓝桥杯练习系统(算法训练)ALGO-986 藏匿的刺客

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的压迫,于是勇敢的鹏决心反抗。   kAc帝国防…

linux kernel物理内存概述(二)

目录 物理内存数据结构 设备数物理内存描述 物理内存映射 map_kernel map_mem zone数据结构 zone类型 物理内存数据结构 站在处理器角度,管理物理内存的最小单位是页面。使用page数据结构描述,通常默认大小4kB,采用mem_map[]数组来存…

学习java第一天(下载并配置环境+写第一个java程序)

一.安装 1.下载 直接去官网上选择与你电脑符合的版本下载 官网链接Java Archive Downloads - Java SE 8u211 and later (拿我的为例 Windows x64版本) ​ 2.然后安装好exe(要让自己知道在哪) 3.配置环境 大佬链接&#xff1…

“每一次的感应,都是对环境的温柔拥抱。”#STM32项目二 《感应开关盖垃圾桶》【上】

“每一次的感应,都是对环境的温柔拥抱。”#STM32项目二 《感应开关盖垃圾桶》【上】 前言预备知识1.定时器介绍11.1软件延时的优缺点1.2定时器工作原理1.3定时器的分类1.4 STM32F103C8T6定时器资源1.5通用定时器介绍 2.定时器介绍22.1定时器计数模式2.2定时器时钟源…

【VTKExamples::PolyData】第四十六期 Reflection

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例Reflection,并解析接口vtkReflectionFilter,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. Reflection …

Docker容器详解

一、概述 1.1 基本概念: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚…

SpringCloud 各自组件的停更/升级/替换

一、停更不停用 现在 SpringCloud 不再修复 bug,也不再接收合并请求,也不再发布新版本,但是目前还是可以继续使用的。 二、以前的组件 以前 SpringCloud 常用的组件如下图,服务的注册和发现使用 Eureka,服务的负载和调…

深入理解c指针(七)

目录 十、回调函数和qsort函数 1、回调函数 2、简单介绍size_t 数据类型 3、qsort 排序函数 3.1 qsort函数简单举例1(升序排序) 3.2 qsort函数简单举例2(字符串长度排序) 3.3 简单讲解 -> 操作符 3.4 常见符号的ASCII…

如何利用会话式AI提升你的工作效率?

会话式AI如何改变我们的生活和工作 在当今时代,内容策略的重要性日渐凸显,良好的内容策略能够与流量及转化率紧密相连,成为企业在内容策略领域不容忽视的营销工具之一。 然而,目前内容同质化现象严重,企业若想在内容营…

iPaas数据传输的方式

一、iPaas平台概述 iPaas(Integration Platform as a Service)平台,作为一种先进的云计算服务模式,为开发者和企业提供了一种全面且灵活的应用集成解决方案。它构建在PaaS(Platform as a Service)基础之上…

【C++庖丁解牛】初始化列表 | Static对象 | 友元函数

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1. 再谈构造函数1.1 …

WiFi模块赋能智能手表:拓展功能与提升连接性

随着科技的不断进步,智能手表正逐渐成为现代人生活中不可或缺的智能配饰。其中,WiFi模块的应用为智能手表带来了更多强大的功能和更高的连接性,为用户提供了更为便捷、智能化的使用体验。本文将深入探讨WiFi模块在智能手表中的应用。 远程通信…

RK DVP NVP6158配置 学习

NVP6158简介 NVP6158C是一款4通道通用RX,提供高质量图像的芯片。它接受来自摄像机和其他视频信号的独立4通道通用输入来源。它将4通道通用1M至8M 7.5P视频格式数字化并解码为代表8位ITU-R BT.656/1120 4:2:2格式的数字分量视频,并将单独的BT.601格式与27…