CINXE.COM
Social Explorer - Majestic
<!DOCTYPE html> <html lang="en" theme=""> <head> <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({"ustatus":"G","uxg":"b"}); </script> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WL6MF3T'); </script> <script> window.gaEvent = function() { if(typeof(window.dataLayer) !== 'object') { return; } if(arguments.length == 1) { window.dataLayer.push({'event': arguments[0]}); } else if(arguments.length == 3) { window.dataLayer.push({ 'event': arguments[1], 'event_category': arguments[0], 'event_label': arguments[2] }); } else { console.warn('Invalid use of gaEvent(). Expects 1 or 3 parameters.'); } }; </script> <meta http-equiv="X-UA-Compatible" content="IE=edge" > <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="View the top 1 Million Twitter / X accounts, broken down by their Topical Trust Flow"> <meta name="viewport" content="initial-scale=1.0"> <title>Social Explorer - Majestic</title> <link href="/static/images/icons/touch-icons/apple-touch-icon.png" rel="apple-touch-icon" /> <link href="/static/images/icons/touch-icons/apple-touch-icon-152x152.png" rel="apple-touch-icon" sizes="152x152" /> <link href="/static/images/icons/touch-icons/apple-touch-icon-167x167.png" rel="apple-touch-icon" sizes="167x167" /> <link href="/static/images/icons/touch-icons/apple-touch-icon-180x180.png" rel="apple-touch-icon" sizes="180x180" /> <link href="/static/images/icons/touch-icons/icon-hires.png" rel="icon" sizes="192x192" /> <link href="/static/images/icons/touch-icons/icon-normal.png" rel="icon" sizes="128x128" /> <link rel="icon" type="image/png" href="/static/images/majestic/favicon.png"> <link rel="icon" type="image/png" href="/static/images/icons/touch-icons/favicon-320x320.png" sizes="320x320" /> <link rel="icon" type="image/png" href="/static/images/icons/touch-icons/favicon-196x196.png" sizes="196x196" /> <link rel="icon" type="image/png" href="/static/images/icons/touch-icons/favicon-96x96.png" sizes="96x96" /> <link rel="icon" type="image/png" href="/static/images/icons/touch-icons/favicon-32x32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="/static/images/icons/touch-icons/favicon-16x16.png" sizes="16x16" /> <link rel="icon" type="image/png" href="/static/images/icons/touch-icons/favicon-128.png" sizes="128x128" /> <meta name="application-name" content="Majestic"/> <meta name="theme-color" content="#2d526d"> <link rel="stylesheet" type="text/css" href="/static/css/jquery/jquery-ui-1.13.3.min.css?20240628"> <link rel="stylesheet" type="text/css" href="/static/css/jquery/jquery-ui-dialogs.min.css?20160614"> <link rel="stylesheet" type="text/css" href="/static/css/yahoo/reset-min.css"> <link rel="stylesheet" type="text/css" href="/static/css/yahoo/base-min.css"> <link rel="stylesheet" type="text/css" href="/static/production/css/a05411.majestic.seo.min.cache.css"> <!--[if lt IE 9]> <link rel="stylesheet" type="text/css" href="/static/css/ie/ie.css"> <style> .ie8-hide { display: none !important; } .ie8-show { display: block !important; } </style> <![endif]--> <style> /* If to be shown when on IE 9, hidden by default. Rule overwritten with conditional tag below. */ .ie9-show { display: none !important; } </style> <!--[if IE 9]> <style> .ie9-hide { display: none !important; } .ie9-show { display: block !important; } </style> <![endif]--> <link rel="canonical" href="https://majestic.com/social-explorer" /> <link rel="alternate" hreflang="en" href="https://majestic.com/social-explorer"/> <link rel="alternate" hreflang="de" href="https://de.majestic.com/social-explorer"/> <link rel="alternate" hreflang="es" href="https://es.majestic.com/social-explorer"/> <link rel="alternate" hreflang="fr" href="https://fr.majestic.com/social-explorer"/> <link rel="alternate" hreflang="it" href="https://it.majestic.com/social-explorer"/> <link rel="alternate" hreflang="ja" href="https://ja.majestic.com/social-explorer"/> <link rel="alternate" hreflang="nl" href="https://nl.majestic.com/social-explorer"/> <link rel="alternate" hreflang="pl" href="https://pl.majestic.com/social-explorer"/> <link rel="alternate" hreflang="pt" href="https://pt.majestic.com/social-explorer"/> <link rel="alternate" hreflang="zh" href="https://zh.majestic.com/social-explorer"/> <div class="force-hide" id="html-dataload" data-monitoring-event-triggered="" data-user="" data-dont-show-notifications="" data-solo-class="" data-user-status="G" data-ux-group="b" data-current-path="/social-explorer" ></div> <div class="force-hide" id="html-translations" data-translation1="Add to bucket" ></div> <div class="force-hide" id="service-config" data-lang="en" data-default-link-action="" data-is-link-action-tab="" ></div> <div class="force-hide" id="service-passthrough" data-passthrough="{}"></div> <script type="text/javascript" src="/static/scripts/polyfill/polyfill.min.js?da3c29"></script> <script src="/static/scripts/requirejs/require.js?da3c29"></script> <script src="/static/production/js/a54e7d.require-config.min.js"></script> <script> require(['jquery', 'majestic-seo-cache'], function($) { var htmlDataload = $('#html-dataload').data(); var awardsNotificationText = {}; var backlinksDownloadText = {}; $(function() { $(".concertina").concertina(); $("a.youtube").YouTubePopup(); $.fn.userNotifications( $.extend(htmlDataload.monitoringEventTriggered ? { attempts: 3, delayBetweenAttempts: 5000, } : {}, { uxGroup: htmlDataload.uxGroup, currentPath: htmlDataload.currentPath }) ); if (htmlDataload.user && !htmlDataload.dontShowNotifications && !htmlDataload.soloClass) { setTimeout(function() { $.fn.userNotifications('fetchNotification'); }, 500); } bindDefaultEvents(); }); }); (function() { //Require for requirejs if(typeof(require) == "function") { require(["vue", 'jquery', 'rque!mj-modal', 'rque!download-all-backlinks', 'd3-function', 'timeout'], registerDownloadAllBacklinksDialog); } else { // attach original function to the window registerDownloadAllBacklinksDialog(Vue, jQuery); } function registerDownloadAllBacklinksDialog(Vue, $) { window.openDownloadAllBacklinksDialog = function(query, index, wildcard) { var width = 400; let args = { 'query': query, 'index_data_source': index, 'no_wrapper': 1, 'extractType': 'BACKLINKS_BETA' } if(wildcard) args.usePrefix = wildcard Promise.resolve($.post('/data-output/download-all-backlinks', args)).then(function(response) { var rawExportInformation = response; rawExportInformation['usePrefix'] = wildcard; if(rawExportInformation['noResults']) { rawExportInformation['index_item_info'] = { numberOfExternalBacklinks: null, numberOfAnalysisUnits: null }; rawExportInformation['default_site_explorer_options'] = { backlinksShowDeleted: null }; rawExportInformation['enableAdvancedExportOptions'] = null; rawExportInformation['analysis_units_remaining'] = null; rawExportInformation['total_initial_analysis_units'] = null; rawExportInformation['singleDomainMessage'] = null; rawExportInformation['mutltipleSubdomainMessage'] = null; rawExportInformation['singleSubdomainMessage'] = null; rawExportInformation['multiplePagesMessage'] = null; rawExportInformation['singlePagesMessage'] = null; rawExportInformation['analysisCostNear1PtMultiple'] = null; rawExportInformation['analysisCostNear1PtSingle'] = null; rawExportInformation['analysisCostNear100PtMultiple'] = null; rawExportInformation['analysisCostNear100PtSingle'] = null; rawExportInformation['analysisCostMultiple'] = null; rawExportInformation['analysisCostSingle'] = null; rawExportInformation['QueryType'] = null; rawExportInformation['downloadExists'] = null; rawExportInformation['DomainVerified'] = null; } rawExportInformation['extract'] = rawExportInformation['extractPopoverVisibility']; rawExportInformation['tabName'] = 'backlinks'; rawExportInformation['progressBarTooltipMessages'] = { lessThanOnePercent: 'This download will charge you <b>%1</b> analysis units which is less than <b>1%</b> of your monthly analysis units.', highEnd: 'This download will cost you <b>%1</b> analysis units which is almost <b>100%</b> of your monthly analysis units.', over100Percent: 'This download requires <b>%1</b> analysis units and you have <b>%2</b> analysis units remaining.', other: 'This download will cost you <b>%1</b> analysis units which is approximately <b>%2%</b> of your monthly analysis units.' } var parentEl = document.body; var modalDiv = document.createElement('div'); modalDiv.id = "modal_div"; parentEl.appendChild(modalDiv); hideAllPopovers(); var vm = new Vue({ template: '<mj-modal :width="width" :modalTitle="modal.title" :useCloseButton="true" v-on:modalState="onModalStateSwitch" :maxHeight="800"><download-all-backlinks-dialog :dialogData="contentData" UserStatus="G" :modalState="modal.state" :showFullExport="true" v-on:methodSwitch="onMethodSwitch"></download-all-backlinks-dialog></mj-modal>', data: { contentData: rawExportInformation, width: width, modal: { title: 'Download All Backlinks', state: 'open' } }, methods: { onMethodSwitch: function(method) { if(method === 'extract') { this.modal.title = 'Download All Backlinks 2.0'; } else { this.modal.title = 'Download All Backlinks'; } }, onModalStateSwitch: function(state) { this.modal.state = state; if(this.modal.state === 'closed') { this.$destroy(); } }, getInitialTitle: function(extract){ if(extract) { return 'Download All Backlinks 2.0'; } else { return 'Download All Backlinks' } } }, mounted: function() { this.modal.title = this.getInitialTitle(parseInt(this.contentData['extract'])); } }); vm.$mount('#modal_div'); }); } } })(); function showDownloadReadyState(downloadPath) { $('.download-all-backlinks.active #downloadButton') .removeClass("loading_gif") .addClass("download_ready") .val("Download Ready") .off('click') .on('click', function() { location.href = downloadPath; }); $('.download-all-backlinks.active .beforeReady').hide(); $('.download-all-backlinks.active .statusContent').html(decodeHtmlEntities('<b>Your download is complete.</b> If it hasn't downloaded automatically please use the "Download Ready" button. We have also added your file to your <a href="/reports/downloads">downloads</a> folder, should you need it later.')); } function openDownloadAllBacklinksDialogNoSubscription() { hideAllPopovers(); $.post( '/data-output/download-all-backlinks/no-subscription', function(response) { $('<div id="dialog-container" title="' + decodeHtmlEntities('Download All Backlinks') + '"></div>') .html(response) .dialog({ modal: true, resizable: false, draggable: false, width: 600, close: function() { $(this).dialog('destroy').remove(); hideAllPopovers(); } }); } ); } function updateAllowanceCharts(verified) { if(! verified) { $('.download-all-backlinks.active #allowance_before').hide(); $('.download-all-backlinks.active #allowance_after').show(); $('.download-all-backlinks.active .allowance_before_label').hide(); var totalInitialAnalysisUnits = $("#js-total-initial-analysis-units").val(); var analysisUnitsRemaining = $("#js-analysis-units-remaining").val(); var analysisUnitsCost = $("#js-analysis-res-units").val(); var percentLeft = 0; if(totalInitialAnalysisUnits != 0) percentLeft = ((analysisUnitsRemaining - analysisUnitsCost) / totalInitialAnalysisUnits) * 100; if(percentLeft == 0) { $('.download-all-backlinks.active .allowance_after_label').html(decodeHtmlEntities('No allowance<br>remaining')); } else if(percentLeft < 1) { $('.download-all-backlinks.active .allowance_after_label').html(decodeHtmlEntities('less than <b>1%</b><br>remaining')); } else if(percentLeft > 99) { $('.download-all-backlinks.active .allowance_after_label').html(decodeHtmlEntities('almost <b>100%</b><br>remaining')); } else { $('.download-all-backlinks.active .allowance_after_label').html('<b>' + percentLeft.toFixed(0) + '%</b><br />' + decodeHtmlEntities('remaining')); } } $('.download-all-backlinks.active .statusContent').html(decodeHtmlEntities('<b>Your download is being prepared. It can be found in your <a href="">downloads</a> folder. You can safely close this message box.</b>')); } </script> </head> <!--[if lte IE 8 ]> <body data-lang="en" class="en us-g ie8"> <![endif]--> <!--[if IE 9 ]> <body data-lang="en" class="en us-g ie9"> <![endif]--> <!--[if !IE]> --> <body data-lang="en" class="en us-g"> <!-- <![endif]--> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WL6MF3T" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div class="warning-message float-container" style="padding: 5px 10px;background: #FFDC85;"> <img class="floatl" src="/static/images/icons/alert-circle-red.png" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." /> <p class="floatl" style="margin: 7px 10px;"><b>June 15 2022</b>: Internet Explorer is no longer supported. Please update your browser. <a href="https://blog.majestic.com/company/ending-support-for-internet-explorer/" target="_blank" rel="noopener">Read more</a>.</p> </div> <div id="bucketTextTranslations" class="hide" data-add-hover-text="Add to your bucket" data-added-hover-text="Added to your bucket" data-added-notification-text="Added to bucket" data-already-added-notification-text="Item already in bucket" data-removed-notification-text="Removed from bucket" data-bucket-full-notification-text="Bucket is full" data-ajax-error-notification-text="Error adding to bucket" ></div> <style> #container { display: grid; grid-template-columns: 100%; grid-template-rows: auto minmax(350px, 1fr) auto; grid-template-areas: "header" "content" "footer"; min-height: 100%; width: 100%; margin: 0; } #header { grid-area: header; } #content_container_holder { grid-area: content; } #footer { grid-area: footer; } .sidebar-content-container { height: 100%; } </style> <div id="container"> <div id="header"> <!-- BEGIN site/header --> <!-- put this here so we dont have to make a new css file each time a new lang is added --> <style> div.contentPanelWhite { overflow-x: hidden; overflow-y: auto; } .monitor-banner{ background: #484979; border-radius: 3px; padding: 10px 20px; color: #fff; margin-bottom: 2em; } .monitor-banner .mj-btn { background: transparent !important; border: 1px solid #fff !important; } .account-dd .monitor-banner{ margin: 5px 10px; } </style> <!--[if lte IE 8]> <style type="text/css"> #header ul.horzMenu li.dd-link:hover ul.dd-content{top:16px;z-index:999;} </style> <![endif]--> <!--[if IE]> <style type="text/css"> #header ul.horzMenu li.dd-link.account-dd ul.dd-content li.content{ min-width: 506px; /* not so great IE fix*/ </style> <![endif]--> <div class="hide" id="header-dataload" data-response-username="" data-user-has-just-logged-out="" ></div> <div class="hide" id="header-translations" data-translation3="Logged Out" data-translation8="Logging out..." ></div> <script type="text/javascript"> var showingLogout = false; require(['jquery'], function($) { var headerTranslations; $(function() { var headerDataload = $('#header-dataload').data(); headerTranslations = $('#header-translations').data(); if (headerDataload.userHasJustLoggedOut) { showingLogout = true; } $(".account-dd .dd-content").css("left", -($(".account-dd .dd-content").outerWidth() - $(".account-dd .head").outerWidth())); $("#lang .dd-content").css("left", -($("#lang .dd-content").outerWidth() - $("#lang .head").outerWidth() - 5)); $('.logout_header_link').on("click", trigger_logout); }); var tagsToReplace = { '&': '&', '<': '<', '>': '>' }; function trigger_logout() { var tag = $(".logout_header_link"); tag.text(headerTranslations.translation8); tag.css("background-image", "url('/static/images/icons/loading.gif')").css("background-repeat", "no-repeat").css("background-position", "100% 60%"); } function replaceTag(tag) { return tagsToReplace[tag] || tag; } function escapeTags(str) { return str.replace(/[&<>]/g, replaceTag); } }); </script> <div id="nav-top" class="nav-wrapper "> <button id="hamburger-icon" class="nav-icon" aria-label="Open nav menu"> <img src="/static/images/icons/hamburger-icon.png" width="32px" height="32px" /> <div>MENU</div> </button> <div id="majestic_logo"> <h1 id="normal" > <a id="mj-logo" href="/">Majestic</a> </h1> </div> <div id="menu_list" class="mob-dd-menu "> <ul id="nav-user-status-action" class="horzMenu"> <li class="nav-btn"><a href="/account/register">Sign Up for FREE</a></li> </ul> <ul class="horzMenu" > <li class="separator u-g"><a href="/plans-pricing" style="color: #FFCC00">Plans & Pricing</a></li> <li class="separator header-login"><a href="/account/login?redirect=%2Fsocial-explorer">Login</a></li> <li id="lang" class="lang-dd dd-link separator simplified-menu"> <a class="head flex rounded" aria-haspopup="true" href="JavaScript:;"> <img class="lang-icon en" alt="Language flag icon" height="24" width="24" src="/static/images/backgrounds/1px.png"> <i class="toggle-arrow"></i> </a> <ul class="dd-content langs"> <li class="lang en"><a href="https://majestic.com/social-explorer"><i class="lang-icon en"></i>English </a></li> <li class="lang de"><a href="https://de.majestic.com/social-explorer"><i class="lang-icon de"></i>Deutsch </a></li> <li class="lang es"><a href="https://es.majestic.com/social-explorer"><i class="lang-icon es"></i>Español </a></li> <li class="lang fr"><a href="https://fr.majestic.com/social-explorer"><i class="lang-icon fr"></i>Français </a></li> <li class="lang it"><a href="https://it.majestic.com/social-explorer"><i class="lang-icon it"></i>Italiano </a></li> <li class="lang ja"><a href="https://ja.majestic.com/social-explorer"><i class="lang-icon ja"></i>日本語 </a></li> <li class="lang nl"><a href="https://nl.majestic.com/social-explorer"><i class="lang-icon nl"></i>Nederlands </a></li> <li class="lang pl"><a href="https://pl.majestic.com/social-explorer"><i class="lang-icon pl"></i>Polski </a></li> <li class="lang pt"><a href="https://pt.majestic.com/social-explorer"><i class="lang-icon pt"></i>Português </a></li> <li class="lang zh"><a href="https://zh.majestic.com/social-explorer"><i class="lang-icon zh"></i>中文 </a></li> </ul> </li> </ul> </div> </div> <!-- END site/header --> </div> <div id="content_container_holder"> <div class="mj-columns is-gapless sidebar-content-container"> <div class="mj-column is-narrow"> <!-- If Author explorer queries are sent with the oq things just don't work. !--> <script> document.addEventListener("DOMContentLoaded", function() { const nav = document.getElementsByClassName("side")[0] document.getElementById('hamburger-icon').addEventListener("click", function() { if(!nav.classList.contains('mob-nav-open')) { nav.classList.add('mob-nav-open') // On menu open, focus menu for accessibility (can tab through items) document.querySelector('nav.side #close-left-nav').focus(); } }) function closeMenu() { if(nav.classList.contains('mob-nav-open')) nav.classList.remove('mob-nav-open') } document.getElementById('close-left-nav').addEventListener("click", closeMenu) function closeOnClickOff(event){ if (!(document.getElementById('hamburger-icon').contains(event.target) || document.getElementsByClassName('side')[0].contains(event.target))) { closeMenu() } } ['container', 'home'].forEach(function(containerId){ var container = document.getElementById(containerId) if(container) { container.addEventListener('click', closeOnClickOff) } }) }) </script> <nav class="side"> <button id="close-left-nav" class="flex-justify-end" style="margin-top: -1.5em" aria-label="Close nav menu"> <img src="/static/images/icons/cancel.png" width="15px" height="15px"/> </button> <ul> <li class="header pad-lvl-1">Get started</li> <li class="nav-link"><a href="/account/login?redirect=%2Fsocial-explorer">Login</a></li> <li class="nav-link"><a href="/plans-pricing">Plans & Pricing</a></li> <li class="cta pad-lvl-1"> <a href="/account/register" class="is-subcription-link">Sign Up for FREE</a> </li> <li data-self="site-explorer" class="can-collapse" style="margin-top: 2em;"> <button aria-label="Site Explorer section" aria-expanded="false"> Site Explorer </button> </li> <li data-for="site-explorer" style="display: none;" aria-label="Site Explorer"> <ul> <li class="nav-link "> <a href="/reports/site-explorer?q=&scope=url">Summary</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/referring-domains?q=&scope=url">Ref Domains</a> <div class="link-right"> </div> </li> <li class="nav-link sub "> <a href="/reports/site-explorer/map?q=&scope=url">Map</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/top-backlinks?q=&scope=url">Backlinks</a> <div class="link-right"> </div> </li> <li class="nav-link sub "> <a href="/reports/site-explorer/new-backlinks?q=&scope=url">New</a> <div class="link-right"> </div> </li> <li class="nav-link sub "> <a href="/reports/site-explorer/lost-backlinks?q=&scope=url">Lost</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/link-context?q=&scope=url">Context</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/anchor-text?q=&scope=url">Anchor Text</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/top-pages?q=&scope=url">Pages</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/topics?q=&scope=url">Topics</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/link-graph?q=&scope=url">Link Graph</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/related-sites?q=&scope=url">Related Sites</a> <div class="link-right"> </div> </li> <li class="nav-link "> <a href="/reports/site-explorer/advanced-tools?q=&scope=url">Advanced Tools</a> <div class="link-right"> </div> </li> </ul> </li> <li data-self="compare-domains" class="can-collapse"> <button aria-label="Compare section" aria-expanded="false"> Compare </button> </li> <li data-for="compare-domains" style="display: none;"> <ul> <li class="nav-link "> <a href="/reports/comparator?q1=&">Summary</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/reports/compare-domain-backlink-history?q1=&&type=0">Backlink History</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/reports/flow-metrics-history?q1=&">Flow Metric History</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/reports/compare-topics?q1=&">Topics</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/reports/cliquehunter?q1=&">Clique Hunter</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> </ul> </li> <li class="nav-link "> <a href="/reports/bulk-backlink-checker">Bulk Backlinks</a> <div class="link-right show-on-hover"><div class="padlocked"> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li data-self="keywords" class="can-collapse"> <button aria-label="Keywords section" aria-expanded="false"> Keywords </button> </li> <li data-for="keywords" style="display: none;"> <ul> <li class="nav-link "> <a href="/reports/keyword-generator">Keyword Generator</a> <div class="link-right show-on-hover"><div class="padlocked"> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/reports/keyword-checker">Keyword Checker</a> <div class="link-right show-on-hover"><div class="padlocked"> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="https://majestic.com/reports/search-explorer?q=&scope=url"> Search Explorer </a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> </ul> </li> <li class="nav-link "> <a href="/reports/neighbourhood-checker?d=">Neighbourhood Checker</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li data-self="experimental" class="can-collapse parent"> <button aria-label="Experimental section" aria-expanded="false"> Experimental </button> </li> <li data-for="experimental" style="display: none;"> <ul> <li class="nav-link "> <a href="/experimental/index-merger">Index Merger</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/experimental/link-profile-fight?d0=&d1=">Link Profile Fight</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/experimental/mutual-links?d0=&d1=">Mutual Links</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/experimental/solo-links?d0=&d1=">Solo Links</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/experimental/pdf-report">PDF Report</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/experimental/typo-domain">Typo Domain</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> </ul> </li> <li class="nav-link "> <a href="/reports/url-submitter">Submit URLs</a> <div class="link-right show-on-hover"><div class="padlocked"> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li data-self="monitor" class="can-collapse parent"> <button aria-label="Open Author Explorer submenu"> Author Explorer <sup class="new-indicator is-uppercase">Beta</sup> </button> </li> <li data-for="monitor" style="display: none;"> <ul> <li class="nav-link "> <a href="/author-explorer?q=">Summary</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/author-explorer/similar-profiles?q=">Similar Profiles</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/author-explorer/backlinks?q=">Profile Backlinks</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li class="nav-link "> <a href="/author-explorer/attributions?q=">Attributions</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> </ul> </li> <li class="nav-link"> <a href="/reports">Custom Reports</a> <div class="link-right show-on-hover"><div class="padlocked"> <div class="min-subscription"> Pro </div> <svg viewBox="0 0 1000 1000" class="padlock"> <use href="/static/images/icons/padlock.svg#closed" xlink:href="/static/images/icons/padlock.svg#closed"></use> </svg> </div> </div> </li> <li data-self="free-seo-tools" class="can-collapse parent"> <button aria-label="Free SEO Tools section" aria-expanded="false"> Free SEO Tools </button> </li> <li data-for="free-seo-tools" > <ul> <li class="nav-link "> <a href="/free-seo-tools">Get started</a> </li> <li class="nav-link "> <a href="/backlink-checker?ln">Backlink Checker</a> </li> <li class="nav-link "> <a href="/reports/majestic-million">Majestic Million</a> </li> <li class="nav-link "> <a href="/majestic-widgets/plugins">Browser Plugins</a> </li> <li class="nav-link "> <a href="/majestic-widgets/google-sheets-addon">Google Sheets</a> </li> <li class="nav-link"> <a href="/post-popularity">Post Popularity</a> </li> <li class="nav-link selected"> <a href="/social-explorer">Social Explorer</a> </li> </ul> </li> <li data-self="support" class="can-collapse" style="margin-top: 1.5em;"> <button aria-label="Support section" aria-expanded="false"> Support </button> </li> <li data-for="support" style="display: none;"> <ul> <li class="nav-link "> <a href="/help">Get started</a> </li> <li class="nav-link "> <a href="/help/tools">Tools</a> </li> <li class="nav-link "> <a href="/help/subscriptions">Subscriptions & Billing</a> </li> <li class="nav-link "> <a href="/help/faq">FAQs</a> </li> <li class="nav-link "> <a href="/help/glossary">Glossary</a> </li> <li class="nav-link"><a href="/help/how-to-videos">How To Videos</a></li> <li class="nav-link"><a href="https://developer-support.majestic.com/api/" target="_blank">API Reference Guide <img class="no-sprite ext-link-icon" src="/static/images/icons/external-link-blue.png" width="12px" height="10px" title="External Link" alt="External Link" /></a></li> <li class="nav-link "> <a href="/help/contact-us">Contact Us</a> </li> <li class="nav-link "><a href="/account/site-updates">Site Updates</a></li> </ul> </li> <li data-self="about-majestic" class="can-collapse"> <button aria-label="About Majestic section" aria-expanded="false"> About Majestic </button> </li> <li data-for="about-majestic" style="display: none;"> <ul> <li class="nav-link "><a href="/company/about">The Company</a></li> <li class="nav-link "><a href="/company/style-guide">Style Guide</a></li> <li class="nav-link "><a href="/company/terms">Terms & Conditions</a></li> <li class="nav-link "><a href="/company/privacy-policy">Privacy Policy</a></li> <li class="nav-link "><a href="/company/gdpr">GDPR</a></li> <li class="nav-link"><a href="/help/contact-us">Contact Us</a></li> </ul> </li> <li data-self="about-backlinks" class="can-collapse"> <button aria-label="About Backlinks and SEO section" aria-expanded="false"> About Backlinks and SEO </button> </li> <li data-for="about-backlinks" style="display: none;"> <ul> <li class="nav-link"><a href="/seo-in-2025" ">SEO in 2025</a></li> <li class="nav-link"><a href="/majestic-seo-podcast">The Majestic SEO Podcast</a></li> <li class="nav-link"><a href="/podcasts">All Podcasts</a></li> <li class="nav-link "><a href="/trust-flow">What is Trust Flow?</a></li> <li class="nav-link"><a href="/guides">Link Building Guides</a></li> </ul> </li> <li class="nav-link"><a href="https://blog.majestic.com/" target="_blank" rel="noopener">Blog <img class="no-sprite ext-link-icon" src="/static/images/icons/external-link-blue.png" width="12px" height="10px" title="External Link" alt="External Link" /></a></li> <li data-self="languages" class="can-collapse" style="margin-top: 2em; margin-bottom: 0.5em;"> <button aria-label="Language section" aria-expanded="false"> <span class="mj-border mj-vert-pad mj-horz-pad is-small"> <img class="lang-icon en" alt="Language flag icon" height="24" width="24" src="/static/images/backgrounds/1px.png" style="margin-right: 5px;"> <span>English </span> </span> </button> </li> <li data-for="languages" class="languages" style="display: none;"> <ul> <li class="nav-link lang en"> <a href="https://majestic.com/social-explorer"> <div class="lang-icon en"></div> <span>English </span> </a> </li> <li class="nav-link lang de"> <a href="https://de.majestic.com/social-explorer"> <div class="lang-icon de"></div> <span>Deutsch </span> </a> </li> <li class="nav-link lang es"> <a href="https://es.majestic.com/social-explorer"> <div class="lang-icon es"></div> <span>Español </span> </a> </li> <li class="nav-link lang fr"> <a href="https://fr.majestic.com/social-explorer"> <div class="lang-icon fr"></div> <span>Français </span> </a> </li> <li class="nav-link lang it"> <a href="https://it.majestic.com/social-explorer"> <div class="lang-icon it"></div> <span>Italiano </span> </a> </li> <li class="nav-link lang ja"> <a href="https://ja.majestic.com/social-explorer"> <div class="lang-icon ja"></div> <span>日本語 </span> </a> </li> <li class="nav-link lang nl"> <a href="https://nl.majestic.com/social-explorer"> <div class="lang-icon nl"></div> <span>Nederlands </span> </a> </li> <li class="nav-link lang pl"> <a href="https://pl.majestic.com/social-explorer"> <div class="lang-icon pl"></div> <span>Polski </span> </a> </li> <li class="nav-link lang pt"> <a href="https://pt.majestic.com/social-explorer"> <div class="lang-icon pt"></div> <span>Português </span> </a> </li> <li class="nav-link lang zh"> <a href="https://zh.majestic.com/social-explorer"> <div class="lang-icon zh"></div> <span>中文 </span> </a> </li> </ul> </li> </ul> </nav> <script> function menuItemToggle() { const selectedSubsectionLists = $('.side .selected').parents('li') selectedSubsectionLists.css('display', '') selectedSubsectionLists.each(function() { $('li[data-self=' + $(this).data('for') + ']').children('button').attr('aria-expanded', true) }) let currentPage = $('.side.is-sub-nav .selected') if (currentPage.length === 0) currentPage = $('.side .selected') currentPage.attr('aria-current', 'page') $('.can-collapse > button').click(function(){ var listElem = $('li[data-for=' + $(this).parent().data('self') + ']') if (listElem.css('display') === 'none') { listElem.css('display', '') $(this).attr('aria-expanded', true) } else { listElem.css('display', 'none') $(this).attr('aria-expanded', false) } }); } function bindTooltipPopover() { $('.hoverHintHTML').majesticPopover({ content: function() { return $(this).attr('data-original-title'); }, cssClass: 'majestic-tooltip', type: 'hover' }); } </script> <script> require(['jquery', 'majestic-popover', 'global-functions', 'domReady!'], function($){ menuItemToggle() bindTooltipPopover() }) </script> </div> <div class="mj-column right-content"> <div class="mj-content-container mob-no-whitespace"> <noscript> <div class="padded-div js-warning" style="padding-right: 0; margin-top: 20px;"> <div class="warningMessage red"> <STRONG>Warning:</STRONG> Javascript appears to be deactivated on this browser - this may effect your user experience and functionality of this site. </div> </div> </noscript> <style> .contentPanelWhite.free-page { background: radial-gradient(circle,rgba(45,82,109,1) 0,rgba(28,59,81,1) 100%); padding: 0 25px; margin: auto -2em; } .free-page{color: #fff;} .free-page h3{color: #fff; font-size: 3em;} p, #page-info p{font-size: 1.3em; line-height: 1.8em; margin: 0 0 1em 0;} </style> <div class="contentPanelWhite free-page"> <div class="mj-marg-v-dog is-width-restricted"> <h3>Social Explorer</h3> <p>The top 1 Million Twitter / X accounts broken down by Topical Trust Flow. Segments weighted by volume of accounts per topic. View the top 10 accounts for each topic.</p> </div> </div> <div class="is-width-restricted"> <p class="mj-marg-v-dog">Click on a segment to explore</p> <div id="social-explorer" class="mj-grid is-auto-fill mj-marg-v-lion"> <div class="graph-box"> <div class="graph-container"> <div id="graph-loading" class="mj-text-align-center mj-vert-margin"> <span class="progress-boxes mj-horz-margin is-small"> <span class="progress-box"> </span> <span class="progress-box"> </span> <span class="progress-box"> </span> <span class="progress-box"> </span> <span class="progress-box"> </span> <span class="progress-box"> </span> <span class="progress-box"> </span> </span> </div> <div id="social-explorer-graph"></div> <div id="graph-error" class="mj-vert-margin mj-horz-margin is-small" style="display: none;"> Sorry, something has gone wrong. Please try again later. If this problem continues please <a href="/help/contact-us?subject=Social Explorer">contact us</a>. </div> </div> </div> <div id="top-container"> <h2 id="top-title"></h2> <div id="top-list"></div> </div> </div> </div> <script> require(['jquery', 'd3-v7'], function($, d3) { //Defines the hex colours for various topics let topicColors = { "Arts": '#ff6700', "News": '#76d54b', "Society": '#7a69cd', "Computers": '#d33', "Business": '#c5c88e', "Regional": '#f582b9', "Recreation": '#89c7cb', "Sports": '#55355d', "Kids": '#fc0', "Reference": '#c84770', "Games": '#557832', "Home": '#d95', "Shopping": '#600', "Health": '#009', "Science": '#6bd39a', "Adult": '#333', "World": '#577' } function getSuperTopic(topic) { if(topic) return topic.split("/")[0] return '' } // Get the text color function getTextColorForTopic(topic) { if ($.inArray(getSuperTopic(topic), [ "Regional", "Reference", "Society", "Computers", "Arts", "Health", "Shopping", "Sports", "Adult", "Games"]) > -1) { return "#FFF" } else { return "#333" } } // Polyfill if (!String.prototype.startsWith) { Object.defineProperty(String.prototype, 'startsWith', { value: function(search, rawPos) { pos = rawPos > 0 ? rawPos|0 : 0 return this.substring(pos, pos + search.length) === search } }) } // drawChart() async function drawChart() { var topics; // Kept as a var for global scope // Gets all the profiles grouped by topic await fetch('/social-explorer/ajax/get-topic-data') .then((response) => response.json()) .then((data) => { topics = data.topicData }) .catch((error) => { console.error(error) }) let topProfiles; // Gets the top 10 twitter profiles await fetch('/social-explorer/ajax/top-profiles') .then((response) => response.json()) .then((d) => { topProfiles = d.topicProfileMap updateTop10(topics) }) .catch((error) => { console.error(error) }) let topicData; // Gets the top 10 profiles for each topic await fetch('/social-explorer/ajax/get-top-profiles-per-topic') .then((response) => response.json()) .then((data) => { topicData = data.profileTopicMap }) .catch((error) => { console.error(error) }) $('#graph-loading').remove() if(!topics) { $('#graph-error').show() return; } var width = 1000 var height = 1000 let minDim = Math.min(width, height) let radius = (minDim / 2) * 0.8 //Shows the twitter profiles container $("#top-container").show() let lastClicked; let somethingExpanded; // Updates the center with topic information if available let tooltip = new (function () { let div; // Setup the list of items to have this.setupTooltipElems = function() { d3.select("#tooltip").remove() div = d3.select("body").append("div") .attr("class", "tooltips") .attr("id", "tooltip") .style("opacity", 0) div.style("left", "0px") .style("top", "0px") $("#social-explorer-graph").mousemove(function(e) { var height = div.node().offsetHeight div.style("left", (e.pageX) + "px") .style("top", (e.pageY - height) + "px") }) } // Setup mouseover functions this.setupMouseEvents = function(elem) { elem.on("mouseover", this.mouseoverTooltip) elem.on("mouseout", this.mouseoutTooltip) } this.setupMouseWithOther = function(elem, oldOver, oldOut) { var self = this elem.on("mouseover", function(event, d) { oldOver(d) self.mouseoverTooltip(event, d) }); elem.on("mouseout", function(event, d) { oldOut(d) self.mouseoutTooltip(event, d); }); } // Fill the tooltip and display it function fillWithValues(event, value) { let html = "<div class='is-marginless'>Click to view the top 10 profiles for: <b>" + value + "</b></div>" tooltip.showHTML(event, html) } this.showHTML = function(event, html) { div.transition() .duration(200) .style("opacity", .9) div.html(html) .style("left", (event.pageX) + "px") .style("top", (event.pageY) + "px") } // Clear the tooltip this.clearValues = function() { div.transition() .duration(500) .style("opacity", 0) } // Called when hovering over a segment this.mouseoverTooltip = function(event, d) { let clickData = d.data ? d.data : d if (clickData.name == "All") { topicText.html("@") topicText.style("font-size", "5em") text.html("") } else { topicText.html(clickData.name, 20) topicText.style("font-size", "1.75em") let percentage = showPercentage(clickData) text.html(percentage) } fillWithValues(event, clickData.fullName) } // Called when moving away from a segment this.mouseoutTooltip = function(event, d) { let clickData = typeof lastClicked !== 'undefined' && lastClicked.data ? lastClicked.data : lastClicked if (typeof lastClicked === 'undefined' || clickData.name == "All") { topicText.html("@") topicText.style("font-size", "5em") text.html("") } else { topicText.html(clickData.name, 20) topicText.style("font-size", "1.75em") let percentage = showPercentage(clickData) text.html(percentage) } tooltip.clearValues() } })() //Returns a formatted percentage value function showPercentage(d) { let percentage = String(100 * d.score / topics.score) let formattedPercentage = "" let count = 0; for(let i = 0; i < percentage.length; i++) { count-- formattedPercentage += percentage[i] if(percentage[i] == ".") count = 2 if(count == 0) break; } return formattedPercentage + "%" } tooltip.setupTooltipElems() //Actual graph making //Sets up the functions of x and y. let x = d3.scaleLinear().range([0, 2 * Math.PI]) let y = d3.scaleSqrt().range([0, radius]) //Selects the containing div and adds the SVG element. let svg = d3.select("#social-explorer-graph") .append("svg") .attr("width", "100%") .attr("height", "100%") .attr("viewBox", "0, 0, " + width + ", " + height) .attr("class", "is-watermarked") //Adds a g container (like a svg div?) to the SVG. let mainG = svg.append("g") .attr("transform", "translate(" + (width / 2) + "," + ((height / 2) * 0.85) + ")") //These shenanigans sort out what order the segments appear in. let hierarchy = d3.hierarchy(topics) .sum( function(d) { if (d.children.length === 0) return d.score return 0 }) .sort(function(a, b) { return b.value - a.value }) let partition = d3.partition() //This implements the hierarchy. partition(hierarchy) //Function for drawing an arc. let arc = d3.arc() .startAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x0))) }) .endAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x1))) }) .innerRadius(function(d) { return (d.data.expanded ? 1.2 : 1) * Math.max(0, y(d.y0)) }) .outerRadius(function(d) { return (d.data.expanded ? 1.2 : 1) * Math.max(0, y(d.y1)) }) //This lil' bit of magic sorts allt he data by its partition and gets it ready to be made into graphical elements let elem = mainG.selectAll("g.node") .data(hierarchy.descendants()) //This adds the nodes to the graph let elemEnter = elem.enter() .append("g") .attr("class", "node") //This draws the nodes. let path = elemEnter.append("path") .attr("class", "graph-segment") .on("click", function(event, d) { click(event, d) }) .style("fill", function(d) { return getPartitionColor(d) }) .style("stroke", "white") .style("stroke-width", 0) .attr("d", arc) //Adds the text that says which topic you have clicked on to the center let topicText = elemEnter.filter(function(d) { return d.data.name=="All" }) .append("text") .attr("x", 0) .attr("y", 20) .attr("text-anchor", "middle") .style("font-size", "5em") .attr("fill", "#7677C4") .text("@") .on("click", function(event, d) { click(event, d) }) //Adds the text which says the percentage value of the element you clicked on let text = elemEnter.filter(function(d) { return d.data.name=="All" }) .append("text") .attr("x", 0) .attr("y", (-radius / 10)) .attr("text-anchor", "middle") .style("font-size", "1.75em") .style("font-weight", "bold") .attr("fill", "#7677C4") .text("") .on("click", function(event, d) { click(event, d) }) //This is what makes things highlight and unhighlight depending on what you hover over tooltip.setupMouseWithOther(path.filter(function(d){ return d.name !== "none" }), highlight, unhighlight) //Gets the size of the window the script showuld work with. Should be called in graph.php (or where ever the d3 svg is constructed) var width = window.innerWidth var height = window.innerHeight - 100 function setSVGTranslate(svg, trans, zoom) { svg.attr("transform", "translate(" + (((1-zoom)*width)/2 + trans.x) + "," + (((1-zoom)*height)/2 + trans.y) + ")," + "scale(" + zoom + "," + zoom + ")") } // Store colours for topics // End of things of things that Aaron does not understand // Can pass in whole topic function getColorForTopic(topic) { return topicColors[getSuperTopic(topic)]; } //Lightens the color given hexcode function lighten(color,lum){ //Expand hex code to full length color = String(color).replace(/[^0-9a-f]/gi, '') if (color.length < 6) { color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2] } lum = lum || 0 // convert to decimal and change luminosity let newColor = "#", c, i for (i = 0; i < 3; i++) { c = parseInt(color.substr(i*2,2), 16) c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16) newColor += ("00"+c).substr(c.length) } return newColor } //Gets a color of a partition function getPartitionColor(data) { let d = data.data if (d.name == "All") return "white" else if(d.name == "none") return "white" else return lighten(getColorForTopic(d.superTopic), -0.1 * d.depth) } function highlight(segment) { path.filter(function(d) { return d==segment; } ) .style("fill", lighten(getPartitionColor(segment),0.5)) } function unhighlight(segment) { path.filter(function(d) { return d==segment; } ) .transition("fade") .duration(300) .style("fill", getPartitionColor(segment)) } //Called whenever an arc is clicked function click(event, d) { if (d == lastClicked && d.data.name == "All") return // Check if unexpanding necessary if (d != topics && d == lastClicked) { click(event, topics) lastClicked = topics return } else { lastClicked = d } // Change text in centre let clickData = d.data ? d.data : d let percentage = showPercentage(clickData) if (clickData.name == "All") { topicText.html("@") topicText.style("font-size", "5em") text.html("") } else { topicText.html(clickData.name, 20) topicText.style("font-size", "1.75em") text.html(percentage) } expandSegment(clickData); if (clickData.fullName.indexOf("Top 10") == -1) updateTop10(clickData) else updateTop10(clickData) function expandSegment(d) { // Set whether nodes expanded expand(topics, false) if(d.name !== "All" && d.name !== "none") expand(d, true) // Do the expanding and highlighting path.transition("expanding") .duration(750) .attr("d", arc) } function expand(d, exp) { d.expanded = exp if (d.data) d.data.expanded = exp if(d.children) { for(let i = 0; i < d.children.length; i++) { expand(d.children[i],exp); } } somethingExpanded = !(d.name == "All") } } //Fetches a new list of twitter peeps when called function updateTop10(d) { $("#top-list").empty() let fullname = d.fullName.split("/").join(" / ") $("#top-title").html(fullname) let datasource if (d.fullName == "Top 10 profiles on Twitter") datasource = topProfiles else datasource = topicData[d.fullName] datasource.forEach(function(p, i) { let itemContainer = $("<div></div>") .attr("class", "row") .css("margin", "0") .css("width", "100%") let item = $("<div></div>") .attr("class", "top-item") let rank = $("<div></div>") .attr("class", "top-item-rank") .html("" + (i + 1)) .append($("<span></span>").css("line-height", "10px")) let details = $("<div></div>") .attr("class", "top-item-details") // Topic to display: let topic = undefined let searching = true p.topics.forEach(function(q){ if(q.topic.startsWith(d.fullName) && searching) { topic = q searching = false } }) if (searching) topic = p.topics[0]; let txt = $("<div></div>") .attr("class", "top-item-link") .append($("<div></div>") .attr("class", "top-item-majimg") .css("background-color", getColorForTopic(topic.topic)) .css("color", getTextColorForTopic(topic.topic)) .text(topic.value) ) .append( $("<div></div>") .attr("class", "top-item-text") .append( $("<a></a>") .html("@" + p.username) .attr("href", "/author-explorer?q=" + p.username) .attr("target", "_blank") ) .append( $("<a></a>") .html("visit") .addClass("mj-btn is-small is-ghost has-icon-right has-icon-extlink") .attr("href", "https://twitter.com/" + p.username) .attr("target", "_blank") ) ); details.append(txt) item.append(rank) item.append(details) itemContainer.append(item) $("#top-list").append(itemContainer) }) } } }) </script> <style> #social-explorer { grid-template-columns: 2fr 1fr; } #tooltip { display: none; } .top-item-link .top-item-text{ word-wrap: break-word; white-space: nowrap; overflow: hidden; } .top-item-text a { text-decoration: none; font-size: 1.2em; font-weight: bold; vertical-align: middle; } .top-item-text a.mj-btn.is-small { font-weight: normal; background-size: 12px; font-size: 1em; float: right; padding: 2px 20px 2px 6px !important; margin-right: 8px; display: none; text-decoration: none; } .top-item-details:hover .top-item-text a.mj-btn.is-small { display: inline-block } .top-item-text a:hover { text-decoration: underline; } #top-title { display: flex; justify-content: center; align-items: center; min-height: 60px; } .top-item { vertical-align: middle; width: 100%; border-top: solid 1px rgba(255,255,255,0.3); padding: 0.75em 0; } .top-item-rank, .top-item-details { display: table-cell; } .top-item-rank { min-width: 35px; height: 100%; text-align: center; vertical-align: middle; padding: 5px; } .top-item-details { width: 100%; padding: 5px; } .top-item-link { margin-right: 0; } .top-item-majimg { display: inline-block; padding: 2px 6px; border-radius: 20%; border: 1px solid #999; float: right; position: relative; } .graph-segment { cursor: pointer; } .twitter-loading { color: #FFFFFF; } .is-watermarked { background: url('/static/images/majestic/majestic-logo-watermark.png') 100% 82% no-repeat } @media (max-width: 400px) { .is-watermarked { background: url('/static/images/majestic/majestic-logo-watermark.png') 110% 110% no-repeat } } @media (max-width: 640px) { #social-explorer { grid-template-columns: auto; } } @media (min-width: 992px) { #social-explorer { margin-bottom: 10px; } div.tooltips { white-space: nowrap; color: #333; position: absolute; text-align: center; padding: 4px; font: 12px 'Open Sans', sans-serif; background: rgba(255, 255, 255, 0.9) none repeat scroll 0px 0px; border: 1px solid #4D6FAC; border-radius: 5px; padding: 5px 10px; white-space: normal !important; } #tooltip { display: block; pointer-events: none; } } </style> </div> </div> </div> </div> <div id="footer" class="footer-container"> <div class="footer-panel"> <div class="footer-panel-content"> <div class="text-center"> <p>Could we improve this page for you? <b><a href="/help/contact-us?Topic=feedback&subject=Feedback%20for%20page%20%22/social-explorer%22" style="color: #fff;">Please tell us</a></b></p> </div> </div> </div> <div class="footer-panel index-stats"> <style> #footer .index-stats { column-gap: 5%; } #footer .index-stats .index-stat-row { margin: var(--vert-cat) 0; display: flex; flex-wrap: wrap; gap: var(--vert-mouse) 20px; } #footer .index-stats .index-stat-row > * { flex-grow: 1; } </style> <div class="footer-panel-content index-stats flex flex-wrap"> <div class="f-grow-1"> <h3>Fresh Index</h3> <div class="index-stat-row"> <span>Unique URLs crawled</span> <span class="text-right">347,342,296,817</span> </div> <div class="index-stat-row"> <span>Unique URLs found</span> <span class="text-right">819,351,013,758</span> </div> <div class="index-stat-row"> <span>Date range</span> <span class="text-right">12 Dec 2024 to 11 Apr 2025</span> </div> <div class="index-stat-row"> <span><a href="/help/glossary#IndexBuildDate">Last updated</a></span> <span class="text-right"> 49 minutes ago </span> </div> </div> <div class="f-grow-1"> <h3>Historic Index</h3> <div class="index-stat-row"> <span>Unique URLs crawled</span> <span class="text-right">4,502,566,935,407</span> </div> <div class="index-stat-row"> <span>Unique URLs found</span> <span class="text-right"> 21,743,308,221,308</span> </div> <div class="index-stat-row"> <span>Date range</span> <span class="text-right">06 Jun 2006 to 26 Mar 2024</span> </div> <div class="index-stat-row"> <span><a href="/help/glossary#IndexBuildDate">Last updated</a></span> <span class="text-right">03 May 2024</span> </div> </div> </div> </div> <div class="footer-panel"> <div class="footer-panel-content flex"> <div class="footer-columns f-grow-1"> <div class="find-us footer-column"> <h3>SOCIAL</h3> <ul> <li class="linkedin"><a href="https://www.linkedin.com/groups/4343451" title="LinkedIn" target="_blank" rel="noopener">LinkedIn</a></li> <li class="youtube"><a href="https://youtube.com/c/majesticseo" title="YouTube" target="_blank" rel="noopener">YouTube</a></li> <li class="facebook"><a href="https://www.facebook.com/MajesticSite" title="Facebook" target="_blank" rel="noopener">Facebook</a></li> <li class="blueSky"><a href="https://bsky.app/profile/majestic.com" title="Bluesky" target="_blank" rel="noopener">Bluesky</a></li> <li class="twitter"> <a href="https://x.com/Majestic" title="Twitter / X" target="_blank" rel="noopener"> Twitter / X</a> </li> <!-- <li class="mastodon"><a href="https://seocommunity.social/@Majestic" target="_blank" rel="noopener me">Mastodon</a></li> --> <li class="blog"><a href="https://blog.majestic.com" title="Blog" target="_blank" rel="noopener">Blog</a> <img src="/static/images/icons/external-link.png" title="External Link" alt="External Link" /></li> </ul> </div> <div class="company footer-column"> <h3>COMPANY</h3> <ul> <li><a href="/flow-metric-scores">Flow Metric Scores</a></li> <li><a href="/company/about">About</a></li> <li><a href="/company/terms">Terms and Conditions</a></li> <li><a href="/company/privacy-policy">Privacy Policy</a></li> <li><a href="/company/gdpr">GDPR</a></li> <li><a href="/help/contact-us">Contact Us</a></li> </ul> </div> <div class="empty footer-column"> <h3>TOOLS</h3> <ul> <li><a href="/plans-pricing">Plans & Pricing</a></li> <li><a href="/reports/site-explorer">Site Explorer</a></li> <li><a href="/reports/comparator?q1=example.com">Compare Domains</a></li> <li><a href="/reports/bulk-backlink-checker">Bulk Backlinks</a></li> <li><a href="https://majestic.com/reports/search-explorer?q=google">Search Explorer</a></li> <li><a href="https://developer-support.majestic.com/" target="_blank" rel="noopener">Developer API</a> <img src="/static/images/icons/external-link.png" title="External Link " alt="External Link" /></li> </ul> </div> <div class="empty footer-column"> <h3>MAJESTIC FOR</h3> <ul> <li><a href="/link-context">Link Context</a></li> <li><a href="/backlink-checker">Backlink Checker</a></li> <li><a href="/support/tools/for-seoprofessionals">SEO Professionals</a></li> <li><a href="/support/tools/for-analysts">Media Analysts</a></li> <li><a href="/monitor">Influencer Discovery</a></li> <li><a href="https://majesticanalytics.com" target="_blank" rel="noopener">Enterprise</a> <img src="/static/images/icons/external-link.png" title="External Link" alt="External Link" /></li> </ul> </div> <div class="empty footer-column"> <h3>PODCASTS & PUBLICATIONS</h3> <ul> <li><a href="/majestic-seo-podcast">The Majestic SEO Podcast</a></li> <li><a href="/seo-in-2025">SEO in 2025</a></li> <li><a href="/seo-in-2024">SEO in 2024</a></li> <li><a href="/seo-in-2023">SEO in 2023</a></li> <li><a href="/seo-in-2022">SEO in 2022</a></li> <li><a href="/podcasts">All Podcasts</a></li> </ul> </div> <div class="awards footer-column"> <div class="up"> <a href="javascript:scrollToTop()">top ^</a> </div> </div> </div> </div> </div> </div> <!-- Third party attributions: * Font Awesome Free by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --> </div> <!-- Piwik --> <script type="text/javascript"> var _paq = _paq || []; _paq.push(['setDocumentTitle',document.domain + "/" + document.title + "/version=b/usr=G"]); _paq.push(['setCustomVariable', 1,"Subdomain", "en", "page"]); _paq.push(['setCustomVariable', 2,"Usr", "G", "page"]); _paq.push(['setCustomVariable', 3,"Domain", "Majestic", "page"]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); _paq.push(['setDomains',"*.majestic.com"]); _paq.push(['setCookieDomain','*.majestic.com']); (function() { var secure = ("https:" == document.location.protocol); var u=(secure ? "https" : "http") + "://analytics.majestic.com/"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', 2]); _paq.push(['setSecureCookie', secure]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script> <noscript><p><img src="//analytics.majestic.com/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript> <!-- End Piwik Code --> </body> </html>