针对简单登录页面的WordPress网站的极端优化

时间:2015-01-21 12:59:25

标签: wordpress optimization

WordPress会执行多项操作来显示单个页面,因此我想到的第一个想法是将网站保存如下:

wget -r --no-parent http://localhost/mywebsite

然后,将保存的网站上传到我的主机。 e.g。

http://www.mywebsite.com

这个想法是自动化这个过程。但是我意识到缓存插件已经这样做了。

我认为下一个最重要的问题是大多数加载的Javascript从未使用过。如何加载只需要的Javascript?我在互联网上发现的一切只是解释了如何正确编码,而不是如何告诉WordPress只加载主题,插件等所需的Javascript。

我认为解决方案是按照我的描述下载网站。然后使用一些软件或在线服务将Javascript和CSS代码减少到最少,因此只有所需的Javascript函数才会出现在网站上。那软件存在吗?还有其他一些程序是更好的选择吗?

1 个答案:

答案 0 :(得分:0)

如果你google js minify和css minify有在线工具。例如http://jscompress.com/

你是对的不需要的js和css似乎每个插件和主题加载一个js文件和css文件(boilerplates和bootstrap)加载在每个页面非常浪费(wordpress网站通常可以加载30-单独40个js文件),但我想最终用户需要优化。

你可以使用wp_dequeue_script( $handle );删除不需要的js和css,但是你需要先找出句柄才能输出句柄:

     function inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle . ' | ';
    endforeach;
}


function inspect_styles() {
    global $wp_styles;
    foreach( $wp_styles->queue as $handle ) :
        echo $handle . ' | ';
    endforeach;
}

add_action( 'wp_print_scripts', 'inspect_styles', 1000 ); //repeat for js

现在您可以将该队列出列并添加1个优化的js文件和css文件(下面是一个页面模板,如果您希望它在您的函数中,您可以通过测试url / wp查询变量来限定它)

     function dequeue_script(){

         wp_dequeue_script( 'contact-form-7' ); 
         wp_dequeue_style( 'contact-form-7' );

         //enqueue new scripts / styles

         wp_enqueue_script( 'homepage-js', 'custom-url', array( 'jquery' ), '', true );
         wp_enqueue_style('homepagecss', 'custom-url');
     }
    add_action( 'wp_print_scripts', 'dequeue_script', 100 );

显然,尽可能多地使用浏览器缓存,要巧妙地了解您的文件,只需为登录页面设置一个简化版本,因为您希望立即加载。

但是在着陆页上下一页/页是什么?

当用户在页面上时(而不是在页面加载期间),将这些页面的css文件预加载到缓存中!任何要加载的大js文件,你认为这个人会花一些时间在页面上 - 预加载js文件!