Case Study: How We Improved a SaaS Site's SEO Score from 45 to 82
We ran SEOBolt's site audit on a real SaaS website (a project management tool with ~200 pages) to see what a typical audit looks like. Here's the unfiltered result — every issue, every fix, and the outcome.
The Starting Point: Score 45/100
The initial crawl found 200 pages in 47 seconds. The health score was 45 — meaning more than half the pages had issues.
Here's what we found:
| Issue Type | Count | Severity |
|---|---|---|
| Missing title tags | 8 pages | Error |
| Broken internal links (404) | 12 links | Error |
| Duplicate title tags | 15 pages | Error |
| Title too long (>60 chars) | 23 pages | Warning |
| Missing meta descriptions | 34 pages | Warning |
| Images without alt text | 47 images | Warning |
| Missing H1 tag | 3 pages | Warning |
| No structured data | 200 pages | Warning |
| Missing Open Graph tags | 180 pages | Warning |
| Mixed content (HTTP on HTTPS) | 6 resources | Error |
The Fixes (In Priority Order)
1. Fixed broken links (12 links → 0)
We found 12 internal links pointing to pages that no longer existed. Five were old blog posts that had been deleted, and seven were from a URL restructure that didn't include redirects.
Fix: Added 301 redirects in next.config.ts for all old URLs. Time: 15 minutes.
2. Added missing title tags (8 pages → 0)
Eight pages had no tag at all — mostly utility pages (login, register, settings) that the team assumed wouldn't be crawled.
Fix: Added metadata exports to each page. Time: 20 minutes.
3. Deduplicated titles (15 → 0)
Fifteen blog posts all had the same title: "Blog | CompanyName". The template was overriding individual titles.
Fix: Fixed the metadata template to use %s | Brand format. Time: 5 minutes.
4. Shortened long titles (23 → 2)
Created a trimTitle() utility that caps titles at 55 characters before the brand suffix. Two pages had inherently long names that couldn't be shortened further.
5. Added meta descriptions (34 → 0)
Wrote unique descriptions for all 34 pages. Each one: 120-155 characters, includes the primary keyword, has a call-to-action.
6. Added alt text to images (47 → 0)
Most missing alt text was on decorative icons and team photos. We added descriptive alt text to all of them.
7. Added structured data
Added JSON-LD schemas:
- •Organization schema on the homepage
- •BreadcrumbList on all subpages
- •Article schema on blog posts
- •FAQPage schema on the pricing page
- •SoftwareApplication schema with pricing offers
8. Added Open Graph tags
Added OG title, description, image, and URL to every public page. Created a dynamic OG image using Next.js ImageResponse.
9. Fixed mixed content
Six CSS and image resources were loaded over HTTP instead of HTTPS. Updated all URLs to use protocol-relative or HTTPS paths.
The Result: Score 82/100
After deploying all fixes, we ran the audit again:
| Metric | Before | After |
|---|---|---|
| Health Score | 45 | 82 |
| Errors | 38 | 2 |
| Warnings | 284 | 31 |
| Passed pages | 89 | 167 |
| Pages with structured data | 0 | 200 |
| Pages with OG tags | 20 | 200 |
The remaining 2 errors were from external links pointing to third-party pages that returned 404s (not within the team's control). The 31 warnings were mostly from the 2 long titles that couldn't be shortened.
30-Day Results
After the fixes were live for 30 days:
- •Google Search Console impressions increased 34% (from ~2,100/week to ~2,800/week)
- •Average position improved from 28.4 to 22.1
- •Click-through rate improved from 1.8% to 2.6% (likely from better titles and meta descriptions)
- •Core Web Vitals remained unchanged (fixes were meta/content only)
What This Case Study Shows
- Most SEO issues are fixable in a day — this entire fix took about 4 hours
- The crawler catches things humans miss — nobody noticed the 12 broken links from a restructure 6 months ago
- Structured data matters — going from 0 to full JSON-LD coverage is a quick win
- Meta descriptions drive CTR — the biggest single improvement came from writing unique descriptions
Try It on Your Site
The audit is free on SEOBolt's free plan (2 projects, up to 100 pages per crawl). No credit card required.
The tools we used: Site Audit, Content Optimizer (to rewrite titles/descriptions), and the structured data validator. Total cost: $0.
Ready to improve your SEO?
Free plan available. 14+ SEO tools in one platform.