dns-prefetch是在加载网站时预先读取整站请求中的各个链接的dns以达到加速加载的目的,依靠meta标签中的http-equiv="x-dns-prefetch-control"来触发,参考这里:Controlling DNS prefetching

那么如何实现这种加速方法?只需要如下两个步骤:

一、设置cookies

我们不需要在每个页面的头部都进行预读,只要曾经预读过就可以进行记录,这样继续打开网站中的其他页面时就不用重复预读了,所以要设置一个cookies记录访客的操作。将以下代码加入functions.php

// 设置cookies
add_action('after_setup_theme', 'set_newuser_cookie');
function set_newuser_cookie() {
    if (!isset($_COOKIE['inlo_cookie'])) {
        setcookie('inlo_cookie', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);
    }
}

二、加载dns-prefetch

将下面的代码放在网站头部的</head>结束标签之前

<?php
if (is_home()) { //判断当前页面是否为首页
    echo '<meta http-equiv="x-dns-prefetch-control" content="on" /> 
<link rel="dns-prefetch" href="//7u2fs5.com1.z0.glb.clouddn.com/" />
<link rel="dns-prefetch" href="//apps.bdimg.com/" />
<link rel="dns-prefetch" href="//tp4.sinaimg.cn/" />
<link rel="dns-prefetch" href="//s96.cnzz.com/" />
<link rel="dns-prefetch" href="//z2.cnzz.com/" />
<link rel="dns-prefetch" href="//c.cnzz.com/" />
<link rel="dns-prefetch" href="//cnzz.mmstat.com/" />
<link rel="dns-prefetch" href="//pcookie.cnzz.com/" />';
} elseif (isset($_COOKIE['inlo_cookie'])) { //若为初次访问
        echo '';
            }
        else {//否则
        echo '<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="//7u2fs5.com1.z0.glb.clouddn.com/" />
<link rel="dns-prefetch" href="//apps.bdimg.com/" />
<link rel="dns-prefetch" href="//tp4.sinaimg.cn/" />
<link rel="dns-prefetch" href="//s96.cnzz.com/" />
<link rel="dns-prefetch" href="//z2.cnzz.com/" />
<link rel="dns-prefetch" href="//c.cnzz.com/" />
<link rel="dns-prefetch" href="//cnzz.mmstat.com/" />
<link rel="dns-prefetch" href="//pcookie.cnzz.com/" /> ';
            }
?>

代码中的域名就是加载网站时各个请求的链接域名,改成你自己的即可。另外,你也可以将这些代码单独写成一个php文件在头部进行引用。