Skip to content

Lead with JSX in HTML in the site, npm and README metadata - #4

Merged
kwy404 merged 1 commit into
mainfrom
seo-jsx-positioning
Oct 3, 2026
Merged

kwy404 merged 1 commit into
mainfrom
seo-jsx-positioning

Conversation

@kwy404

@kwy404 kwy404 commented Oct 3, 2026

Copy link
Copy Markdown
Owner

What this changes

Site (site/index.html, site/sitemap.xml)

  • Title, description, Open Graph and Twitter tags now lead with the feature that sets Voodoo.js apart: JSX in a plain .html file with no build step. The previous copy described an attribute based framework, which is how Alpine, htmx and petite-vue already describe themselves.
  • Adds a 1200x630 share image (site/assets/og.png) with og:image and twitter:card, so links shared on X, LinkedIn, Slack or Discord show a preview instead of a bare URL.
  • Adds SoftwareSourceCode JSON-LD.
  • Removes the hreflang alternates and the ?lang= sitemap entries. They point at client side translations of the same HTML, so search engines see one document, and the page and the sitemap disagreed about the root language (en in the page, pt-BR in the sitemap).

npm (packages/voodoojs/package.json)

  • Description and keywords lead with JSX (jsx was not a keyword).
  • unpkg and jsdelivr now point at voodoo.full.min.js. The smaller builds do not include the JSX reader, so https://cdn.jsdelivr.net/npm/voodoojs rendered the README example as plain text with no warning. Takes effect on the next publish.

README (EN and pt-BR)

  • Says that JSX needs the full build, and adds a JSX column to the bundle table.

GitHub social preview

  • brand/social/github-social-preview.png (1280x640) is ready to upload in Settings, Social preview.

Checks

  • node scripts/check-packaging.mjs, node scripts/check-docs-language.mjs --check and node scripts/check-links.mjs pass.
  • The sitemap parses as XML and the JSON-LD parses as JSON.
  • The README example and the snippet in the share image render correctly with voodoo.full.min.js from jsDelivr.

Site: title, description, Open Graph and Twitter tags now describe the JSX in plain HTML feature, with a 1200x630 share image and SoftwareSourceCode JSON-LD. The hreflang alternates and the ?lang sitemap entries are removed: they pointed at client side translations of the same document, and the sitemap and the page disagreed on which language the root URL was.

npm: the description and keywords lead with JSX, and the unpkg and jsdelivr fields serve voodoo.full.min.js, since the smaller builds do not include the JSX reader and the bare CDN URL showed the README example as plain text.

README: say that JSX needs the full build, and add a JSX column to the bundle table.
@kwy404
kwy404 merged commit fe6cec2 into main Oct 3, 2026
9 checks passed
@kwy404
kwy404 deleted the seo-jsx-positioning branch October 3, 2026 01:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant