Catalog / jstopics.com
65

SEO audit for jstopics.com

JSTopics | Learn JavaScript, TypeScript, React & more

otherNext.js

Health 65/100 (fair) · 24 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

JSTopics is place where you can learn and read about topics related to JavaScript, TypeScript, React and similar.

24
pages crawled
24
indexable pages
0
errors
38
warnings
175
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Canonical 70 0 24 0
Duplicate 89 0 9 7
Content 95 0 4 2
Links 99 0 1 6
Agent Readiness 100 0 0 4
Crawlability 100 0 0 1
Headings 100 0 0 1
Images 100 0 0 4
Meta Description 100 0 0 11
Performance 100 0 0 29
Security 100 0 0 38
Social 100 0 0 48
Structured Data 100 0 0 24
Findings

Warnings (5 rules)

warning Thin content (low word count)

Rule content.thin · Content · 4 occurrence(s)

warning Duplicate page content

Rule duplicate.content · Duplicate · 2 occurrence(s)

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 7 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 1 occurrence(s)

Notices (17 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 3 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 2 occurrence(s)

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 7 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 1 occurrence(s)

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 4 occurrence(s)

notice Page has only one internal inlink (fragile crawl path)

Rule links.single_inlink · Links · 6 occurrence(s)

  • https://jstopics.com/nodejs/5-ways-to-install-nodejs-in-2022 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.jstopics.com/javascript — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.jstopics.com/nodejs — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.jstopics.com/reactjs — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.jstopics.com/supabase — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.jstopics.com/typescript — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.

notice Missing Open Graph tags

Rule og.missing · Social · 24 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 1 occurrence(s)

  • https://www.jstopics.com/reactjs/react-context-typescript — the page has 3882 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 4 occurrence(s)

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 24 occurrence(s)

  • https://jstopics.com/nodejs/5-ways-to-install-nodejs-in-2022 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/all-articles — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/all-topics — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/javascript — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/javascript/javascript-for-loops — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/javascript/javascript-include-file — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/nodejs — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/nodejs/5-ways-to-install-nodejs-in-2022 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/nodejs/nodejs-and-koajs-hello-world-example — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs/react-context-typescript — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs/react-router-v6-redirect — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs/usereducer-with-typescript — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs/useref-in-react — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs/usestate-with-typescript — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/reactjs/vite-create-react-app — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/supabase — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/supabase/supabase-with-next-js-part-1 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/supabase/supabase-with-next-js-part-2 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/supabase/supabase-with-next-js-part-3 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/supabase/what-is-supabase — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/typescript — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.jstopics.com/typescript/javascript-vs-typescript — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice URL redirects to another URL

Rule redirect.single · Crawlability · 1 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 24 occurrence(s)

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 14 occurrence(s)

Pages (showing 24 of 24)
URLStatusIndexableWordsIn-links
https://www.jstopics.com/
JSTopics | Learn JavaScript, TypeScript, React & more
200 yes 694 24
https://www.jstopics.com/all-articles
List of all of JSTopics articles | JSTopics
200 yes 652 24
https://www.jstopics.com/all-topics
List of all topics you can find at JSTopics
200 yes 73 24
https://www.jstopics.com/reactjs/usestate-with-typescript
UseState with TypeScript | JSTopics
200 yes 1984 6
https://www.jstopics.com/reactjs/usereducer-with-typescript
React useReducer with TypeScript | JSTopics
200 yes 2512 5
https://www.jstopics.com/supabase/supabase-with-next-js-part-1
Initialize Next.js App with Supabase Database - Part 1 | JSTopics
200 yes 1822 5
https://www.jstopics.com/supabase/supabase-with-next-js-part-2
Supabase Insert and Revalidate To-dos - Part 2 | JSTopics
200 yes 1791 5
https://www.jstopics.com/typescript/javascript-vs-typescript
TypeScript vs JavaScript | JSTopics
200 yes 904 5
https://www.jstopics.com/nodejs/5-ways-to-install-nodejs-in-2022
Here are 5 ways to install Node.js in 2022 | JSTopics
200 yes 767 4
https://www.jstopics.com/supabase/supabase-with-next-js-part-3
Supabase Update and Delete with Next.js - Part 3 | JSTopics
200 yes 1666 4
https://www.jstopics.com/supabase/what-is-supabase
What is Supabase? | JSTopics
200 yes 994 4
https://www.jstopics.com/reactjs/react-context-typescript
React Context API with TypeScript | JSTopics
200 yes 4633 4
https://www.jstopics.com/reactjs/vite-create-react-app
Create React app with Vite | JSTopics
200 yes 619 4
https://www.jstopics.com/javascript/javascript-for-loops
JavaScript *for* Loops | JSTopics
200 yes 1285 3
https://www.jstopics.com/javascript/javascript-include-file
How to include JavaScript file into another JavaScript file? | JSTopics
200 yes 1251 3
https://www.jstopics.com/nodejs/nodejs-and-koajs-hello-world-example
Hello World example with Koa.js and Node.js | JSTopics
200 yes 726 3
https://www.jstopics.com/reactjs/react-router-v6-redirect
React Router V6 - How to redirect? | JSTopics
200 yes 1641 3
https://www.jstopics.com/reactjs/useref-in-react
Using the useRef hook in React | JSTopics
200 yes 1605 3
https://www.jstopics.com/javascript
Browse all of the our JavaScript related topics
200 yes 141 1
https://www.jstopics.com/nodejs
Browse all of the our JavaScript related topics
200 yes 145 1
https://www.jstopics.com/reactjs
Browse all of the our JavaScript related topics
200 yes 272 1
https://www.jstopics.com/supabase
Browse all of the our JavaScript related topics
200 yes 225 1
https://www.jstopics.com/typescript
Browse all of the our JavaScript related topics
200 yes 77 1
https://jstopics.com/nodejs/5-ways-to-install-nodejs-in-2022
Here are 5 ways to install Node.js in 2022 | JSTopics
200 yes 767 1

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →