DEV Community

Cover image for I Built an Instant SEO Audit API — Here's What I Learned About Technical SEO
roberto degani
roberto degani

Posted on

I Built an Instant SEO Audit API — Here's What I Learned About Technical SEO

I was consulting for an agency that ran 50+ client audits monthly. They'd use Screaming Frog, Ahrefs, SEMrush—paying hundreds in subscription fees.

Then I asked: why can't we build this?

Six weeks later, the Degani SEO Audit API was live. It runs 5K daily audits now. Free.

What Technical SEO Actually Is

Most agencies focus on keywords and backlinks. That's 20% of SEO.

Technical SEO is the 80%—the stuff that determines if Google can even crawl and index your site.

Are your page titles under 60 characters? Does your site load in under 3 seconds? Do you have proper header hierarchy? These things separate "indexable site" from "invisible site."

The API checks all of it instantly.

What This API Audits

POST /audit - Full technical SEO report with 25+ checks
POST /headers - HTTP headers analysis (caching, security, compression)

One request. One response. Everything you need.

The 25 Checks That Matter

Every technical SEO problem falls into categories. Here's what the API checks:

Meta Tags & Content:

  • Title tag presence and length (optimal: 50-60 chars)
  • Meta description presence and length (120-160 chars)
  • H1 tag (only one per page)
  • Proper heading hierarchy (H1 → H2 → H3)

Performance:

  • Page load time (target: <3 seconds)
  • Mobile responsiveness
  • Compression enabled (gzip)

Indexability:

  • Canonical tags (self-referencing or correct)
  • Robots.txt (blocks search? flags it)
  • Meta robots tag (index/noindex status)
  • Sitemap.xml presence

Security & Standards:

  • HTTPS enforcement
  • Mobile-friendly design
  • Valid HTML structure
  • Broken links detection

Open Graph & Structured Data:

  • OG tags (social sharing)
  • Schema.org markup
  • JSON-LD presence

Real Audit In Action

Let's audit TechCrunch's homepage:

curl -X POST https://degani-seo-audit.deganiagency.workers.dev/audit \
  -H "Content-Type: application/json" \
  -d '{"url": "https://techcrunch.com"}'
Enter fullscreen mode Exit fullscreen mode

The response:

{
  "url": "https://techcrunch.com",
  "status": "pass",
  "score": 87,
  "checks": {
    "title_tag": {
      "status": "pass",
      "value": "TechCrunch – Startup and Technology News",
      "length": 43,
      "recommendation": "✓ Good"
    },
    "meta_description": {
      "status": "pass",
      "value": "The latest news and analysis...",
      "length": 155,
      "recommendation": "✓ Good"
    },
    "h1_tags": {
      "status": "pass",
      "count": 1,
      "value": "News, Analysis, and Opinions on Technology",
      "recommendation": "✓ Correct"
    },
    "page_load_time": {
      "status": "pass",
      "time_ms": 1840,
      "recommendation": "✓ Excellent"
    },
    "https": {
      "status": "pass",
      "recommendation": "✓ Enabled"
    },
    "mobile_responsive": {
      "status": "pass",
      "recommendation": "✓ Mobile-friendly"
    },
    "canonical_tag": {
      "status": "pass",
      "value": "https://techcrunch.com/"
    },
    "robots_txt": {
      "status": "pass",
      "allows_crawling": true
    },
    "structured_data": {
      "status": "pass",
      "types": ["ArticleSchema", "OrganizationSchema"],
      "recommendation": "✓ Good"
    }
  },
  "issues": [],
  "warnings": [],
  "timestamp": "2026-03-22T10:30:00Z"
}
Enter fullscreen mode Exit fullscreen mode

Score of 87? That's a real, working site. Technical SEO is solid.

Finding Real Problems

Now let's audit a site with actual issues:

const auditSite = async (url) => {
  const response = await fetch(
    'https://degani-seo-audit.deganiagency.workers.dev/audit',
    {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ url })
    }
  );

  const audit = await response.json();

  // Show only failures
  const problems = audit.checks
    .filter(check => check.status === 'fail')
    .map(check => ({
      check: check.name,
      issue: check.recommendation,
      impact: check.impact // 'critical' | 'high' | 'medium' | 'low'
    }));

  return problems;
};

const issues = await auditSite('https://example-with-seo-problems.com');
console.log(issues);
Enter fullscreen mode Exit fullscreen mode

Typical response for a broken site:

[
  {
    "check": "title_tag",
    "issue": "Title tag missing or empty",
    "impact": "critical"
  },
  {
    "check": "page_load_time",
    "issue": "Page takes 8.2 seconds to load (target: <3s)",
    "impact": "high"
  },
  {
    "check": "h1_tags",
    "issue": "No H1 found on page",
    "impact": "critical"
  },
  {
    "check": "mobile_responsive",
    "issue": "Page is not mobile-friendly",
    "impact": "high"
  }
]
Enter fullscreen mode Exit fullscreen mode

Why These Checks Matter

Why Title Tags?
Your title appears in Google results. It's the first impression. Too long? Google cuts it off. Too short? You're wasting real estate.

Why H1 Tags?
Google uses hierarchy to understand page structure. No H1? It doesn't know what your page is about.

Why Page Speed?
Mobile users leave slow sites. Google ranks slower sites lower. Non-negotiable.

Why HTTPS?
Google explicitly favors secure sites. Users see "Not Secure" warnings. It's 2026. This should be automatic.

Why Mobile-Friendly?
60%+ of searches are mobile. If your site breaks on phones, you lose half your traffic.

Headers Analysis

Sometimes you need deep infrastructure checks:

curl -X POST https://degani-seo-audit.deganiagency.workers.dev/headers \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'
Enter fullscreen mode Exit fullscreen mode

Response includes:

{
  "headers": {
    "content_encoding": "gzip",
    "cache_control": "public, max-age=3600",
    "x_frame_options": "SAMEORIGIN",
    "x_content_type_options": "nosniff",
    "content_security_policy": "present",
    "server": "cloudflare"
  },
  "issues": [
    {
      "header": "expires",
      "status": "missing",
      "recommendation": "Add Expires header for better caching"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

You're looking at caching strategy, security headers, compression—infrastructure-level SEO.

Building This Changed My Understanding

Lesson 1: Most sites fail on basics. 60% of sites I audit are missing proper H1 tags. It's the easiest fix.

Lesson 2: Page speed correlates with ranking. I've seen sites jump 5-10 positions just by optimizing load time.

Lesson 3: Canonical tags prevent duplicate content problems. Implement them correctly and half your indexation issues vanish.

Lesson 4: Structured data isn't optional anymore. Google rewards it. Schema.org markup is standard for 2026.

Use Cases

Agency audits: Run 100 client audits in 2 minutes. Export as PDF reports.

Marketing automation: Monitor 50 competitor sites daily. Get alerts on technical SEO changes.

Content strategy: Before publishing, run an audit on similar pages to match best practices.

Site migration: Audit old site vs new site. Ensure nothing broke.

Competitive analysis: Audit competitors' sites. See where they're winning technically.

Getting Started

  1. Send a URL
  2. Get back a detailed technical SEO report
  3. Fix issues based on priority (critical first)
  4. Re-audit to verify improvements

Full API docs: https://rapidapi.com/deganiagency/api/instant-seo-audit

Real Impact

I audited one client's site. Found:

  • Missing H1 tags (10 pages)
  • Broken images (34 404s)
  • No HTTPS on subpages
  • Mobile not responsive

Fixed everything. Three months later: +45% organic traffic.

Technical SEO isn't flashy. But it works.

What's Next

Working on:

  • Core Web Vitals analysis (LCP, FID, CLS)
  • International SEO checks (hreflang tags)
  • JSON-LD validation
  • Structured data schema testing

Already using the API? Share your results. I'd love to hear what you found.


Try it free: https://rapidapi.com/deganiagency/api/instant-seo-audit
Source: https://degani-seo-audit.deganiagency.workers.dev
Perfect for: Technical SEO audits, competitor analysis, site monitoring, pre-launch checks

Top comments (0)