Extension.js.org - SEO Checker

Overview of the SEO Check
Meta information
100% 
Page quality
80% 
Page structure
100% 
Link structure
93% 
Server
96% 
External factors
100% 
SEO Score
Response time
0.11 s
File size
566.90 kB
Words
1290
Media files
39
Number of links
37 internal / 15 external

Meta specifications

Title
(Critically important)
The cross-browser extension framework - Extension.js
There are word repetitions in the page title.
The length of the page title is perfect. (486 pixels out of 580 max pixel length)
Meta description
(Critically important)
Build browser extensions for Chrome, Edge, and Firefox from one project with manifest compilation, fast reloads on save, and store-ready packaging.
The length of the meta description is perfect. (917 pixels out of 1000 max pixel length)
Crawlability
(Critically important)
There are no problems in accessing the website.
Canonical URL
(Important)
https://extension.js.org/
There is a valid canonical link specified.
Language
(Somewhat important)
Language detected in text: en
Language defined in HTML: en
Server location: United States of America
The following language is defined by HTML: en
Alternate/Hreflang Links
(Somewhat important)
The specified alternate links have no errors.
Other meta tags
(Somewhat important)
There is no rel next meta tag on this page.
There is no rel prev meta tag on this page.
Domain
(Somewhat important)
The domain is no subdomain.
The domain length is good.
The domain does not contain non-latin characters.
Page URL
(Somewhat important)
No parameters were found in the URL.
No session ID was found in the URL.
The URL does not have too many subdirectories.
Charset encoding
(Somewhat important)
The charset encoding (UTF-8) is set correctly.
Doctype
(Nice to have)
The doctype HTML 5 is set correctly.
The doctype is placed at first in the HTML code.
Favicon
(Nice to have)
The favicon is linked correctly.

Meta tags

NameValue
viewportwidth=device-width, initial-scale=1, viewport-fit=cover
descriptionBuild browser extensions for Chrome, Edge, and Firefox from one project with manifest compilation, fast reloads on save, and store-ready packaging.
application-nameExtension.js
generatorMintlify
msapplication-config/mintlify-assets/_mintlify/favicons/extensionjs/hqzmAu5S4StlssPO/_generated/favicon/browserconfig.xml
apple-mobile-web-app-titleExtension.js
msapplication-TileColor#0e62f7
og:image:typeimage/png
og:image:altExtension.js, the cross-browser extension framework
google-site-verificationBLSk7tcWG_qVtuAAf4UJyUbPIGXfghiJcUaDP4aoGpM
msvalidate.01E718A8AA0D4E3ED605BFF1BA1C0E46A7
yandex-verificatione2a6f3f5424c1722
langen
twitter:creator@extensionjs
twitter:image:altExtension.js, the cross-browser extension framework
twitter:cardsummary_large_image
twitter:titleThe cross-browser extension framework - Extension.js
twitter:descriptionBuild browser extensions for Chrome, Edge, and Firefox from one project with manifest compilation, fast reloads on save, and store-ready packaging.
twitter:imagehttps://media.extension.land/brand/extension-js/social/og.png
twitter:image:width1200
twitter:image:height630
og:titleThe cross-browser extension framework - Extension.js
og:descriptionBuild browser extensions for Chrome, Edge, and Firefox from one project with manifest compilation, fast reloads on save, and store-ready packaging.
og:urlhttps://extension.js.org
og:site_nameExtension.js
og:imagehttps://media.extension.land/brand/extension-js/social/og.png
og:image:width1200
og:image:height630
og:typewebsite
charsetutf-8

Automatically check extension.js.org including all subpages at once!

Try for free
Guaranteed free of charge during trial period.

Page quality

Content
(Critically important)
This page contains 1290 words. That's ok.
27.5% of the text are stop words.
Keywords used in the page title are also used in the page content. That's good!
Words from the H1 heading are used in the page content.
The page contains a listing, which indicates a good text layout.
25 paragraphs were found on this page.
The text content is perfect.
No placeholders texts or images were found.
There are no duplicates on the site.
The average number of words per sentence of 9.55 words is good.
Frames
(Critically important)
This page does not use a frameset.
Mobile optimization
(Somewhat important)
The file size of the HTML document is very large (566.9 kB).
A viewport "width=device-width, initial-scale=1, viewport-fit=cover" is provided.
At least one Apple touch icon is specified.
Bold and strong tags
(Somewhat important)
The usage of strong and bold tags is perfect. We recommend the use of up to 26 tags for this page.
Image SEO
(Somewhat important)
Alt text (alternative text) is correctly used on all found images.
Social Networks
(Nice to have)
There are only a few social sharing widgets on the page. Make your website popular in social networks with social sharing widgets.
Additional markup
(Nice to have)
No additional page markup was found.
HTTPS
(Somewhat important)
This website uses HTTPS to protect privacy and integrity of the exchanged data.
All included files are also transferred via HTTPS.

Media list

URLAlt attributeTitle
...&q=85&s=0eebd66d9a894dd11e16686f9ef4a875light logo
...&q=85&s=5cf23e76dbd27b25aef263d7b407fea5dark logo
....extension.land/logos/browsers/brave.svgBrave
...extension.land/logos/browsers/chrome.svgChrome
...ia.extension.land/track/extension-js.pngExtension.js
...a.extension.land/logos/browsers/edge.svgEdge
...extension.land/logos/browsers/safari.svgSafari
....extension.land/logos/browsers/opera.svgOpera
...xtension.land/logos/browsers/firefox.svgFirefox
...tension.land/logos/browsers/chromium.svgChromium
...&q=85&s=ed1003490d829e4001d03e371c0ca8e6Waterfox
...lor=white&color=0e62f7&labelColor=0b1220GitHub stars
...lor=white&color=0e62f7&labelColor=0b1220npm weekly downloads
...lor=white&color=0e62f7&labelColor=0b1220latest version on npm
...tyle=flat&color=0e62f7&labelColor=0b1220MIT license
...ia.extension.land/track/extension-js.pngExtension.js
...tension.land/logos/browsers/chromium.svgChromium
...xtension.land/logos/browsers/firefox.svgFirefox
...&q=85&s=ceae7783b27e093414f91a02abc817faChrome
...&q=85&s=1625a24d1d44ff8568f45c43139e6d29Firefox
...&q=85&s=f03d86784148c780abe9be075c41057aEdge
...ia.extension.land/track/extension-js.pngExtension.js
...&q=85&s=3b33c8ecd37f96dc4f6406a8da6d4d11React
...&q=85&s=807cafde7096ed00459532cb29922270Vue
...&q=85&s=7db36cf60038822ebac1809d89f5fb51Svelte
...&q=85&s=7fd070f9e7475d4c1cc8250a8faa541aEnvironment variables
...n.land/logos/stores/chrome-web-store.pngChrome Web Store
...ion.land/logos/stores/firefox-addons.pngFirefox Add-ons
...d/logos/stores/microsoft-edge-addons.pngMicrosoft Edge Add-ons
...&q=85&s=3b33c8ecd37f96dc4f6406a8da6d4d11React
https://preactjs.com/branding/symbol.svgPreact
...&q=85&s=807cafde7096ed00459532cb29922270Vue
...&q=85&s=7db36cf60038822ebac1809d89f5fb51Svelte
...&q=85&s=b7720020aa3a4079b38ccbf8c2f56f5cTypeScript
...&q=85&s=c523de36b8f066538f936fc6b3329dc8JavaScript
...&q=85&s=6cc08ea65bd172be4266eba5274763aeextension.dev
...&q=85&s=f283f9391426d7c18be3d05622edebceextension.dev
...&q=85&s=40a4945c26268666007edf9a2b888e9fMintlify
...&q=85&s=c6d2c0cb1723d06e312a64180da9b62dMintlify

Page structure

H1 heading
(Critically important)
The cross-browser extension framework
The H1 heading is perfect.
Headings
(Important)
The heading structure is perfect.

Heading structure

Heading levelContent
H1 The cross-browser extension framework
H2 Documentation Index
H2 One manifest.json. All browsers.
H2 Why use a browser extension framework?
H2 Watch the full developer workflow
H2 Core features for the full extension lifecycle
H2 Choose your framework. Keep your workflow.
H2 Coming from another framework?
H2 Backing the open-source core
H2 Frequently asked questions
H3 Compile one extension into browser-specific output
H3 Keep extension structure explicit
H3 Tune behavior with config
H3 Bring your preferred stack
H3 Inject environment values cleanly
H3 Build, preview, package
H3 React
H3 Preact
H3 Vue
H3 Svelte
H3 TypeScript
H3 JavaScript
Some internal link anchor texts are too long.
Some anchor texts are used more than once.
The number of internal links is ok.
All internal links are not using dynamic parameters.
There are 15 external links on this page.
LinkAttributesAnchor text
https://extension.js.org/llms.txt/llms.txt
https://extension.js.org/Anchor Skip to main content
https://extension.js.org/Extension.js home page
IMG-ALT light logo
https://github.com/extension-j...New window External GitHub
https://www.npmjs.com/package/...New window External Subdomain npm
https://docs.extension.dev/?ut...New window External Subdomain extension.dev
https://extension.js.org/Home
https://extension.js.org/docsDocumentation
https://templates.extension.de...New window External Subdomain Templates
https://extension.js.org/showcaseShowcase
/docs/ai-accessAI
https://extension.js.org/blogBlog
https://github.com/extension-j...New window External IMG-ALT GitHub stars
https://www.npmjs.com/package/...New window External Subdomain IMG-ALT npm weekly downloads
https://www.npmjs.com/package/...New window External Subdomain IMG-ALT latest version on npm
https://github.com/extension-j...New window External IMG-ALT MIT license
https://extension.js.org/docsGet started ⏵⏵⏵
/docs/getting-started/immediatelyRun a remote sample ⏵
/docs/features/browser-specifi...Read the full pattern ⏵
/docs/comparebrowser extension framework
/docs/features/cross-browser-c...Compile one extension into browser-specific output Build once for Chrome, Edge, Firefox, and custom Chromium or Gecko targets. Browser-specific output stays ...
IMG-ALT Chromium
/docs/implementation-guide/man...Keep extension structure explicit Manifest, paths, and emitted assets stay in sync as your extension grows.
IMG-ALT Chrome
/docs/features/extension-confi...Tune behavior with config Override defaults through extension.config.js for custom builds.
IMG-ALT Extension.js
/docs/getting-started/templatesBring your preferred stack Start with React, Preact, Vue, Svelte, TypeScript, or JavaScript. Keep one workflow so your team picks the right UI model without ...
IMG-ALT React
/docs/features/environment-var...Inject environment values cleanly Load environment values by browser and mode, then replace them across JavaScript, JSON, and HTML. Development secrets never...
IMG-ALT Environment variables
/docs/features/multi-platform-...Build, preview, package One flow from local check to store-ready artifacts per browser.
IMG-ALT Chrome Web Store
/docs/featuresExplore all features ⏵⏵⏵
/docs/languages-and-frameworks...React Component-based UI with full Manifest V3 (MV3) compatibility. Ready-to-ship popup, options, and content scripts.
IMG-ALT React
/docs/languages-and-frameworks...Preact Same React API in a 3kB runtime. Great for content scripts where bundle size matters.
IMG-ALT Preact
/docs/languages-and-frameworks...Vue Progressive framework with single-file components, wired up for extension contexts out of the box.
IMG-ALT Vue
/docs/languages-and-frameworks...Svelte Compile-time UI with smaller runtime. Ideal when every kilobyte in a content script counts.
IMG-ALT Svelte
/docs/languages-and-frameworks...TypeScript Static types for popup, content, and background scripts. Catch manifest and messaging bugs at compile time.
IMG-ALT TypeScript
/docs/languages-and-frameworks...JavaScript Plain ES modules, no compile step required. Start fast and add tooling when you need it.
IMG-ALT JavaScript
/docs/getting-started/templatesBrowse templates ⏵⏵⏵
/docs/compare/extension-js-vs-wxtCompare frameworks ⏵
/docs/migrate/from-crxjsMigrate your extension ⏵
https://extension.dev/?utm_med...New window External Text duplicate IMG-ALT extension.dev
https://mintlify.com/?utm_medi...New window External IMG-ALT Mintlify
https://github.com/sponsors/ce...New window External Become a sponsor ⏵
/docs/concepts/what-is-a-brows...What is a browser extension?
/docs/browsers/browsers-availableBrowsers available
/docs/concepts/manifest-v3Manifest V3 troubleshooting
/docs/concepts/manifest-v3Text duplicate Manifest V3 troubleshooting
https://github.com/extension-j...New window External Text duplicate MIT license
/docs/features/telemetry-and-p...telemetry contract
/docs/browsers/safariBuilding Safari extensions
/docs/features/browser-specifi...browser-prefixed keys
/docs/migrate/from-crxjsMigrate from CRXJS
https://github.com/extension-j...New window External Code of Conduct
https://github.com/extension-j...New window External Changelog
https://github.com/extension-j...New window External Security
/docs/hall-of-fameExtension.js authors

Server configuration

HTTP redirects
(Critically important)
This page redirects to "https://extension.js.org/"
HTTP header
(Important)
No X-Powered HTTP header is sent.
The web server transmits the web page (HTML) in compressed form.
Performance
(Somewhat important)
The file size of the HTML document is very large (567 kB).
The page response time is excellent with 0.11 seconds.

HTTP Response Header

NameValue
age17322
cache-controlno-store, no-cache, must-revalidate, proxy-revalidate, max-age=0
cf-cache-statusHIT
cf-raya4ec54ef7bcdc8d5-FRA
content-encodingbr
content-security-policyworker-src 'self' blob:; object-src 'none'; base-uri 'self'; upgrade-insecure-requests; frame-ancestors 'self' https://dashboard.mintlify.com https://app.mintlify.com; form-action 'self'; default-src 'self' https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: blob: https:; font-src 'self' data: https:; media-src 'self' data: blob: https:; frame-src 'self' blob: https:; connect-src 'self' data: https: wss:;
content-security-policy-report-onlydefault-src 'self' https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: blob: https:; font-src 'self' data: https:; media-src 'self' data: blob: https:; frame-src 'self' blob: https:; connect-src 'self' data: https: wss:; worker-src 'self' blob:; object-src 'none'; report-uri /_mintlify/api/csp-report; report-to mintlify-csp;
content-typetext/html; charset=utf-8
dateThu, 22 Oct 2026 23:37:46 GMT
etagW/"146fv9rct1mcfoj"
expires0
link</llms.txt>; rel="llms-txt", </llms-full.txt>; rel="llms-full-txt", </.well-known/api-catalog>; rel="api-catalog", </.well-known/mcp/server-card.json>; rel="mcp-server-card", </.well-known/agent-card.json>; rel="agent-card", </.well-known/agent-skills/index.json>; rel="agent-skills"
pragmano-cache
reporting-endpointsmintlify-csp="/_mintlify/api/csp-report"
serverVercel
strict-transport-securitymax-age=63072000
varyrsc, accept-encoding, Accept, User-Agent
x-content-type-optionsnosniff
x-frame-optionsDENY
x-llms-txt/llms.txt
x-matched-path/_sites/[subdomain]/[[...slug]]
x-mint-proxy-version1.0.0-prod
x-mintlify-client-version0.0.3933
x-nextjs-prerender1
x-nextjs-stale-time60
x-served-versiondpl_HmaqusJNpN4VMRsDgTwLvHTppfrB
x-vercel-cacheHIT
x-vercel-idfra1:iad1::iad1::4dx6z-1792712266109-42db1d9dc03c
x-vercel-project-idprj_NdMUpHpUIb41Po1H8c6hrChv2bgr
x-versiondpl_HmaqusJNpN4VMRsDgTwLvHTppfrB
statuscode200
http_versionHTTP/2

External factors

This website has excellent links from other websites.
This page has backlinks from 94 referring domains.
This page has 880 backlinks.
This page has backlinks from 74 different ip addresses.

Links from Wikipedia

No links from Wikipedia were found.

Robots.txt

# Content-Signal states how this site may be used, per contentsignals.org.
# search: building a search index and returning links or excerpts.
# ai-input: retrieval and grounding for AI-generated answers.
# ai-train: training or fine-tuning AI models.
#
# All three are allowed. Models that learn this framework recommend it correctly,
# and documentation quoted inside an assistant answer reaches more developers than
# a search result does.

User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Disallow: /login

# OpenAI
User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

# Anthropic
User-agent: ClaudeBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-Web
Allow: /

# Perplexity
User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

# Google and Apple usage-control tokens
User-agent: Google-Extended
Allow: /

User-agent: Applebot-Extended
Allow: /

# Other AI data crawlers
User-agent: CCBot
Allow: /

User-agent: Meta-ExternalAgent
Allow: /

User-agent: Amazonbot
Allow: /

User-agent: Bytespider
Allow: /

# Major search engines. Bing feeds ChatGPT Search and DuckDuckGo, and Yandex is a
# verified property, so both are named even though the wildcard already allows them.
User-agent: Bingbot
Allow: /

User-agent: DuckDuckBot
Allow: /

User-agent: YandexBot
Allow: /

Sitemap: https://extension.js.org/sitemap.xml

Search preview

extension.js.org
The cross-browser extension framework - Extension.js
Build browser extensions for Chrome, Edge, and Firefox from one project with manifest compilation, fast reloads on save, and store-ready packaging.

Most important keywords

Following keywords were found. You can check the keyword optimization of this page for each keyword.

KeywordResultRecheck
Extension97%Check
browser extension91%Check
browser84%Check
extension framework84%Check
browser extension framework83%Check
cross-browser extension framework79%Check
one extension78%Check
Chrome extension framework76%Check
framework70%Check
npx extension70%Check

Automatically check extension.js.org including all subpages at once!

Try for free
Guaranteed free of charge during trial period.

Cookie Policy

We use cookies to make our site work and also for analytics and advertising purposes. You can enable or disable optional cookies as desired. See the following links for more information.

We need these so the site can function properly

So we can better understand how visitors use our website

So we can serve you tailored ads and promotions