对于我测试的所有站点,Lighthouse "mobile-friendly" 返回 false
Lighthouse's "mobile-friendly" returning false for all sites I test
我正在使用 Google 的 Lighthouse 性能测试工具的 CLI 版本来测量大量网站的某些属性。我将结果作为 JSON 传递给 STDOUT,然后传递给 Node 脚本,该脚本将我感兴趣的值提取到 CSV 文件中。
其中一项收集的措施是 audits.mobile-friendly.rawValue
,我希望它能成为通过 Google 的移动友好测试的标志。因此,假设移动优化网站的价值为 true
。我为大约 2,000 个网站收集了这个值,并且全部返回 false
。
这是我对命令行进行的示例调用:
lighthouse http://nytimes.com --disable-device-emulation --disable-network-throttling --chrome-flags="--headless" --output "json" --quiet --output-path "stdout" | node lighthouse_parser.js >> speed_log.csv
这是该命令的输出:
"data_url","data_score","data_total_byte_weight","data_consistently_interactive_time","data_first_interactive_time","data_is_on_https","data_redirects_http","data_mobile_friendly","timestamp"
"https://www.nytimes.com/",18.181818181818183,4211752,,18609.982,false,true,false,"2018-04-02T17:16:39-04:00"
这是我的 lighthouse_parser.js
:
的代码
var moment = require('moment');
var getStdin = require('get-stdin');
var json2csv = require('json2csv');
var timestamp = moment().format();
getStdin().then(str => {
try {
process_files(str);
} catch (error) {
console.error(error);
}
});
function process_files(this_file) {
var obj = JSON.parse(this_file);
var data_url = obj.url;
var data_score = obj.score;
var data_total_byte_weight = obj.audits['total-byte-weight'].rawValue;
var data_consistently_interactive_time = obj.audits['consistently-interactive'].rawValue;
var data_first_interactive_time = obj.audits['first-interactive'].rawValue;
var data_is_on_https = obj.audits['is-on-https'].rawValue;
var data_redirects_http = obj.audits['redirects-http'].rawValue;
var data_mobile_friendly = obj.audits['mobile-friendly'].rawValue;
var the_result = {
"data_url": data_url,
"data_score": data_score,
"data_total_byte_weight": data_total_byte_weight,
"data_consistently_interactive_time": data_consistently_interactive_time,
"data_first_interactive_time": data_first_interactive_time,
"data_is_on_https": data_is_on_https,
"data_redirects_http": data_redirects_http,
"data_mobile_friendly": data_mobile_friendly,
"timestamp": timestamp,
};
var return_this = json2csv({
data: the_result,
header: false
});
console.log(return_this);
}
我无法在任何网站上获得 audits.mobile-friendly.rawValue
的 true
值。
对我做错了什么有什么想法吗?
您在此处查看的 mobile-friendly
审核结果是:
它本质上是一个占位符审核,告诉您使用 Mobile-Friendly 测试。所以,的确,它的价值永远不会改变。 ;)
viewport
、content-width
和(在某种程度上)font-size
审核可用于提供移动友好性的定义,这与专用 MFT returns.
我正在使用 Google 的 Lighthouse 性能测试工具的 CLI 版本来测量大量网站的某些属性。我将结果作为 JSON 传递给 STDOUT,然后传递给 Node 脚本,该脚本将我感兴趣的值提取到 CSV 文件中。
其中一项收集的措施是 audits.mobile-friendly.rawValue
,我希望它能成为通过 Google 的移动友好测试的标志。因此,假设移动优化网站的价值为 true
。我为大约 2,000 个网站收集了这个值,并且全部返回 false
。
这是我对命令行进行的示例调用:
lighthouse http://nytimes.com --disable-device-emulation --disable-network-throttling --chrome-flags="--headless" --output "json" --quiet --output-path "stdout" | node lighthouse_parser.js >> speed_log.csv
这是该命令的输出:
"data_url","data_score","data_total_byte_weight","data_consistently_interactive_time","data_first_interactive_time","data_is_on_https","data_redirects_http","data_mobile_friendly","timestamp"
"https://www.nytimes.com/",18.181818181818183,4211752,,18609.982,false,true,false,"2018-04-02T17:16:39-04:00"
这是我的 lighthouse_parser.js
:
var moment = require('moment');
var getStdin = require('get-stdin');
var json2csv = require('json2csv');
var timestamp = moment().format();
getStdin().then(str => {
try {
process_files(str);
} catch (error) {
console.error(error);
}
});
function process_files(this_file) {
var obj = JSON.parse(this_file);
var data_url = obj.url;
var data_score = obj.score;
var data_total_byte_weight = obj.audits['total-byte-weight'].rawValue;
var data_consistently_interactive_time = obj.audits['consistently-interactive'].rawValue;
var data_first_interactive_time = obj.audits['first-interactive'].rawValue;
var data_is_on_https = obj.audits['is-on-https'].rawValue;
var data_redirects_http = obj.audits['redirects-http'].rawValue;
var data_mobile_friendly = obj.audits['mobile-friendly'].rawValue;
var the_result = {
"data_url": data_url,
"data_score": data_score,
"data_total_byte_weight": data_total_byte_weight,
"data_consistently_interactive_time": data_consistently_interactive_time,
"data_first_interactive_time": data_first_interactive_time,
"data_is_on_https": data_is_on_https,
"data_redirects_http": data_redirects_http,
"data_mobile_friendly": data_mobile_friendly,
"timestamp": timestamp,
};
var return_this = json2csv({
data: the_result,
header: false
});
console.log(return_this);
}
我无法在任何网站上获得 audits.mobile-friendly.rawValue
的 true
值。
对我做错了什么有什么想法吗?
您在此处查看的 mobile-friendly
审核结果是:
它本质上是一个占位符审核,告诉您使用 Mobile-Friendly 测试。所以,的确,它的价值永远不会改变。 ;)
viewport
、content-width
和(在某种程度上)font-size
审核可用于提供移动友好性的定义,这与专用 MFT returns.