···11# @madebydanny / seo-tester
22+Try it 👉 [seo-tester.madebydanny.uk](https://seo-tester.madebydanny.uk/)
33+44+SEO Inspector (Vite + React + TypeScript)
55+66+Lightweight web app for scraping a page's metadata and producing an SEO-quality report.
77+88+Features
99+- Analyze a URL for title, description, Open Graph and Twitter metadata, canonical, lang, viewport, charset, and more.
1010+- Built with Vite, React, TypeScript and shadcn/ui primitives.
1111+- Client-side HTML fetch via a CORS proxy and metadata extraction.
1212+1313+Quick start
1414+1515+1. Install dependencies
1616+1717+```bash
1818+cd /Users/danielmorrisey/Desktop/Tangled/seo-inspector-api
1919+npm install
2020+```
2121+2222+2. Start dev server
2323+2424+```bash
2525+npm run dev
2626+```
22733-**Site Preview**
2828+3. Open the app in your browser (usually http://localhost:5173) and go to the main page to use the SEO tester.
2929+3030+Notes about the SEO tester performance improvements
3131+- In-memory caching: repeated analyses for the same URL use a short (5 minute) cache to avoid refetching HTML.
3232+- Fetch timeout: network fetches use an 8s AbortController timeout to avoid long hangs.
3333+- UI responsiveness: removed unnecessary UI delays and shortened the animated counters for a snappier feel.
3434+3535+Testing the improvements
3636+- 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.
3737+- Test a slow or non-responsive target to see the 8s timeout and error handling.
3838+3939+Developer notes
4040+- Type checking: after installing deps run `npx tsc --noEmit` to run TypeScript checks.
4141+- Linting: `npm run lint` (requires eslint installed via `npm install`).
4242+- 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.
4343+4444+Contact
4545+- For changes or suggestions, open an issue or edit the repo directly.
4646+4747+Enjoy!
4848+4949+**Preview**
5050+---
451
552
653