Праверце формулу кода стану HTTP ў Google Табліцах з дапамогай Apps Script

Па меры таго, як брэнды губляюць арганічны рэйтынг, у іх з'яўляюцца зваротныя спасылкі, якія паказваюць на 404 старонкіЗваротныя спасылкі маюць вырашальнае значэнне для ранжыравання, таму, калі спасылка не працуе, вы не перадаеце аўтарытэт мэтавай старонцы, і ў выніку яе рэйтынг можа знізіцца (як і ўвесь ваш дамен).
Рэгулярнае правядзенне аўдыту зваротных спасылак, каб пераканацца, што старыя спасылкі ўсё яшчэ вядуць на адпаведныя старонкі прызначэння, з'яўляецца 1. Выкарыстанне такога інструмента, як SEMrush, вы можаце экспартаваць свае зваротныя спасылкі. Хоць звычайна ў іх ёсць унутраны інструмент для праверкі таго, ці вырашаецца зваротная спасылка, ён часта састарэў.
Функцыя атрымання кода стану HTTP ў Apps Script
Замест гэтага я імпартую зваротныя спасылкі ў Google Sheet і знайшоў просты спосаб праверыць статус кожнай зваротнай спасылкі і ці яна працуе. Для гэтага я напісаў невялікую функцыю з дапамогай Google Apps Script.

Каб дадаць яго, адкрыйце Пашырэнні > 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) Гэтая функцыя правярае код адказу HTTP для зададзенага URL-адраса. Спачатку яна правярае, ці з'яўляецца ўвод радком, і выдаляе лішнія прабелы. Калі сапраўдны URL-адрас не пададзены, яна вяртае значэнне Няма URL-адрасаЗатым функцыя выкарыстоўвае ўбудаваны CacheService для захоўвання раней атрыманых кодаў стану на тэрмін да шасці гадзін (21 600 секунд), пазбягаючы лішніх сеткавых запытаў для таго ж URL-адраса.
Калі URL-адрас не кэшыруецца, выконваецца HTTP-запыт з дапамогай UrlFetchApp.fetch() з уключанай опцыяй muteHttpExceptions, што дазваляе скрыпту захопліваць коды стану нават з няўдалых запытаў, а для followRedirects усталявана значэнне true, каб аўтаматычна выконваць любыя перанакіраванні. Пасля атрымання адказу захоўваецца атрыманы код стану HTTP у кэшы і вяртаецца ў выглядзе цэлага ліку.
Даданне формулы ў вашу табліцу Google
Перацягніце формулу па электроннай табліцы. Вам спатрэбіцца некаторы час для вырашэння кожнай спасылкі, і код з'явіцца ў полі «Стан». Цяпер вы можаце вызначыць кожную спасылку, якая вядзе да 404, і вы можаце перанакіраваць яго ў адпаведны пункт прызначэння.

Важна адзначыць, што гэтая функцыя не выконваецца імгненна. Кожны сеткавы выклік UrlFetchApp.fetch() патрабуе часу для вырашэння, і пры апрацоўцы некалькіх URL-адрасоў сукупная затрымка можа быць значнай. Распрацоўшчыкам варта эфектыўна выкарыстоўваць кэшаванне і, пры працы з вялікімі спісамі URL-адрасоў, разгледзець магчымасць абмежавання хуткасці або пакетнай апрацоўкі, каб пазбегнуць тайм-аўтаў скрыптоў або перавышэння квот выканання ў Apps Script.



