A simple SEO inspecter Tool, to get social media card previews
TypeScript 97.4%
CSS 1.7%
HTML 0.6%
JavaScript 0.3%
14 1 0

Clone this repository

https://tangled.org/danielmorrisey.com/seo-tester https://tangled.org/did:plc:l37td5yhxl2irrzrgvei4qay/seo-tester
git@tangled.org:danielmorrisey.com/seo-tester git@tangled.org:did:plc:l37td5yhxl2irrzrgvei4qay/seo-tester

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

@madebydanny / seo-tester#

img Try it seo-tester.madebydanny.uk

IMPORTANT

The app is slow at first, please give it time to do the first scraping

SEO Inspector (Vite + React + TypeScript)#

Lightweight web app for scraping a page's metadata and producing an SEO-quality report.

Features

  • Analyze a URL for title, description, Open Graph and Twitter metadata, canonical, lang, viewport, charset, and more.
  • Built with Vite, React, TypeScript and shadcn/ui primitives.
  • Client-side HTML fetch via a CORS proxy and metadata extraction.

Quick start

  1. Install dependencies
cd /Users/danielmorrisey/Desktop/Tangled/seo-inspector-api
npm install
  1. Start dev server
npm run dev
  1. Open the app in your browser (usually http://localhost:5173) and go to the main page to use the SEO tester.

Notes about the SEO tester performance improvements

  • In-memory caching: repeated analyses for the same URL use a short (5 minute) cache to avoid refetching HTML.
  • Fetch timeout: network fetches use an 8s AbortController timeout to avoid long hangs.
  • UI responsiveness: removed unnecessary UI delays and shortened the animated counters for a snappier feel.

Testing the improvements

  • Run an analysis on a URL (for example https://github.com). Re-run the same URL and you should see the second run complete faster.
  • Test a slow or non-responsive target to see the 8s timeout and error handling.

Developer notes

  • Type checking: after installing deps run npx tsc --noEmit to run TypeScript checks.
  • Linting: npm run lint (requires eslint installed via npm install).
  • The simple cache is stored in-memory (window.__seo_tester_cache_v1). If you want persistence across reloads, persist to localStorage or a small server-side cache.

Contact

  • For changes or suggestions, open an issue or edit the repo directly.

Enjoy!

Preview#

img img img