Free SEO Analyzer Tool - Website SEO Audit & Analysis | Advanced SEO Checker
🔍 বিশ্লেষণ করুন
SEO ডেটা বিশ্লেষণ করা হচ্ছে...
📊 সারসংক্ষেপ
🔍 বিস্তারিত
🔑 কীওয়ার্ড
💡 পরামর্শ
🔑 কীওয়ার্ড ঘনত্ব বিশ্লেষণ
📄 PDF এ রপ্তানি
📊 CSV এ রপ্তানি
🔗 রিপোর্ট শেয়ার
⏰ নিয়মিত বিশ্লেষণ
`);
printWindow.document.close();
} catch (error) {
console.error('PDF Export Error:', error);
alert('PDF রপ্তানিতে সমস্যা হয়েছে। দয়া করে আবার চেষ্টা করুন।');
}
}
function exportToCSV() {
if (!currentAnalysisData) {
alert('প্রথমে একটি বিশ্লেষণ করুন');
return;
}
try {
const csvContent = generateCSVContent(currentAnalysisData);
const BOM = '\uFEFF'; // UTF-8 BOM for proper encoding
const blob = new Blob([BOM + csvContent], { type: 'text/csv;charset=utf-8;' });
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
// For IE/Edge
window.navigator.msSaveOrOpenBlob(blob, 'seo-analysis-report.csv');
} else {
// For other browsers
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = 'seo-analysis-report.csv';
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
}
alert('CSV ফাইল সফলভাবে ডাউনলোড হয়েছে!');
} catch (error) {
console.error('CSV Export Error:', error);
alert('CSV রপ্তানিতে সমস্যা হয়েছে। দয়া করে আবার চেষ্টা করুন।');
}
}
function shareReport() {
if (!currentAnalysisData) {
alert('প্রথমে একটি বিশ্লেষণ করুন');
return;
}
try {
const url = document.getElementById("urlInput").value;
const score = calculateSEOScore(currentAnalysisData);
const shareText = `🚀 SEO Analysis Report
Website: ${url}
SEO Score: ${score}/100
Key Metrics:
• Title Length: ${currentAnalysisData.titleLength} characters
• Description Length: ${currentAnalysisData.descriptionLength} characters
• Images: ${currentAnalysisData.images}
• Internal Links: ${currentAnalysisData.internalLinks}
• HTTPS: ${currentAnalysisData.httpsEnabled ? 'Enabled' : 'Disabled'}
• Mobile Optimized: ${currentAnalysisData.mobileOptimized ? 'Yes' : 'No'}
Generated by Advanced SEO Analyzer`;
if (navigator.share && navigator.canShare && navigator.canShare({ text: shareText })) {
navigator.share({
title: 'SEO Analysis Report',
text: shareText,
url: window.location.href
}).then(() => {
console.log('Report shared successfully');
}).catch((error) => {
console.log('Share failed:', error);
fallbackShare(shareText);
});
} else {
fallbackShare(shareText);
}
} catch (error) {
console.error('Share Error:', error);
alert('শেয়ার করতে সমস্যা হয়েছে। দয়া করে আবার চেষ্টা করুন।');
}
}
function fallbackShare(shareText) {
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(shareText).then(() => {
alert('রিপোর্ট ক্লিপবোর্ডে কপি হয়েছে! এখন আপনি যেকোনো জায়গায় পেস্ট করতে পারেন।');
}).catch(() => {
showShareModal(shareText);
});
} else {
showShareModal(shareText);
}
}
function showShareModal(shareText) {
const modal = document.createElement('div');
modal.style.cssText = `
position: fixed; top: 0; left: 0; width: 100%; height: 100%;
background: rgba(0,0,0,0.8); z-index: 10000; display: flex;
align-items: center; justify-content: center;
`;
modal.innerHTML = `
রিপোর্ট শেয়ার করুন
বন্ধ করুন
alert('কপি হয়েছে!')); this.parentElement.parentElement.parentElement.remove();" style="padding: 10px 20px; background: #4facfe; color: white; border: none; border-radius: 8px; cursor: pointer;">কপি করুন
`;
document.body.appendChild(modal);
}
function scheduleAnalysis() {
alert('এই ফিচারটি শীঘ্রই আসছে! নিয়মিত বিশ্লেষণের জন্য আমাদের সাথে যোগাযোগ করুন।');
}
// Competitor comparison
async function compareWithCompetitor() {
const competitorUrl = document.getElementById("competitorUrl").value.trim();
if (!competitorUrl) {
alert('প্রতিযোগীর URL লিখুন');
return;
}
if (!currentAnalysisData) {
alert('প্রথমে আপনার ওয়েবসাইট বিশ্লেষণ করুন');
return;
}
try {
competitorData = await simulateSEOAnalysis(competitorUrl);
displayComparison(currentAnalysisData, competitorData);
} catch (error) {
alert('প্রতিযোগী বিশ্লেষণে সমস্যা হয়েছে');
}
}
// Display comparison
function displayComparison(yourData, competitorData) {
const comparisonResults = document.getElementById("comparisonResults");
const yourScore = calculateSEOScore(yourData);
const competitorScore = calculateSEOScore(competitorData);
comparisonResults.innerHTML = `
🆚 তুলনামূলক বিশ্লেষণ
${yourScore}
আপনার স্কোর
${competitorScore}
প্রতিযোগীর স্কোর
Title Length: আপনার ${yourData.titleLength} vs প্রতিযোগী ${competitorData.titleLength}
Description Length: আপনার ${yourData.descriptionLength} vs প্রতিযোগী ${competitorData.descriptionLength}
Images: আপনার ${yourData.images} vs প্রতিযোগী ${competitorData.images}
Internal Links: আপনার ${yourData.internalLinks} vs প্রতিযোগী ${competitorData.internalLinks}
`;
}
// Generate report content
function generateReportContent(data) {
const score = calculateSEOScore(data);
const url = document.getElementById("urlInput").value;
const currentDate = new Date().toLocaleDateString('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric'
});
return `
📝 Title Tag Analysis
Title: ${data.title}
Length: ${data.titleLength} characters
Status: ${data.titleLength >= 30 && data.titleLength <= 60 ? '✅ Optimal' : '⚠️ Needs Improvement'}
Recommendation: ${data.titleLength < 30 ? 'Title is too short. Consider adding more descriptive keywords.' : data.titleLength > 60 ? 'Title is too long. Consider shortening to improve visibility in search results.' : 'Title length is optimal for search engines.'}
📄 Meta Description Analysis
Description: ${data.description}
Length: ${data.descriptionLength} characters
Status: ${data.descriptionLength >= 120 && data.descriptionLength <= 160 ? '✅ Optimal' : '⚠️ Needs Improvement'}
Recommendation: ${data.descriptionLength < 120 ? 'Description is too short. Add more compelling content to improve click-through rates.' : data.descriptionLength > 160 ? 'Description is too long. Consider shortening to prevent truncation in search results.' : 'Description length is optimal for search engines.'}
🔧 Technical SEO Analysis
Factor Status Impact
HTTPS Security ${data.httpsEnabled ? '✅ Enabled' : '❌ Disabled'} ${data.httpsEnabled ? 'Positive' : 'Negative'}
Mobile Optimization ${data.mobileOptimized ? '✅ Yes' : '❌ No'} ${data.mobileOptimized ? 'Positive' : 'Critical'}
Social Media Tags ${data.socialTags ? '✅ Present' : '❌ Missing'} ${data.socialTags ? 'Positive' : 'Moderate'}
Structured Data ${data.structuredData ? '✅ Present' : '❌ Missing'} ${data.structuredData ? 'Positive' : 'Moderate'}
Canonical URL ${data.canonicalUrl ? '✅ Set' : '❌ Missing'} ${data.canonicalUrl ? 'Positive' : 'Moderate'}
📊 Content Analysis
Element Count Recommendation
H1 Tags ${data.headings.h1} ${data.headings.h1 === 1 ? 'Perfect' : data.headings.h1 === 0 ? 'Add one H1 tag' : 'Use only one H1 tag'}
H2 Tags ${data.headings.h2} ${data.headings.h2 > 0 ? 'Good structure' : 'Consider adding H2 tags'}
H3 Tags ${data.headings.h3} Supporting structure
Images ${data.images} ${data.imagesWithoutAlt > 0 ? `${data.imagesWithoutAlt} images missing alt text` : 'All images have alt text'}
Internal Links ${data.internalLinks} ${data.internalLinks > 3 ? 'Good internal linking' : 'Consider adding more internal links'}
External Links ${data.externalLinks} External references
📈 Performance Metrics
Page Size: ${data.pageSize} MB ${data.pageSize > 3 ? '(Consider optimization)' : '(Good)'}
Estimated Load Time: ${data.loadTime} seconds ${data.loadTime > 3 ? '(Needs improvement)' : '(Good)'}
Word Count: ${data.wordCount} words
💡 Key Recommendations
${generateSuggestions(data).map(suggestion => `${suggestion.title}: ${suggestion.description} `).join('')}
🎯 Top Keywords
${data.topKeywords && data.topKeywords.length > 0 ? `
Keyword Frequency Density
${data.topKeywords.slice(0, 10).map(keyword => `
${keyword.word} ${keyword.count} ${keyword.density}%
`).join('')}
` : '
No keyword data available
'}
Report generated by Advanced SEO Analyzer
This report provides insights to improve your website's search engine optimization.
`;
}
// Generate CSV content
function generateCSVContent(data) {
const score = calculateSEOScore(data);
const url = document.getElementById("urlInput").value;
const currentDate = new Date().toISOString().split('T')[0];
let csvContent = `SEO Analysis Report - ${currentDate}\n\n`;
csvContent += `Website,${url}\n`;
csvContent += `Analysis Date,${currentDate}\n`;
csvContent += `Overall SEO Score,${score}/100\n\n`;
csvContent += `BASIC INFORMATION\n`;
csvContent += `Metric,Value,Status\n`;
csvContent += `"Title","${data.title.replace(/"/g, '""')}","${data.titleLength >= 30 && data.titleLength <= 60 ? 'Optimal' : 'Needs Improvement'}"\n`;
csvContent += `Title Length,${data.titleLength} characters,"${data.titleLength >= 30 && data.titleLength <= 60 ? 'Good' : 'Poor'}"\n`;
csvContent += `"Description","${data.description.replace(/"/g, '""')}","${data.descriptionLength >= 120 && data.descriptionLength <= 160 ? 'Optimal' : 'Needs Improvement'}"\n`;
csvContent += `Description Length,${data.descriptionLength} characters,"${data.descriptionLength >= 120 && data.descriptionLength <= 160 ? 'Good' : 'Poor'}"\n\n`;
csvContent += `TECHNICAL SEO\n`;
csvContent += `Factor,Status,Impact\n`;
csvContent += `HTTPS Security,${data.httpsEnabled ? 'Enabled' : 'Disabled'},${data.httpsEnabled ? 'Positive' : 'Negative'}\n`;
csvContent += `Mobile Optimization,${data.mobileOptimized ? 'Yes' : 'No'},${data.mobileOptimized ? 'Positive' : 'Critical'}\n`;
csvContent += `Social Media Tags,${data.socialTags ? 'Present' : 'Missing'},${data.socialTags ? 'Positive' : 'Moderate'}\n`;
csvContent += `Structured Data,${data.structuredData ? 'Present' : 'Missing'},${data.structuredData ? 'Positive' : 'Moderate'}\n`;
csvContent += `Canonical URL,${data.canonicalUrl ? 'Set' : 'Missing'},${data.canonicalUrl ? 'Positive' : 'Moderate'}\n\n`;
csvContent += `CONTENT ANALYSIS\n`;
csvContent += `Element,Count,Recommendation\n`;
csvContent += `H1 Tags,${data.headings.h1},"${data.headings.h1 === 1 ? 'Perfect' : data.headings.h1 === 0 ? 'Add one H1 tag' : 'Use only one H1 tag'}"\n`;
csvContent += `H2 Tags,${data.headings.h2},"${data.headings.h2 > 0 ? 'Good structure' : 'Consider adding H2 tags'}"\n`;
csvContent += `H3 Tags,${data.headings.h3},Supporting structure\n`;
csvContent += `Total Images,${data.images},"${data.imagesWithoutAlt > 0 ? `${data.imagesWithoutAlt} images missing alt text` : 'All images have alt text'}"\n`;
csvContent += `Internal Links,${data.internalLinks},"${data.internalLinks > 3 ? 'Good internal linking' : 'Consider adding more internal links'}"\n`;
csvContent += `External Links,${data.externalLinks},External references\n\n`;
csvContent += `PERFORMANCE METRICS\n`;
csvContent += `Metric,Value,Assessment\n`;
csvContent += `Page Size,${data.pageSize} MB,"${data.pageSize > 3 ? 'Consider optimization' : 'Good'}"\n`;
csvContent += `Load Time,${data.loadTime} seconds,"${data.loadTime > 3 ? 'Needs improvement' : 'Good'}"\n`;
csvContent += `Word Count,${data.wordCount} words,Content length\n\n`;
if (data.topKeywords && data.topKeywords.length > 0) {
csvContent += `TOP KEYWORDS\n`;
csvContent += `Keyword,Frequency,Density\n`;
data.topKeywords.slice(0, 10).forEach(keyword => {
csvContent += `"${keyword.word}",${keyword.count},${keyword.density}%\n`;
});
csvContent += `\n`;
}
csvContent += `RECOMMENDATIONS\n`;
csvContent += `Priority,Recommendation,Description\n`;
generateSuggestions(data).forEach((suggestion, index) => {
csvContent += `${index + 1},"${suggestion.title}","${suggestion.description.replace(/"/g, '""')}"\n`;
});
return csvContent;
}
// Newsletter subscription
function subscribeNewsletter() {
const email = document.querySelector('.newsletter-input').value.trim();
if (!email) {
alert('দয়া করে আপনার ইমেইল ঠিকানা লিখুন');
return;
}
if (!isValidEmail(email)) {
alert('দয়া করে সঠিক ইমেইল ঠিকানা লিখুন');
return;
}
// Simulate newsletter subscription
alert('ধন্যবাদ! আপনি সফলভাবে আমাদের নিউজলেটারে সাবস্ক্রাইব করেছেন। আপনি নিয়মিত SEO টিপস এবং আপডেট পাবেন।');
document.querySelector('.newsletter-input').value = '';
}
function isValidEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
// Add event listener for newsletter button
document.addEventListener('DOMContentLoaded', function() {
const newsletterBtn = document.querySelector('.newsletter-btn');
if (newsletterBtn) {
newsletterBtn.addEventListener('click', subscribeNewsletter);
}
const newsletterInput = document.querySelector('.newsletter-input');
if (newsletterInput) {
newsletterInput.addEventListener('keypress', function(event) {
if (event.key === 'Enter') {
subscribeNewsletter();
}
});
}
});
// Load history on page load
window.addEventListener('load', loadHistory);
// Enter key support
document.getElementById("urlInput").addEventListener("keypress", function(event) {
if (event.key === "Enter") {
analyzeSEO();
}
});