npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sidhxntt/seo-meta

v1.0.0

Published

Interactive CLI to inject all SEO / social-meta tags into any HTML file. No AI calls — pure stdin prompts.

Downloads

74

Readme

seo-meta-cli

Interactive Node.js CLI that injects every SEO / social-meta tag into any HTML file.
No AI calls. No internet. Pure stdin prompts.


Features

| Category | Tags injected | |---|---| | Primary meta | <title>, description, keywords, author, canonical, robots, hreflang | | Favicons | 16px, 32px, 180px (apple), 192px, 512px, .ico | | Open Graph | All standard OG tags + article-specific tags | | Twitter / X Card | All card variants | | Theme / PWA | theme-color, color-scheme, apple-mobile-web-app-* | | Geo | geo.region, geo.placename | | Performance | preconnect, dns-prefetch | | JSON-LD | Person + WebSite schema (Google Knowledge Panel) | | Scripts | Extra <script src> tags with optional defer |


Requirements

  • Node.js ≥ 18 (uses native ESM import, no install needed)

Usage

# Basic — prompts you for input/output file paths first
node seo-meta-cli.js

# Skip file path prompts with flags
node seo-meta-cli.js --input ./index.html --output ./dist/index.html

Or make it executable and run globally:

chmod +x seo-meta-cli.js
npm link          # registers `seo-meta` as a global command
seo-meta --input ./index.html

What happens to my HTML?

The CLI finds the <head> tag in your file using this priority:

  1. Replaces the entire body of <head>…</head> with the generated block
  2. Falls back to inserting after <head>
  3. Falls back to inserting before </head>
  4. Last resort: prepends a new <head> block to the file

Your original file is never overwritten unless --output (or your answer) points to the same path.


Saved config

After writing the HTML, the CLI also saves a .seo-config.json file next to the output HTML with all your answers. You can inspect or version-control it.


Prompt reference

📁  File Paths            — input / output HTML paths
🔤  Primary Meta          — title, description, keywords, author, canonical, robots, hreflang
🖼️  Favicons              — paths for all icon sizes
📣  Open Graph            — og:* tags + optional article:* tags
𝕏   Twitter / X Card      — twitter:* tags
🎨  Theme & PWA           — theme-color, PWA meta
🌍  Geo / Regional        — geo.region, geo.placename
⚡  Performance Hints     — preconnect, dns-prefetch URLs
🧩  JSON-LD               — Person + WebSite schema
📦  Extra Scripts         — arbitrary <script src> tags

License

MIT