Kontrollige HTTP olekukoodi valemit Google Sheetsis rakenduste skripti abil

Kui brändid kaotavad orgaanilise edetabeli edetabelis, hakkavad nad linkidele osutama. 404 lehtiTagasilingid on edetabeli seisukohalt kriitilise tähtsusega, seega kui link on katki, ei anna te sihtlehele volitusi ja selle tulemusel võib selle (nagu ka kogu teie domeeni) edetabel langeda.
Sagedaste tagasilinkide auditite tegemine, et tagada vanemate linkide suunamine asjakohastele sihtlehtedele, on 1. Kasutades sellist tööriista nagu Semrush, saate oma tagasilinke eksportida. Kuigi neil on tavaliselt sisemine tööriist tagasilingi toimivuse kontrollimiseks, on see sageli aegunud.
Rakenduste skripti HTTP olekukoodi funktsioon
Selle asemel impordin tagasilingid ühte Google Sheet ja nuputasin välja lihtsa viisi iga tagasilingi oleku ja selle toimimise kontrollimiseks. Selleks kirjutasin Google'i rakenduste skripti abil väikese funktsiooni.

Selle lisamiseks avage Laiendused > Rakenduste skript ja kleebi järgmine kood:
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);
} Salvesta ja naase arvutustabelisse. Seejärel saad funktsiooni lisada lahtrisse B2:
=getStatusCode(A2) See funktsioon kontrollib antud URL-i HTTP vastusekoodi. Esmalt kontrollib see, kas sisend on string ja eemaldab kõik liigsed tühikud. Kui kehtivat URL-i pole sisestatud, tagastab see URL-i poleSeejärel kasutab funktsioon sisseehitatud CacheService'i, et salvestada eelnevalt hangitud olekukoode kuni kuueks tunniks (21 600 sekundiks), vältides sama URL-i jaoks topeltvõrgupäringuid.
Kui URL-i vahemällu ei salvestata, teeb see HTTP-päringu, kasutades funktsiooni UrlFetchApp.fetch() ja lubades valiku muteHttpExceptions, mis võimaldab skriptil jäädvustada olekukoode isegi ebaõnnestunud päringute puhul ning määrata followRedirects väärtuseks true, et see järgiks automaatselt kõiki ümbersuunamisi. Kui vastus on saadud, salvestab see saadud HTTP-olekukoodi vahemällu ja tagastab selle täisarvuna.
Valemi lisamine oma Google'i arvutustabelile
Lohistage valemit kogu arvutustabelis. Iga lingi lahendamiseks peate andma sellele veidi aega ja kood täidetakse olekuväljal. Nüüd saate tuvastada iga lingi, mis viib 404ja saate selle ümbersuunamisega asjakohasesse sihtkohta tegeleda.

Oluline on märkida, et see funktsioon ei käivitu koheselt. Iga võrgukutse funktsioonile UrlFetchApp.fetch() võtab lahendamiseks aega ja mitme URL-i töötlemisel võib kumulatiivne viivitus olla märkimisväärne. Arendajad peaksid vahemällu salvestamist tõhusalt kasutama ning suurte URL-ide loenditega töötamisel kaaluma kiiruse piiramise või partiidena töötlemise rakendamist, et vältida skriptide ajalõpu või täitmiskvootide ületamist rakenduste skriptis.



