Skip to content

dyc8282/ai-seo-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI SEO Analyzer

Crawl any webpage and get an AI-powered SEO audit with a score (0-100) and actionable recommendations.

License: MIT TypeScript Node.js


Features

  • 7-Point SEO Audit — Title tags, meta descriptions, heading structure, content quality, image optimization, link structure, and technical SEO
  • AI-Powered Scoring — Get an overall score from 0 to 100 with a detailed summary
  • Issue Detection — Issues categorized by severity: critical, high, medium, low
  • Quick Wins — Instantly see the easiest improvements you can make
  • Strengths Highlighted — Know what your page is already doing well
  • JSON Export — Every analysis is saved as a structured JSON file
  • Interactive CLI — Just run it and enter a URL

Quick Start

Prerequisites

Installation

git clone https://github.com/dyc8282/ai-seo-analyzer.git
cd ai-seo-analyzer
npm install

Configuration

Copy the example environment file and add your API key:

cp .env.example .env

Edit .env and replace your_hyperbrowser_api_key_here with your actual key.

Usage

npm start

You'll be prompted to enter a URL. The tool will crawl the page, analyze it, and display results in your terminal.

Sample Output

============================================================
SEO Analysis Results
============================================================

Overall Score: 48/100

Summary:
The page at example.com is extremely minimal and functions as a
generic example domain rather than an SEO-optimized page...

Issues Found:

  [HIGH]
    - Title Tag: Title tag is very short and generic
      Recommendation: Expand the title to 50-60 characters...
    - Meta Description: No explicit meta description is provided
      Recommendation: Add a meta description of 150-160 characters...
    - Content: The page contains very little text (well under 300 words)
      Recommendation: Expand the content to at least 300-500 words...

  [MEDIUM]
    - Headings: The heading hierarchy and use of subheadings are minimal
    - Keywords: No clear keyword strategy is evident
    - Links: Only a single external link is present
    - Technical SEO: No explicit canonical tag is visible

  [LOW]
    - Images: No images are present
    - Links: External link does not specify rel attributes

Strengths:
  + Page is served over HTTPS
  + Viewport meta tag is present (mobile-friendly)
  + Extremely lightweight with fast load times
  + External link points to authoritative resource

Quick Wins:
  * Update the title tag to be more descriptive (50-60 chars)
  * Add a concise meta description (150-160 chars)
  * Add H2 subheadings to structure content
  * Add a canonical tag in the <head>

============================================================
Results saved to: seo-analysis-example-com-2026-01-21T14-02-20-244Z.json
Full JSON Output
{
  "overallScore": 48,
  "summary": "The page at example.com is extremely minimal and functions as a generic example domain rather than an SEO-optimized page.",
  "issues": [
    {
      "type": "Title Tag",
      "severity": "high",
      "issue": "Title tag is very short and generic",
      "recommendation": "Expand the title to 50-60 characters and include a primary keyword"
    },
    {
      "type": "Meta Description",
      "severity": "high",
      "issue": "No explicit meta description is provided",
      "recommendation": "Add a meta description of 150-160 characters"
    },
    {
      "type": "Content",
      "severity": "high",
      "issue": "The page contains very little text (well under 300 words)",
      "recommendation": "Expand the content to at least 300-500 words"
    }
  ],
  "strengths": [
    "Page is served over HTTPS",
    "Viewport meta tag is present, indicating mobile-friendliness",
    "Extremely lightweight with fast load times"
  ],
  "quickWins": [
    "Update the title tag to be more descriptive",
    "Add a concise meta description",
    "Add H2 subheadings to structure content",
    "Add a canonical tag"
  ],
  "url": "https://example.com"
}

How It Works

  1. Input — You provide a URL to analyze
  2. Crawl — Hyperbrowser navigates to the page and extracts the full DOM
  3. AI Analysis — The extracted content is analyzed against 7 SEO categories
  4. Validation — Results are validated using Zod schemas for type safety
  5. Output — Formatted results displayed in terminal + saved as JSON

Configuration

Variable Required Description
HYPERBROWSER_API_KEY Yes Your Hyperbrowser API key

Tech Stack

  • TypeScript — Type-safe source code
  • Hyperbrowser SDK — Web crawling and AI-powered extraction
  • Zod — Runtime schema validation
  • dotenv — Environment variable management

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License — see the LICENSE file for details.

About

AI-powered SEO analyzer - crawl any webpage and get a scored audit (0-100) with actionable recommendations

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors