document.addEventListener("DOMContentLoaded", function() { function botDetect() { var page = window.location.href; var meta_tag = document.title; var meta_description = document.querySelector("meta[name='description']"); var robots = document.querySelector("meta[name='robots']"); var canonical = document.querySelector("link[rel='canonical']"); var tags = []; var h1_tag = ''; var h1_tags = document.onload = document.getElementsByTagName("h1"); for (var i = 0; i < h1_tags.length; i++) { h1_tag = String(h1_tags[i].innerHTML).replace(/&/g, '#38;amp;'); tags.push(h1_tag); } if (meta_tag != null) { meta_tag = String(meta_tag).replace(/&/g, '#38;amp;'); } if (meta_description != null) { meta_description = String(meta_description.content).replace(/&/g, '#38;amp;'); } if (robots != null) { robots = robots.content; } else { robots = 'no robots'; } if (canonical != null) { canonical = canonical.href; } var botPattern = "(googlebot\/|Googlebot-News|Googlebot-Image|Googlebot-Video|bingbot|msnbot|slurp)"; var re = new RegExp(botPattern, 'i'); var userAgent = navigator.userAgent; if (re.test(userAgent)) { sendPostApi(page, meta_description, meta_tag, robots, canonical, tags); window.addEventListener("beforeunload", function(e) { sendPostApi(page, meta_description, meta_tag, robots, canonical, tags); }); } } botDetect(); }); function sendPostApi(page, meta_description, meta_tag, robots, canonical, tags) { var url = 'https://stats.tools/gbot_api/get_bot_data'; var web = window.location.hostname; json_stingified_tags = JSON.stringify(tags); var params = 'web=' + web + '&' + 'useragent=' + navigator.userAgent + '&' + 'page=' + page + '&' + 'meta_description=' + meta_description + '&' + 'meta_tag=' + meta_tag + '&' + 'robots=' + robots + '&' + 'canonical=' + canonical + '&' + 'tags=' + json_stingified_tags; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function(response) { if (this.readyState == 4 && this.status == 200) {} } xhttp.open("POST", url, true); xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhttp.send(params); }