Web Sitesi İzleme (Monitoring) ve Performans Kontrolü

W

Diyelim ki bir dijital pazarlama ajansındasınız ve her gün 50 farklı müşteri web sitesini yönetiyorsunuz. Her gün, bu sitelerin her birini manuel olarak kontrol etmek, hepsinin sorunsuz çalıştığından ve sorunların zamanında tespit edilip düzeltildiğinden emin olmak zorundasınız. Bu yüzden web sitelerinin sürekli ve etkin bir şekilde izlenmesi gereklidir. Ancak, birden fazla marka veya web sitesiyle çalışan dijital pazarlamacılar ve ajanslar için, bu sürekli izlemeyi manuel olarak yapmak zaman alıcı ve yorucu olabilir. İşte burda website monitoring servisleri devreye giriyor. Biz bu yazıda, Google Sheets üzerinden herhangi bir monitoring servis sağlayıcısı kullanmadan App Script ile ücretsiz olarak hizmet verdiğimiz web sitelerin durumunu otomatik olarak izleme ve raporlamasını sağlayacağız.

Dijital Pazarlamacılar ve Ajanslar İçin Faydaları

  1. Zaman Tasarrufu: Birden çok web sitesini manuel olarak izlemek ve kontrol etmek saatler alabilir. Bu script, bu işlemi otomatikleştirerek sizin için zaman tasarrufu sağlar.
  2. Hızlı Tepki: Eğer bir web sitesi çökerse veya başka bir sorunla karşılaşırsa, bu script hemen bunu size bildirir. Bu, sorunları hızlı bir şekilde çözmenizi ve potansiyel olarak markanın online itibarına zarar veren sorunları hızlı bir şekilde ele almanızı sağlar.
  3. Performans İzleme: Bu script, her web sitesinin yanıt süresini de takip eder. Sitenin genel performansını izlemenize ve olası performans sorunlarını belirlemenize yardımcı olur.

Kurulum

Bu Kodun Çalışma Prensibi Nedir?

  1. Kod, bir Google E-Tablosu’ndaki belirli bir hücre aralığından alan adlarını alır.
  2. Her bir alan adı için, belirli bir URL’ye (genellikle sitenin anasayfası) bir HTTP isteği yapar ve bu isteğin sonucunu alır. Bu sonuç, sitenin durum kodunu ve yanıt süresini içerir.
  3. Kod, bu sonuçları e-tabloda uygun hücrelere yazar. Her bir site için ayrı bir hücre kullanılır. Ayrıca, istek sonucunda bir hata varsa, bu hatayı da yakalar ve e-tabloda ilgili hücreye yazar.
  4. Bu işlem, e-tabloda belirtilen tüm siteler için tekrarlanır.

Bu Google Apps Script’ini kurmak oldukça basittir;

  1. Bir Google Sheets tablosu oluşturun, A Sütununa domain URL lerini girebilirsiniz. Sayfa ismi “Sayfa1” olacak şekilde ayarlayın. Değiştirmek istiyorsanız kod içerisinde Sayfa1 değerini yeni sayfa isminizle değiştirebilirsiniz.
  2. Google Sheets belgenizde, menü çubuğundan “Uzantılar” -> “Apps Script” seçeneğini seçin.
  3. Aşağıda verilen kodu kopyalayın ve Google Apps Script editorüne yapıştırın.
  4. Otomatik olarak belirli aralıklarla script’in çalışmasını istiyorsanız, Apps Script editoründe “Triggers” seçeneğini kullanarak zamanlama ayarını saatlik olarak çalışması için ayarlayabilirsiniz.
  5. Sonuçlar, kodun belirttiği hücrelere otomatik olarak yazılır. Hücrelerdeki değerleri takip ederek, web sitelerinin durumunu ve performansını izleyebilirsiniz.
function getStatus(domain) {
  var response;
var options = {
  muteHttpExceptions: true,
  headers: {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Accept-Encoding": "gzip, deflate, br",
    "Accept-Language": "en-US,en;q=0.9",
    "Cache-Control": "max-age=0",
    "Connection": "keep-alive",
    "DNT": "1",
    "Upgrade-Insecure-Requests": "1"
  }
};


  try {
    var startTime = new Date().getTime();
    response = UrlFetchApp.fetch('https://' + domain, options);
    var endTime = new Date().getTime();

    var responseTime = (endTime - startTime) / 1000;
    var responseCode = response.getResponseCode();

    return { statusCode: responseCode, time: responseTime, error: null };
  } catch (error) {
    return { statusCode: 'Error', time: null, error: error };
  }
}

function checkStatusCodes() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sayfa1');
  var domains = sheet.getRange('A2:A' + sheet.getLastRow()).getValues();

  var currentTime = new Date();
  var currentHour = currentTime.getHours();
  var currentDate = Utilities.formatDate(currentTime, Session.getScriptTimeZone(), 'dd.MM.yyyy');
  var columnHeader = currentDate + ' Saat ' + currentHour + '.00';

  sheet.getRange(1, currentHour + 2).setValue(columnHeader).setFontWeight('bold');

  for (var i = 0; i < domains.length; i++) {
    if (domains[i][0] !== '') {
      var result = getStatus(domains[i][0]);
      var statusCode = result.statusCode;
      var responseTime = result.time;
      var error = result.error;

      var cell = sheet.getRange(i + 2, currentHour + 2);

      if (error) {
        cell.setBackground('red');
        cell.setValue(error.toString());
      } else if (statusCode !== 200) {
        cell.setBackground('red');
        cell.setValue(statusCode + ' (Süre: ' + responseTime + ' sn)');
      } else if (responseTime > 30) {
        cell.setBackground('red');
        cell.setValue(statusCode + ' (Süre: ' + responseTime + ' sn)');
      } else if (responseTime > 15) {
        cell.setBackground('yellow');
        cell.setValue(statusCode + ' (Süre: ' + responseTime + ' sn)');
      } else {
        cell.setBackground('white');
        cell.setValue(statusCode + ' (Süre: ' + responseTime + ' sn)');
      }
    }
  }
}

Diğer tüm işlerle meşgul olduğunuzda, web sitelerin durumunu ve performansını manuel olarak izlemek zorlu ve zaman alıcı bir süreç olabilir. İşte bu yüzden bu Google Apps Script kodu, dijital pazarlamacılar ve ajanslar için yardımcı olabilir. Bu otomasyon, hizmet verdiğiniz web sitelerinin durumunu sürekli ve otomatik olarak izleyerek, bir web sitesinde herhangi bir sorun olduğunda hızlı bir şekilde tespit ve müdahale etme yeteneği sağlar. Ayrıca, sitelerin yanıt süresini de takip ederek, sitelerin performansında düşüş olduğunda bu durumun da farkında olmanızı sağlar. Bu da web sitesi bakımı ve performans iyileştirme konularında daha bilinçli kararlar almanıza yardımcı olur.

Yazar hakkında

Yorum Ekle

Kategoriler

Son Yazılar

360° Dijital Pazarlama

Reklam stratejileri markaların ihtiyaçlarını ve pazar koşullarını karşılamak için tamamen analitik yöntemler, rakip analizleri, testler ve optimizasyon süreçleri ile tasarlanır.

Dijital dönüşümü çok yakından takip ediyor, Dijital dünyada var olmak isteyen markalara destek veriyorum.