A simple SEO inspecter Tool, to get social media card previews
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

updated readme

+48 -1
+48 -1
README.md
··· 1 1 # @madebydanny / seo-tester 2 + Try it 👉 [seo-tester.madebydanny.uk](https://seo-tester.madebydanny.uk/) 3 + 4 + SEO Inspector (Vite + React + TypeScript) 5 + 6 + Lightweight web app for scraping a page's metadata and producing an SEO-quality report. 7 + 8 + Features 9 + - Analyze a URL for title, description, Open Graph and Twitter metadata, canonical, lang, viewport, charset, and more. 10 + - Built with Vite, React, TypeScript and shadcn/ui primitives. 11 + - Client-side HTML fetch via a CORS proxy and metadata extraction. 12 + 13 + Quick start 14 + 15 + 1. Install dependencies 16 + 17 + ```bash 18 + cd /Users/danielmorrisey/Desktop/Tangled/seo-inspector-api 19 + npm install 20 + ``` 21 + 22 + 2. Start dev server 23 + 24 + ```bash 25 + npm run dev 26 + ``` 2 27 3 - **Site Preview** 28 + 3. Open the app in your browser (usually http://localhost:5173) and go to the main page to use the SEO tester. 29 + 30 + Notes about the SEO tester performance improvements 31 + - In-memory caching: repeated analyses for the same URL use a short (5 minute) cache to avoid refetching HTML. 32 + - Fetch timeout: network fetches use an 8s AbortController timeout to avoid long hangs. 33 + - UI responsiveness: removed unnecessary UI delays and shortened the animated counters for a snappier feel. 34 + 35 + Testing the improvements 36 + - 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. 37 + - Test a slow or non-responsive target to see the 8s timeout and error handling. 38 + 39 + Developer notes 40 + - Type checking: after installing deps run `npx tsc --noEmit` to run TypeScript checks. 41 + - Linting: `npm run lint` (requires eslint installed via `npm install`). 42 + - 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. 43 + 44 + Contact 45 + - For changes or suggestions, open an issue or edit the repo directly. 46 + 47 + Enjoy! 48 + 49 + **Preview** 50 + --- 4 51 ![img](https://altq.net/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreiceafmigyon4mg7dg4vgmur2doxppdgiouoxj7wxpnrbncohk7d3u) 5 52 ![img](https://altq.net/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreief5clpgayifmwibr5tpb4wcx6u64g4fwgrm6eaukcqveaoucgp64) 6 53 ![img](https://altq.net/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreifnlouxx5dmtznslfosspzd6kir2v7k5tz2kggymhxbpymtplg7ge)