Days Until Calculator

SEO Content & Density Analyzer

Words
0
Characters
0
Read Time
0m
Primary Keyword Density (Top 3):
function performSEOAnalysis() { var input = document.getElementById('seo-text-input').value; var resultsBox = document.getElementById('seo-results-box'); if (!input.trim()) { alert('Please enter some text to analyze.'); return; } var wordCount = input.trim() ? input.trim().split(/\s+/).length : 0; var charCount = input.length; var readTime = Math.ceil(wordCount / 225); document.getElementById('stat-words').innerText = wordCount; document.getElementById('stat-chars').innerText = charCount; document.getElementById('stat-time').innerText = readTime + 'm'; var cleanText = input.toLowerCase().replace(/[^\w\s]/g, "); var words = cleanText.split(/\s+/); var dictionary = {}; var stopWords = ['this', 'that', 'with', 'from', 'your', 'have', 'were', 'they', 'been']; for (var i = 0; i 3 && stopWords.indexOf(word) === -1) { dictionary[word] = (dictionary[word] || 0) + 1; } } var sortedWords = Object.keys(dictionary).sort(function(a, b) { return dictionary[b] – dictionary[a]; }); var topKeywords = sortedWords.slice(0, 3); var keywordHtml = "; if (topKeywords.length > 0) { for (var j = 0; j < topKeywords.length; j++) { var kw = topKeywords[j]; var count = dictionary[kw]; var percent = ((count / wordCount) * 100).toFixed(1); keywordHtml += '• ' + kw + ': ' + count + ' times (' + percent + '%)
'; } } else { keywordHtml = 'Not enough data for density analysis.'; } document.getElementById('stat-keywords').innerHTML = keywordHtml; resultsBox.style.display = 'block'; }

Leave a Comment