SEO Score Checker

On-Page SEO Score Checker

Analyze your content to improve search engine rankings.

Content to Analyze

Enter your page content to generate an SEO score.

Analyzing SEO...

'; placeholder.classList.remove('hidden'); resultsContainer.classList.add('hidden'); setTimeout(() => { const analysisData = analyze(); renderResults(analysisData); placeholder.classList.add('hidden'); resultsContainer.classList.remove('hidden'); }, 1500); }; const handleDownloadPdf = async () => { const pdfContentEl = document.getElementById('pdf-content'); if (!pdfContentEl || !scoreChartInstance) return; // Populate PDF document.getElementById('pdf-timestamp').textContent = new Date().toLocaleString('en-US'); document.getElementById('pdf-keyword').textContent = currentAnalysis.keyword; document.getElementById('pdf-score-chart-img').src = scoreChartInstance.toBase64Image(); document.getElementById('pdf-breakdown-list').innerHTML = currentAnalysis.checks.map(c => `

${c.ok ? '✅' : '⚠️'} ${c.text}

`).join(''); document.getElementById('pdf-recommendations-list').innerHTML = `
    ${currentAnalysis.recommendations.map(r => `
  • • ${r}
  • `).join('')}
`; pdfContentEl.classList.remove('hidden'); await new Promise(resolve => setTimeout(resolve, 100)); html2canvas(pdfContentEl, { scale: 2 }).then(canvas => { pdfContentEl.classList.add('hidden'); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const margin = 40; const imgWidth = pdfWidth - (margin * 2); const imgHeight = (canvas.height * imgWidth) / canvas.width; pdf.addImage(imgData, 'PNG', margin, margin, imgWidth, imgHeight); pdf.save(`${currentAnalysis.keyword.replace(/\s+/g, '-')}-seo-report.pdf`); }).catch(err => { console.error("Error generating PDF:", err); pdfContentEl.classList.add('hidden'); }); }; // --- Attach Event Listeners --- analyzeBtn.addEventListener('click', handleAnalysis); pdfBtn.addEventListener('click', handleDownloadPdf); });
Scroll to Top