Google Sheets дээрх HTTP статус кодын томъёог Apps Script ашиглан шалгана уу

Брэндүүд органик зэрэглэлээ алдахын хэрээр буцах холбоосууд руу чиглэдэг 404 хуудас. Буцах линк нь зэрэглэл тогтооход чухал ач холбогдолтой тул холбоос эвдэрсэн тохиолдолд та очих хуудас руу эрх мэдэл шилжүүлэхгүй бөгөөд үүний үр дүнд энэ нь зэрэглэлээ алдаж болно (та бүхэл бүтэн домэйн байж болно).
Хуучин холбоосууд нь холбогдох хуудсуудыг чиглүүлдэг хэвээр байхын тулд буцах холбоосын аудитыг байнга хийх нь 1. гэх мэт хэрэгслийг ашиглах Семрюс, та буцах холбоосуудаа экспортлох боломжтой. Тэд ихэвчлэн буцах холбоос шийдэгдэж байгаа эсэхийг шалгах дотоод хэрэгсэлтэй байдаг ч энэ нь ихэвчлэн хуучирсан байдаг.
Програмын скрипт дэх HTTP статус кодын функцийг авах
Үүний оронд би буцах холбоосыг a Google Шийт мөн буцах холбоос бүрийн статусыг шалгах хялбар аргыг олж мэдсэн бөгөөд энэ нь шийдэгдэж байгаа эсэхийг олж мэдэв. Үүнийг хийхийн тулд би Google-ийн Apps Script ашиглан жижиг функц бичсэн.

Үүнийг нэмэхийн тулд нээнэ үү Өргөтгөлүүд > Апп скрипт мөн дараах кодыг оруулна уу:
function getStatusCode(url) {
const url_trimmed = typeof url === 'string' ? url.trim() : '';
if (!url_trimmed) {
return 'No URL';
}
let cache = CacheService.getScriptCache();
let result = cache.get(url_trimmed);
if (!result) {
const options = {
'muteHttpExceptions': true,
'followRedirects': true // Set to false if you want to detect redirects instead of following them
};
const response = UrlFetchApp.fetch(url_trimmed, options);
const responseCode = response.getResponseCode();
cache.put(url_trimmed, responseCode.toString(), 21600);
result = responseCode.toString();
}
return parseInt(result);
} Хадгалаад хүснэгт рүү буцна уу. Дараа нь та B2 дахь нүдэнд функцийг нэмж болно:
=getStatusCode(A2) Энэ функц нь өгөгдсөн URL-ийн HTTP хариултын кодыг шалгадаг. Энэ нь эхлээд оролт нь мөр гэдгийг баталгаажуулж, нэмэлт хоосон зайг арилгадаг. Хүчинтэй URL өгөөгүй бол буцаана URL байхгүй. Дараа нь уг функц нь өмнө нь татаж авсан статусын кодыг зургаан цаг (21,600 секунд) хүртэл хадгалахын тулд суулгасан CacheService-ийг ашигладаг бөгөөд энэ нь ижил URL-ийн сүлжээний нэмэлт хүсэлтээс зайлсхийдэг.
Хэрэв URL нь кэшдээ хадгалагдаагүй бол muteHttpExceptions сонголтыг идэвхжүүлсэн UrlFetchApp.fetch() ашиглан HTTP хүсэлтийг гүйцэтгэж, скриптэд бүтэлгүйтсэн хүсэлтээс ч статусын кодыг авах боломжийг олгодог ба followRedirects-ийг үнэн болгож тохируулснаар аливаа дахин чиглүүлэлт автоматаар дагах болно. Хариултыг хүлээн авмагц үүссэн HTTP статусын кодыг кэшэнд хадгалж, бүхэл тоо болгон буцаана.
Таны Google хүснэгтэд томьёо нэмж байна
Томьёог хүснэгтийн турш чир. Холбоос бүрийг шийдвэрлэхийн тулд та түүнд тодорхой хугацаа өгөх шаардлагатай бөгөөд код нь Status талбарт бөглөх болно. Одоо та a руу орох холбоос бүрийг тодорхойлох боломжтой 404, мөн та үүнийг холбогдох газар руу дахин чиглүүлэхээр ажиллаж болно.

Энэ функц нь шууд ажиллахгүй гэдгийг анхаарах нь чухал юм. UrlFetchApp.fetch() руу хийх сүлжээний дуудлага бүрийг шийдвэрлэхэд цаг хугацаа шаардагдах бөгөөд олон URL-г боловсруулах үед хуримтлагдсан саатал ихээхэн байж болно. Хөгжүүлэгчид кэшийг үр дүнтэй ашиглах ёстой бөгөөд URL-уудын том жагсаалттай ажиллахдаа скриптийн хугацаа хэтрэх эсвэл Apps Script-д гүйцэтгэх квотыг хэтрүүлэхгүйн тулд хурдыг хязгаарлах эсвэл багцлах талаар бодож үзэх хэрэгтэй.



