Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEO Analyzer

A Java/Spring Boot MVP that fetches a public web page, scores common on-page SEO signals, checks target-keyword relevance, and can optionally inspect Google results through SerpApi.

Frontend

The project includes a responsive, interactive frontend served by Spring Boot. After starting the application, open:

http://localhost:8080

Enter a public page URL and an optional target keyword. The dashboard displays the SEO score, page metrics, priority recommendations, detailed checks, and optional ranking results.

What it checks

  • Title and meta-description lengths
  • One clear H1
  • Content depth and target-keyword relevance
  • Image alt text
  • Canonical URL, viewport, robots/noindex, and JSON-LD
  • Internal and external link counts
  • Optional keyword position and top competitors

The score is a useful audit checklist, not a promise of Google ranking. Real rankings also depend on backlinks, search intent, location, personalization, site authority, Core Web Vitals, and many other signals. Font choice is mainly a readability and performance concern, not a direct ranking lever.

Run

Requires Java 21 and either Gradle or Maven.

GRADLE_USER_HOME="$PWD/.gradle-home" gradle bootRun
# or: mvn spring-boot:run

To enable ranking lookup, create a SerpApi account and provide its API key:

export SERPAPI_API_KEY="your-key"
GRADLE_USER_HOME="$PWD/.gradle-home" gradle bootRun

Do not scrape Google result pages directly; it is brittle and may violate its terms. The ranking adapter can later be replaced with DataForSEO, Bing Web Search, or another approved provider.

API

curl -X POST http://localhost:8080/api/analyze \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com",
    "keyword": "car rental",
    "includeRanking": false
  }'

includeRanking should only be true when SERPAPI_API_KEY is configured. The API returns the score, grade, page summary, individual checks, actionable recommendations, and optional ranking results.

Next production steps

  1. Add robots.txt and sitemap crawling with strict page/depth limits.
  2. Integrate PageSpeed Insights for Core Web Vitals and mobile performance.
  3. Store audits so users can compare changes over time.
  4. Add competitor-page comparison and backlink data from an approved provider.
  5. Add authentication, rate limiting, DNS rebinding protection, and a fetch-worker network sandbox.

About

a simple site build with java to rank your website with seo rankings

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages