Today, I will show you a way to check for the existence of Google Ads through a script or implementation, similar to what exists on Blogger. I haven't tested it very thoroughly, but it seems functional and is a good starting point in programming with GAScript. I used a spreadsheet and entered a personal Blogger in cell A2. I still recommend following Google's conditions because Google is very clever at detecting fakes and has protections even against attacks...
function onOpen() {
// Creează un meniu personalizat în Spreadsheet
var ui = SpreadsheetApp.getUi();
ui.createMenu('Verificare Reclame Blogger')
.addItem('Verifică Reclame', 'checkBloggerAds')
.addItem('Verifică și Trimite Email', 'checkBloggerAdsAndEmail')
.addToUi();
}
function checkBloggerAds() {
// Obține foaia activă
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Citește datele din coloana A (website-urile)
var range = sheet.getRange("A2:A" + sheet.getLastRow());
var urls = range.getValues();
var results = [];
// Indicatori specifici pentru Google Ads/AdSense pe Blogger
var adsScriptPattern = "adsbygoogle.js"; // Pentru coloana B
var bloggerAdsPatterns = [
"data-ad-client", // Atribut specific AdSense
"google_ad_client", // Folosit în codurile mai vechi sau automate
'class="adsbygoogle"' // Tag-ul <ins> folosit pentru reclame
];
// Verifică fiecare URL
for (var i = 0; i < urls.length; i++) {
var url = urls[i][0];
if (url) { // Verifică dacă URL-ul nu este gol
try {
var response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
var content = response.getContentText();
var scriptFound = content.includes(adsScriptPattern);
var bloggerAdsFound = false;
// Verifică indicatorii specifici Blogger
for (var j = 0; j < bloggerAdsPatterns.length; j++) {
if (content.includes(bloggerAdsPatterns[j])) {
bloggerAdsFound = true;
break;
}
}
// Adaugă rezultatele pentru coloanele B și C
results.push([scriptFound ? "Da" : "Nu", bloggerAdsFound ? "Da" : "Nu"]);
} catch (e) {
results.push(["Eroare: " + e.message, "Eroare: " + e.message]);
}
} else {
results.push(["", ""]);
}
}
// Scrie rezultatele în coloanele B și C
if (results.length > 0) {
sheet.getRange(2, 2, results.length, 2).setValues(results);
}
}
function checkBloggerAdsAndEmail() {
// Obține foaia activă
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Citește datele din coloana A (website-urile)
var range = sheet.getRange("A2:A" + sheet.getLastRow());
var urls = range.getValues();
var results = [];
var emailBody = "Rezultatele verificării reclamelor Google Ads pe blogurile Blogger:\n\n";
emailBody += "URL | Script adsbygoogle.js | Implementare Blogger\n";
// Indicatori specifici pentru Google Ads/AdSense pe Blogger
var adsScriptPattern = "adsbygoogle.js"; // Pentru coloana B
var bloggerAdsPatterns = [
"data-ad-client",
"google_ad_client",
'class="adsbygoogle"'
];
// Verifică fiecare URL și construiește corpul email-ului
for (var i = 0; i < urls.length; i++) {
var url = urls[i][0];
if (url) { // Verifică dacă URL-ul nu este gol
try {
var response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
var content = response.getContentText();
var scriptFound = content.includes(adsScriptPattern);
var bloggerAdsFound = false;
// Verifică indicatorii specifici Blogger
for (var j = 0; j < bloggerAdsPatterns.length; j++) {
if (content.includes(bloggerAdsPatterns[j])) {
bloggerAdsFound = true;
break;
}
}
// Adaugă rezultatele pentru coloanele B și C și la email
results.push([scriptFound ? "Da" : "Nu", bloggerAdsFound ? "Da" : "Nu"]);
emailBody += `${url} | ${scriptFound ? "Da" : "Nu"} | ${bloggerAdsFound ? "Da" : "Nu"}\n`;
} catch (e) {
results.push(["Eroare: " + e.message, "Eroare: " + e.message]);
emailBody += `${url} | Eroare: ${e.message} | Eroare: ${e.message}\n`;
}
} else {
results.push(["", ""]);
}
}
// Scrie rezultatele în coloanele B și C
if (results.length > 0) {
sheet.getRange(2, 2, results.length, 2).setValues(results);
}
// Trimite email-ul
MailApp.sendEmail({
to: "catalinfest@gmail.com",
subject: "Rezultate Verificare Reclame Google Ads pe Blogger",
body: emailBody
});
}