DEV Community

adilmakhdoom44
adilmakhdoom44

Posted on

I Built a Free Open-Source SEO Checker Tool (Works with WordPress, Showit, Wix and More)

Most free SEO tools online either require a sign-up, hit you with paywalls after the first check, or only work for WordPress sites. I got tired of it, so I built my own.

Live tool: https://adilmakhdoom44.github.io/seo-checker/
GitHub repo: https://github.com/adilmakhdoom44/seo-checker

Zero sign-up. Zero API keys. Fully open source.


Why I Built This

I'm a Showit website designer and SEO specialist at theadil.me. Most of my clients come from platforms like Showit, WordPress, Wix, and Squarespace. Every time I audit a site, I needed a fast way to check the basics: is there an H1? Is the meta description the right length? Is the sitemap accessible?

The existing free tools either:

  • Cap you at 1-2 checks per day without an account
  • Don't support Showit or other non-WordPress platforms
  • Show you a "score" with zero actionable detail
  • Require you to install a plugin or browser extension

So I built a single HTML file that does 20+ checks instantly, in the browser, with no backend.


What It Checks

The tool runs four categories of checks:

Technical SEO

  • HTTPS enabled
  • robots.txt accessible and has content
  • sitemap.xml accessible and valid
  • Canonical tag present
  • Viewport meta tag (mobile-friendliness signal)
  • Favicon present
  • 404 error handling works correctly

On-Page SEO

  • Meta title length (50-60 characters is ideal)
  • Meta description length (150-160 characters)
  • H1 tag count (exactly one is best practice)
  • Image alt text (all images should have non-empty alt attributes)
  • Word count estimate (500+ words signals content depth)
  • Internal link count (5+ internal links)

Social and Schema

  • Open Graph tags (og:title, og:description, og:image)
  • Twitter Card tags
  • JSON-LD or microdata schema markup

Performance (via Google PageSpeed Insights API)

  • PageSpeed mobile score
  • Largest Contentful Paint (LCP)
  • Cumulative Layout Shift (CLS)
  • Total Blocking Time (TBT)

Each check returns a pass, warning, or fail status, the actual value found on the page, and a one-line fix tip if something is wrong.


How It Works Technically

The whole thing is three files: index.html, style.css, and script.js. No npm, no build step, no Node.js.

Fetching external pages: I used the allorigins.win CORS proxy to fetch the raw HTML of any URL the user enters. This lets the tool work client-side without a backend.

Parsing the HTML: Once the HTML string comes back from the proxy, I pass it to DOMParser to get a queryable document object. From there it's standard DOM queries: querySelector('title'), querySelectorAll('img'), etc.

Performance data: The PageSpeed Insights API v5 is free and doesn't require an API key for basic usage. I call it with ?strategy=mobile and pull the LCP, CLS, TBT, and overall score from the response.

Scoring: Each check is worth 1 point (pass), 0.5 points (warning), or 0 points (fail). The final score is normalized to 0-100 and displayed as an animated SVG ring.


It Works on Every Platform

This is the part I care most about. The tool does not care what CMS or website builder your site uses. It fetches the rendered HTML output, which looks the same whether the site was built on:

  • WordPress with Yoast or RankMath
  • Showit with a custom design
  • Wix or Squarespace
  • Webflow, Ghost, or a static site
  • A custom-coded HTML site

If the page is publicly accessible, the tool can audit it.


SEO Score and What It Means

I built the scoring around what actually moves rankings:

  • A perfect SEO score on this tool means your on-page fundamentals are solid
  • Warnings flag things like a title that is slightly too long or a meta description that is missing
  • Fails flag critical issues like no H1, no sitemap, or missing Open Graph tags

The score is not a vanity metric. Every point maps to a specific, fixable issue.


Export to CSV

After running an audit, you can click Export CSV to download a spreadsheet with all results: section, check name, status, value found, and fix tip. Useful for sending to a client or tracking changes over time.


Try It

https://adilmakhdoom44.github.io/seo-checker/

GitHub: https://github.com/adilmakhdoom44/seo-checker

Run it on your own site and let me know what score you get. If you find a bug or want to add a check, pull requests are open.


I also built a dedicated Showit Website Analyzer for Showit-specific audits if you are a Showit designer or have a Showit site.

Built by Adil Makhdoom -- Showit Website Designer and SEO Specialist.

Top comments (0)