Analyze your content's basic SEO optimization score instantly.
Analysis Results
function analyzeSEOContent() {
var title = document.getElementById('seo-title').value;
var content = document.getElementById('seo-content').value;
var resultsDiv = document.getElementById('seo-results');
var feedbackList = document.getElementById('seo-feedback');
var scoreFill = document.getElementById('seo-score-fill');
var scoreText = document.getElementById('seo-score-text');
var score = 0;
var feedback = [];
feedbackList.innerHTML = ";
resultsDiv.style.display = 'block';
if (title.length >= 50 && title.length 0) {
score += 10;
feedback.push('⚠️ Title length should be between 50-60 characters.');
} else {
feedback.push('❌ Title is missing.');
}
var wordCount = content.trim().split(/\s+/).length;
if (content.length === 0) wordCount = 0;
if (wordCount >= 1000) {
score += 25;
feedback.push('✅ Excellent content depth (' + wordCount + ' words).');
} else if (wordCount >= 300) {
score += 15;
feedback.push('⚠️ Content is a bit thin. Aim for 1000+ words for competitive topics.');
} else {
feedback.push('❌ Content is too short for SEO ranking.');
}
var paragraphs = content.split(/\n\s*\n/);
var longParagraphs = 0;
for (var i = 0; i 50) longParagraphs++;
}
if (longParagraphs === 0 && content.length > 0) {
score += 25;
feedback.push('✅ Readability is high: No long paragraphs detected.');
} else if (content.length > 0) {
feedback.push('⚠️ Break down long paragraphs (over 50 words) for better mobile UX.');
}
var hasHeading = / 0 && content.toUpperCase() === content);
if (hasHeading) {
score += 25;
feedback.push('✅ Structural headings detected.');
} else if (content.length > 0) {
feedback.push('❌ Use H2 or H3 tags to organize your content.');
}
scoreFill.style.width = score + '%';
scoreText.innerText = 'Overall SEO Score: ' + score + '/100';
for (var j = 0; j < feedback.length; j++) {
var li = document.createElement('li');
li.innerText = feedback[j];
feedbackList.appendChild(li);
}
if (score < 50) scoreFill.style.backgroundColor = '#f56565';
else if (score < 80) scoreFill.style.backgroundColor = '#ed8936';
else scoreFill.style.backgroundColor = '#48bb78';
}