这里有一个 google sheet 可以免费复制
https://www.thetechseo.com/seo-tools/redirect-checker/
它完美地提供了跳转、代码和目的地。
以防万一(工作表/页面丢失)我在此处粘贴脚本编辑器中的代码(这些代码都不是我的)。
function redirectCheck(url, user, pwd) {
try {
function getResp(url, user, pwd){
var resp = UrlFetchApp.fetch(url, {
muteHttpExceptions: true,
followRedirects: false,
headers: {
'Authorization': 'Basic ' + Utilities.base64Encode(user+':'+pwd)
}
});
return resp;
}
var response = getResp(url, user, pwd);
var rCode = response.getResponseCode();
var redirectCount = 0;
var tCode = rCode.toString();
var location = url;
var domain = getDomain(url);
while (rCode == 301 || rCode == 302 && redirectCount <= 10) {
redirectCount++;
header = response.getHeaders();
location = getFullUrl(header['Location'],domain);
domain = getDomain(location);
Logger.log('location: '+location);
response = getResp(location, user, pwd);
rCode = response.getResponseCode();
tCode = tCode + " > " + rCode.toString();
Utilities.sleep(500);// pause in the loop for 500 milliseconds
}
Logger.log('redirectCount: '+redirectCount);
return tCode + "|" + redirectCount + "|" + location;
} catch (error) {
Logger.log(error);
return "Error| |"+error;
}
}
function getDomain(url) {
var domain = '',
protocol;
if (url.indexOf("://") > -1) {
domain = url.split('/')[2];
protocol = url.split('/')[0];
//remove port number
domain = domain.split(':')[0];
//add protocol back
domain = protocol+"//"+domain;
}
return domain;
}
function getFullUrl(url,prevDom) {
var fullUrl,
domain = getDomain(url);
if(domain == ''){
fullUrl = prevDom+url;
} else {
fullUrl = url;
}
return fullUrl;
}
function redirectCheckTest() {
var test = redirectCheck('http://blog.pexcard.com/contractors/building-budget-construction-business/');
Logger.log('test: '+test);
}
还有公式
在G中
=IF(H11=200,"Not Redirected",IF(ISBLANK(C11),"",if(C11=J11,"Good","Bad")))
在 H
=IF(ISBLANK(B11),"",split(redirectCheck(B11,$L$5,$L$6),"|"))
它不仅可以让您发现问题(错误代码),还可以通过将链接替换为最终目的地来提高链接质量。