# SEO Audit

> Source: https://go-seo.com/free-go-seo-audit/  
> Last updated: September 14, 2026

How does your website score?

Enter your URL. We'll analyze your homepage for SEO, copy, and local visibility — then show you exactly what to fix.

## Frequently Asked Questions

### Is this audit actually free?

Yes. Enter your URL and email, and you get your full results immediately, no credit card, no sales call required to see your score.

### What does the audit check?

The tool analyzes your homepage across SEO fundamentals, on-page copy, and local visibility signals, then flags specific issues holding your rankings back and shows you exactly what to fix.

### Does this check how I show up in AI search tools like ChatGPT?

Yes. Beyond traditional SEO factors, the audit also looks at signals that affect whether AI-powered search engines like ChatGPT and Perplexity can find, parse, and cite your site.

### Will someone contact me after I run the audit?

You'll get your results on screen right away. If you'd like help acting on them, there's an option to book a free discovery call, but nobody will call you unless you ask.

Working

Fetching your homepage...

## Your results are ready

We found some things worth paying attention to. Enter your name and email to see your full SEO score, what's working, and what's costing you clients.

No spam. Occasional tips to help your website rank higher.

⚠️

Overall grade

Findings

**Want help fixing these?** GO-SEO specializes in service business websites. Let's talk about your site.

[Book a free discovery call →](https://calendly.com/go-seo/15-minute-discovery-call)

';
});
stepIdx = 0;
activateStep(0);
stepTimer = setInterval(function() {
if (stepIdx < STEPS.length) activateStep(stepIdx);
}, 2800);
animateDots();
}

function animateDots() {
dotTimer = setInterval(function() {
dotCount = (dotCount + 1) % 7;
var el = document.getElementById('goseo-dots');
if (el) el.textContent = 'Working' + '.'.repeat(dotCount);
if (dotCount === 0) {
dotLabelIdx = (dotLabelIdx + 1) % DOT_LABELS.length;
var lbl = document.getElementById('goseo-label');
if (lbl) lbl.textContent = DOT_LABELS[dotLabelIdx];
}
}, 320);
}

function activateStep(i) {
if (i > 0) {
var prev = document.getElementById('gstep-'+(i-1));
var prevIco = document.getElementById('gstep-icon-'+(i-1));
if (prev) { prev.classList.remove('active'); prev.classList.add('done'); }
if (prevIco) prevIco.textContent = '✅';
}
var cur = document.getElementById('gstep-'+i);
var curIco = document.getElementById('gstep-icon-'+i);
if (cur) cur.classList.add('active');
if (curIco) curIco.innerHTML = '⟳';
var pct = Math.round(((i+1)/STEPS.length)*75);
document.getElementById('goseo-bar').style.width = pct + '%';
stepIdx = i + 1;
}

function finishProgress() {
clearInterval(stepTimer);
clearInterval(dotTimer);
STEPS.forEach(function(_,i) {
var el = document.getElementById('gstep-'+i);
var ico = document.getElementById('gstep-icon-'+i);
if (el) { el.classList.remove('active'); el.classList.add('done'); }
if (ico) ico.textContent = '✅';
});
document.getElementById('goseo-bar').style.width = '100%';
document.getElementById('goseo-dots').textContent = 'Analysis complete';
document.getElementById('goseo-label').textContent = 'Your results are ready.';
setTimeout(function() {
var gate = document.getElementById('goseo-gate');
gate.style.display = 'block';
gate.scrollIntoView({behavior:'smooth', block:'nearest'});
}, 700);
}

function prefetchAudit(url) {
var done = false;
var minWait = new Promise(function(r){ setTimeout(r, 16000); });
var fetchPromise = fetch(WORKER, {
method: 'POST',
headers: {'Content-Type':'application/json'},
body: JSON.stringify({url: url})
})
.then(function(res){ return res.json(); })
.then(function(data){ auditData = data; })
.catch(function(){ auditData = getMock(url); });

Promise.all([minWait, fetchPromise]).then(function(){
if (!done) { done = true; finishProgress(); }
});
}

window.goseoUnlock = function() {
var name = document.getElementById('goseo-name').value.trim();
var email = document.getElementById('goseo-email').value.trim();
if (!name) { alert('Please enter your first name'); return; }
if (!email || !email.includes('@')) { alert('Please enter a valid email'); return; }
var btn = document.getElementById('goseo-gate-btn');
btn.disabled = true;
btn.textContent = 'One moment...';
try {
fetch(WORKER, {
method: 'POST',
headers: {'Content-Type':'application/json'},
body: JSON.stringify({url: auditUrl, firstName: name, email: email, subscribeOnly: true})
});
} catch(e) {}
document.getElementById('goseo-gate').style.display = 'none';
document.getElementById('goseo-progress').style.display = 'none';
document.getElementById('goseo-hero').style.display = 'none';
setTimeout(function(){ renderResults(auditData); }, 50);
};

function barColor(s,m) {
var p = s/m;
if (p >= 0.75) return '#4ade80';
if (p >= 0.5) return '#fbbf24';
return '#f87171';
}

function shamePercent(t) {
if (t <= 30) return 92;
if (t <= 40) return 85;
if (t <= 50) return 74;
if (t <= 60) return 61;
if (t <= 70) return 48;
if (t <= 80) return 32;
return 18;
}

function renderResults(d) {
var industry = d.industry || 'service business';
var pct = shamePercent(d.total);

// Scroll to top of audit root first
var root = document.getElementById('goseo-audit-root');
if (root) root.scrollIntoView({behavior:'smooth', block:'start'});

document.getElementById('goseo-score').textContent = d.total;
document.getElementById('goseo-grade').textContent = 'Grade: ' + d.grade;
document.getElementById('goseo-summary').textContent = d.summary;

document.getElementById('goseo-shame').innerHTML =
'**Your ' + industry + ' site is behind ' + pct + '% of similar websites we\'ve audited.** Most sites that score this low are losing inquiries to competitors who rank above them — not because they\'re better at what they do, but because their SEO is.';

document.getElementById('goseo-cta-text').innerHTML =
'**Want help fixing these?**
GO-SEO specializes in ' + industry + ' websites.

' +
'These findings cover the SEO fundamentals, but ranking in 2026 goes deeper. Search is changing fast. AI tools like ChatGPT, Claude, and Perplexity are now recommending businesses directly to buyers. Getting cited by AI, what\'s called GEO (Generative Engine Optimization), requires a different layer of strategy on top of traditional SEO.

' +
'**We handle both.** If you want your ' + industry + ' business showing up everywhere your clients are searching, Google, AI assistants, and voice search, let\'s talk.';

var cats = document.getElementById('goseo-cats');
cats.innerHTML = '';
(d.categories||[]).forEach(function(c) {
var p = Math.round((c.score/c.max)*100);
cats.innerHTML += '' +
''+c.name+'

' +
''+c.score+'/'+c.max+'

' +
'

' +
'

';
});

var expl = document.getElementById('goseo-explainers');
expl.innerHTML = '';
EXPLAINERS.forEach(function(e) {
expl.innerHTML += '' +
''+e.name+'

' +
''+e.desc+'

' +
'

';
});

var fl = document.getElementById('goseo-findings');
fl.innerHTML = '';
var icoMap = {pass:'✅',warn:'⚠️',fail:'❌'};
var bdgMap = {pass:'bp',warn:'bw',fail:'bf'};
(d.findings||[]).forEach(function(f) {
fl.innerHTML += '' +
''+(icoMap[f.status]||'ℹ️')+'' +
'' +
''+f.status+''+f.title+'

' +
''+f.detail+'

' +
'

';
});

document.getElementById('goseo-results').style.display = 'block';
document.getElementById('goseo-powered').style.display = 'block';
}

window.goseoprint = function() {
window.print();
};

function getMock(url) {
return {
total:62, grade:'D', industry:'service business',
summary:'Your homepage has solid keyword presence and genuine social proof, but is missing schema markup, has inconsistent local signals, and several technical gaps that limit how Google indexes and ranks the page.',
categories:[
{name:'SEO fundamentals',score:14,max:20},
{name:'Keyword targeting',score:15,max:20},
{name:'Copy effectiveness',score:16,max:20},
{name:'Technical signals',score:8,max:20},
{name:'Local SEO',score:9,max:20}
],
findings:[
{status:'pass',title:'Title tag targets the right keywords',detail:'Your title includes your primary service and city, one of the strongest on-page signals.'},
{status:'pass',title:'Meta description is specific and compelling',detail:'Your meta description names your niche, mentions results, and has a benefit hook.'},
{status:'warn',title:'Heading hierarchy breaks down below H1',detail:'Multiple H2 tags are used where H3 would be correct. This dilutes the structure Google uses to understand page topics.'},
{status:'fail',title:'No LocalBusiness schema markup found',detail:'Schema markup tells Google your business name, address, phone, and hours in machine-readable format. Without it you are invisible to the local pack.'},
{status:'fail',title:'Images appear to lack alt text',detail:'Alt text is both an accessibility requirement and a keyword opportunity. Descriptive alt text on images helps you rank in Google Image Search.'},
{status:'warn',title:'Address in footer is not schema-marked',detail:'Your NAP appears in the footer but is not wrapped in structured data. Unmarked NAP is a top reason local businesses do not appear in the local 3-pack.'},
{status:'fail',title:'No review or testimonial schema',detail:'You have strong testimonials but they are plain text. Review schema can surface star ratings in Google results.'},
{status:'pass',title:'Mobile viewport configured correctly',detail:'The page uses the correct viewport meta tag — a baseline mobile requirement Google checks before ranking any page.'}
]
};
}
})();
