当我在GTmetrix上查看我的WordPress网站时,我收到此消息"跨主机名并行化下载"> https://gtmetrix.com
以下是详细信息> https://gtmetrix.com/parallelize-downloads-across-hostnames.html
我该如何解决这个问题?
细节
Web浏览器限制了它们将对主机进行的并发连接数.当需要下载许多资源时,将形成等待下载的积压资源.浏览器将允许浏览器同时连接到服务器,以便下载这些资源,但随后将排队其余并等待请求完成.
等待连接完成所花费的时间称为阻止,减少此阻塞时间可能会导致加载页面更快.下面的瀑布图显示了一个从同一主机加载45个资源的页面.请注意资源在下载(紫色段)之前等待空闲连接的时间长度(棕色段).
所以这是在WordPress上实现它的黑客攻击.
为了正常工作,所有子域/主机名必须具有相同的结构/路径.例如:
example.com/wp-content/uploads/2015/11/myimage.jpg
media1.example.com/wp-content/uploads/2015/11/myimage.jpg
media2.example.com/wp-content/uploads/2015/11/myimage.jpg
添加到functions.php
function parallelize_hostnames($url, $id) { $hostname = par_get_hostname($url); $url = str_replace(parse_url(get_bloginfo('url'), PHP_URL_HOST), $hostname, $url); return $url; } function par_get_hostname($name) { //add your subdomains below, as many as you want. $subdomains = array('media1.mydomain.com','media2.mydomain.com'); $host = abs(crc32(basename($name)) % count($subdomains)); $hostname = $subdomains[$host]; return $hostname; } add_filter('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);