Products
GG网络技术分享 2025-03-18 16:13 0
网页速度和性能对用户体验非常重要。如果您的网站速度太慢,您不仅会失去访问者,还会失去潜在客户。像谷歌这样的搜索引擎会在搜索排名中考虑网站的速度,因此在优化网站速度时,您应该考虑所有因素。
每毫秒都很重要。优化网站速度的 10 个技巧这里只是一些提高网站性能和速度的一般网站优化技巧。
1. 尽可能推迟加载内容
Ajax 允许我们构建可以随时异步更新的网页。这意味着我们可以简单地更新该页面的某些部分,而不是在用户执行操作时重新加载整个页面。我们可以使用图片库作为示例。
图像文件又大又重;它们可以减慢网页的页面加载速度。当用户第一次访问网页时,我们可以只显示图像的缩略图,然后当用户点击它们时,我们可以异步地从服务器请求全尺寸图像并更新页面,而不是在用户第一次访问网页时加载所有图像。这样,如果用户只想看几张图片,他们就不必等待所有图片下载完毕。
这种开发模式称为延迟加载。jQuery、Prototype 和 MooTools 等 Ajax/Web 开发库可以使延迟内容加载更容易实现。
2. 使用外部 JS 和 CSS 文件
当用户第一次加载你的网页时,浏览器会缓存外部资源,比如 CSS 和 JavaScript 文件。因此,最好将它们放在外部文件中,而不是内联 JavaScript 和 CSS 文件。使用内联 CSS 也会增加网页的渲染时间;在主 CSS 文件中定义所有内容可以让浏览器在呈现页面时做更少的工作,因为它已经知道它需要应用的所有样式规则。
作为奖励,使用外部 JavaScript 和 CSS 文件使站点维护更容易,因为您只需要维护全局文件而不是分散在多个网页中的代码。
3.使用缓存系统
如果您发现您的站点正在连接到您的数据库以创建相同的内容,那么是时候开始使用缓存系统了。通过使用缓存系统,您的网站只需创建一次内容,而不是每次用户访问页面时都创建内容。不用担心,缓存系统会根据您的设置方式定期刷新其缓存——因此即使是不断变化的网页(如带有评论的博客文章)也可以被缓存。
WordPress 和 Drupal 等流行的内容管理系统将具有静态缓存功能,可将动态生成的页面转换为静态 HTML 文件,以减少不必要的服务器处理。对于 WordPress,请查看WP Super Cache(六个修订版已安装的六个关键 WordPress 插件之一)。Drupal 在核心中有一个页面缓存功能。
您还可以在 Web 服务器上安装数据库缓存和服务器端脚本缓存系统(如果您有能力这样做)。例如,PHP 具有称为PHP 加速器的扩展,可通过缓存和各种其他方法优化性能;PHP 加速器的一个例子是APC。数据库缓存通过减少与数据库读/写/访问过程相关的工作来提高 Web 应用程序的性能和可扩展性;例如,memcached缓存经常使用的数据库查询。
4. 避免在 HTML 中调整图像大小
如果图像最初的尺寸为 1280x900 像素,但您需要将其设置为 400x280 像素,则应使用 Photoshop 等图像编辑器调整图像大小并重新保存图像,而不是使用 HTMLwidth和height属性(即<img width="400" height="280" src="myimage.jpg" />)。这是因为,自然地,大图像的文件大小总是比小图像大。
与其使用 HTML 调整图像大小,不如使用 Photoshop 等图像编辑器调整图像大小,然后将其另存为新文件。
5.停止使用图像显示文本
不仅屏幕阅读器无法访问图像中的文本并且对SEO完全无用,而且使用图像显示文本也会增加网页的加载时间,因为更多的图像意味着更重的网页。如果您需要在您的网站中使用大量自定义字体,请了解 CSS @font-face以更有效地使用自定义字体显示文本。不用说,您必须确定提供字体文件是否比提供图像更优化。
6. 使用正确的文件格式优化图像大小
通过选择正确的图像格式,您可以优化文件大小而不会损失图像质量。例如,除非您需要 PNG 格式必须提供的图像透明度(alpha 层),否则 JPG 格式通常以较小的文件大小显示照片图像。要了解有关如何在 JPG、PNG 和 GIF 之间做出选择的更多信息,请阅读以下指南:
为 Web 保存图像的综合指南
网页设计师的 PNG 图像格式指南
JPEG 101:JPEG 速成课程指南
此外,您可以使用许多工具来进一步减少图像的文件权重。查看此用于优化图像的工具列表。
7. 优化你编写代码的方式
环顾您的源代码。你真的需要你正在使用的所有标签,或者你可以使用 CSS 来帮助显示吗?例如<h1><em>Your heading</em></h1>,您可以轻松地使用 CSS 来使用该font-style属性将标题变为斜体,而不是使用 。
高效地编写代码不仅可以减少 HTML 和 CSS 文档的文件大小,还可以使其更易于维护。
8. 在文档末尾加载 JavaScript
最好在页面末尾而不是开头加载脚本。它允许浏览器在开始使用 JavaScript 之前渲染所有内容。这使您的网页感觉更灵敏,因为 JavaScript 的工作方式是它阻止其下方的任何内容呈现,直到它完成下载。
<body>如果可能,请在 HTML 文档的结束标记之前引用 JavaScript 。要了解更多信息,请阅读有关延迟加载 JavaScript 的信息。
9. 使用内容交付网络 (CDN)
相对于您的网络服务器,您网站的速度很大程度上受用户所在位置的影响。它们越远,传输的数据必须传输的距离越远。将您的内容缓存在多个战略性地放置的地理位置有助于解决这个问题。
CDN通常会使您的运营成本高一点,但您肯定会获得速度加成。查看MaxCDN或Amazon Simple Storage Service (Amazon S3)。
10.优化网页缓存
除了使用缓存系统外,您还应该创建尽可能多地利用 Web 缓存的网站。Web 缓存是指文件由 Web 浏览器缓存以备后用。浏览器可以缓存的内容包括 CSS 文件、JavaScript 文件和图像。
除了基础知识,例如将在多个页面中使用的 CSS 和 JavaScript 代码放在外部文件中,还有许多方法可以确保您以最有效的方式缓存文件。例如,您可以设置HTTP 响应标头,例如Expires和Last-Modified以减少当用户返回您的站点时重新下载某些文件的需要。要了解更多信息,请阅读HTTP 中的缓存和利用浏览器缓存。
要在 Apache 中设置 HTTPExpires标头,请阅读有关添加未来过期标头的本教程。
如果自己还是没学会或者没有专业知识的人员,速推车是一个非常可靠的选择。它不仅使用最专业的工具和设备,而且技术团队的水平在中国也处于领先地位。无论哪种类型的工作都能胜任。有兴趣了解私信我
最近wp自学笔记在开发一款自适应的WordPress博客主题,该WordPress主题大量数据展示与提交都用到了ajax技术,所以wp自学笔记特意写一篇教程记录下,方便其他WordPress开发者做WordPress Ajax应用开发的时候做参考。如果有些小伙伴还不知道什么是Ajax,请自行百度~~,闲话就不多说了,教程开始。
不少开发者在写插件时喜欢用以下方式实现ajax:
require_once( \'../../../../wp-config.php\' );
就连百度站长平台官方开发的wordpress结构化数据提交插件也是如此实现ajax的,这是一种极其不合理的写法,因为一旦用户设置的目录不同, 相对路径就会失效.并且, 如果你在你的插件中使用的是面向对象的写法, 你将无法直接使用一些变量和私有方法. 最大的坏处就是会导致整个WordPress的框架额外重新加载一遍,严重的影响了网站的运行效率。
其实,wordpress为了方便开发者开发带有ajax功能的插件主题已经预定义好了ajax方法,我们只需按照官方预留的方法去使用就好了。在开发wordpress ajax你要先了解的是,不管是后台还是前台任何的Ajax请求都是在admin-ajax.php处理的,向admin-ajax.php发送请求的时候, 有一个必须的参数是$_REQUEST[‘action’], 因为admin-ajax.php需要根据用户是否登陆了来触发不同的hooks。
if ( is_user_logged_in() ) {/**
* Fires authenticated AJAX actions for logged-in users.
*
* The dynamic portion of the hook name, `$_REQUEST[\'action\']`,
* refers to the name of the AJAX action callback being fired.
*
* @since 2.1.0
*/
do_action( \'wp_ajax_\' . $_REQUEST[\'action\'] );
} else {
/**
* Fires non-authenticated AJAX actions for logged-out users.
*
* The dynamic portion of the hook name, `$_REQUEST[\'action\']`,
* refers to the name of the AJAX action callback being fired.
*
* @since 2.8.0
*/
do_action( \'wp_ajax_nopriv_\' . $_REQUEST[\'action\'] );
}
以上代码取自wordpress系统文件admin-ajax.php,从以上代码我们可以看出我们要发起一个请求首先要知道这个请求是否在登录状态下发起的?不同状态触发的hook也不一样,下面是个在主题利用jquery实现ajax的示例代码:
add_action( \'wp_head\', \'tiezhu_AjaxScript\');function tiezhu_AjaxScript(){
print \'<script>var v7v3_ajaxurl = \"\'. admin_url( \'admin-ajax.php\' ) . \'\"\' . \";</script>\\n\";
print \"<script>
$(docunment).ready(function(){
$.ajax( {
url: v7v3_ajaxurl,
data:{
action : \'is_login\'
},
type:\'post\',
cache:false,
success:function(data) {
alert(data);
}
});
});
</scrip>\";
}
add_action( \'wp_ajax_nopriv_is_login\', \'tiezhu_AjaxScript\' );
add_action( \'wp_ajax_is_login\', \'tiezhu_AjaxScript\' );
function tiezhu_ajax_is_login(){
global $current_user;
get_currentuserinfo();
printf( \'登录用户您好 : %s!\', $current_user->display_name );
//函数结束前的die或exit很重要,一定要加。
die;
}
function tiezhu_ajax_not_login(){
print \'尊敬的访客您好!\';
//函数结束前的die或exit很重要,一定要加。
die;
}
在开发wordpress ajax应用中最重要的一点就是函数结束之前一定要加die或者exit,如果不加的话会把整个wordpress框架都重新加载一遍。
Demand feedback