十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
数据库也是影响 WordPress 运行速度重要的因素之一,频繁调用、查询数据库会拖累网站整体的加载速度。今天大挖结合自己的实践操作来
成都创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目成都做网站、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元千阳做网站,已为上家服务,为千阳各地企业和个人服务,联系电话:13518219792
优化一些 WordPress 数据库不必要的查询次数。希望可以帮助到大家有效提升博客的速度。
先给大家分享一段可以在wordpress主题底部显示当前运行时 WordPress 数据库查询次数和内存使用情况的代码:
1
2
3
4
5
6
7
8
9
10
//显示数据库查询次数、查询时间及内存占用的代码
function performance( $visible = false ) {
$stat = sprintf( '%d 次查询 用时 %.3f 秒, 耗费了 %.2fMB 内存',
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024
);
echo $visible ? $stat : "" ;
}
add_action( 'wp_footer', 'performance', 20 );
上面的代码,直接放到主题function.php里即可。
优化WordPress 数据库查询:首先需要在 WordPress 的wp-config.php里进行优化操作,具体配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
define('COOKIE_DOMAIN', '');
//设置地址而不是服务器检查,这将减少服务器查询
define('WP_HOME', '');
define('WP_SITEURL', '');
//优化文章修改历史:Post-Revisioning
define('AUTOSAVE_INTERVAL', 120);// 修改WordPress 编辑器自动保存时间间隔为120秒保存一次
define('WP_POST_REVISIONS', 5);//仅保留保留5个最近修改,也可以减小此数字,但不能太低了
define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站,这个自己根据情况设定
define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );//更新时跳过 wp-content 目录,增加更新效率
//通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。
define('TEMPLATEPATH', '/wp-content/themes/wa');
define('STYLESHEETPATH', '/wp-content/themes/wa');
如果你没有使用缓存插件,开启WP自带的缓存(Cache)功能,并设置缓存时间,是非常必要的事情。
1
2
3
define('WP_CACHE, true); // 打开 WordPress 自带的缓存功能
define('ENABLE_CACHE', true); // 缓存开关
define('CACHE_EXPIRATION_TIME', 3600); // 缓存时间间隔
注:3.0后版本要开始缓存在/wp-includes/default-constants.php中开启,切记哦!
wordpress程序自身会经常向wordpress点抗 的服务器发送请求传送数据,我们可以通过设置wp-config.php来屏蔽此类外部请求的发送,在wp-config.php添加如下代码:
1
2
//禁止WordPress程序发出对外请求
define('WP_HTTP_BLOCK_EXTERNAL', true);
值得注意的是我们在加入以上代码后你的网站将无法对任何一个外部服务器发出请求,如果站长朋友们为了加速网站收录使用了ping功能,加上以上代码后ping功能将会失效。解决方法:我们可以设置对外请求白名单即可解决ping失效问题,代码如下:(以百度ping为例)
1
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu点抗 ');//仅允许 WordPress 向ping.baidu点抗 发送请求
通过 WordPress 的wp-config.php配置完后大家 可以用本文开头分享的代码在源代码里查看和对比一下是不是数据库查询次数和内存使用量有所改善。还有就是要养成提前备份的好习惯,否则后果自负了!
一、关闭wordpress自带站内搜索
php+mysql已经广泛应用于各大网站,但sql注入问题是都会存在的一大事实,黑客就是利用sql注入做了许多坏事。wordpress网站使用人数也逐渐增高,在安全性上也是公认的,回过头来说站内搜索吧,别扯远了,高深的问题当下也消化不了。
一般来说sql查询越多,对网站效率越差负载也很高,为了优化wordpress怎么减少sql查询呢?因为wordpress自带的站内搜索不单每次都进行sql查询,而且查询都是不是十分准确的,所以可以换成百度或谷歌等这些开放站内搜索,来进行wordpress优化,还提高了用户体验。
但如果有访客通过"wordpress/?s=$key"这种方式,仍然可以使用wordpress自带的站内搜索,因此,下面就可以用这种方法完全关闭wordpress自带的站内搜索。方法很简单,只需在function.php中加入以下代码即可。
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query-is_search = false;
$query-query_vars[s] = false;
$query-query[s] = false;
if ( $error == true )
$query-is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
二、关闭wordpress对外请求
相信大家都发现了,浏览器状态栏会有wordpress网站向其他网站的链接,这大大影响了wordpress站点的速度,为了优化wordpress,可以在wp-config.php中插入以下代码来屏蔽对外请求。
define('WP_HTTP_BLOCK_EXTERNAL', true);
到这里,相信大家就开始怀疑影不影响收录,其实完全可以设置wordpress对外请求白名单,将百度、google等ping地址添加上即可。代码如下(以百度为例):
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu点抗 ');
转发 评论 0 浏览 5090
昵称(必填)
邮箱 (必填)
网址
有站长反应WordPress官网打不开了,nginx 429错误,提示“Too Many Requests”,新手站长网分享WordPress官网打不开的原因及解决方法:
WordPress官网打不开
最近WordPress官网打不开了,提示:
429 Too Many Requests
nginx
如果你也遇到这种情况,不要担心,这不是你一个人的问题,很多站长都收此困扰。新手站长网看到V2EX和hostloc网站都有人反应,有用户通过代理访问wordpress.org提交问题,看样子,也是没有得到解决方法。
如果你想要下载WordPress,那么你可以通过如下方法解决,
1、目前的nginx 429错误仅仅是使用浏览器访问时出现的,如果想要下载最新版的WordPress,可以通过下载软件(如:迅雷)下载的。
以迅雷为例,复制WordPress下载地址,新建任务,粘贴下载地址,即可。
2、从百度网盘下载,我已经下载的WordPress5.3最新版本了,需要的可以从百度网盘下载,每次有新版本我都会更新。下载地址:链接: 链接:
提取码: wgzq
或者是在后台无法更新 WordPress也可以使用下面这段代码来更新:
?php/*
Plugin Name: WPJAM 中文下载镜像
Plugin URI:
Description: WPJAM 中文下载镜像
Version: 1.0
Author: Denis
Author URI:
*/add_filter('site_transient_update_core', function($value){
foreach ($value-updates as $update) {
if($update-locale == 'zh_CN'){
$update-download = ''; $update-packages-full = ''; }
}
return $value;});将它保存为一个文件,比如 wp-download.php,上传到 wp-content/plugins 目录,
激活,然后更新,更新成功之后停用即可,下次需要更新的时候,再次激活即可。
虽然,浏览器访问不了WordPress官网,但是使用下载软件是可以下载WordPress的。
你是在后台在线安装的?
建议下载主题,然后用FTP工具传到空间,然后直接启用主题即可。。