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

consumableai-meta

v1.0.0

Published

Lightweight React AEO/GEO meta component for per-page title, description, canonical, robots, and OG/Twitter tags.

Downloads

9

Readme

consumableai-meta

A tiny, framework-agnostic React head manager for AEO/GEO (Answer Engine Optimization / Generative Engine Optimization).
Control per-page <title>, meta description, canonical, robots, Open Graph, Twitter tags, and optional JSON‑LD.

👉 Learn more about AEO/GEO and organic growth at Consumable AI. Discover how to reduce CAC and improve marketing intelligence with AI-powered SEO analyser strategies.


Why this exists (AEO/GEO—not just SEO)

Traditional SEO tags still matter, but AEO/GEO emphasizes clear, machine-readable context for LLMs and answer engines (Google AI Overviews, Perplexity, ChatGPT, etc.). This library helps your React app:

  • Provide consistent, structured hints (title/description/JSON-LD) that answer engines can parse.
  • Keep canonical and robots up to date across SPA routes.
  • Maintain OG/Twitter previews for social discovery.

TL;DR: Better AEO/GEO signals → better eligibility for answer boxes and AI snippet surfaces, which indirectly helps organic growth and click-through.


Install

npm i consumableai-meta
# or
yarn add consumableai-meta

Usage

import { Seo } from "consumableai-meta";

export default function ProductPage() {
  return (
    <>
      <Seo
        title="Handmade Hemp Shirt – Example"
        titleTemplate="%s | Example"
        description="A plant-based, zero-waste hemp shirt blending Indian heritage textile arts."
        canonical="https://www.Example.com/products/hemp-shirt"
        robots={{ index: true, follow: true, maxSnippet: 160, maxImagePreview: "large" }}
        ogImage="https://www.Example.com/og/hemp-shirt.jpg"
        ogUrl="https://www.Example.com/products/hemp-shirt"
        twitterSite="@Example_official"
        jsonLd={{
          "@context": "https://schema.org",
          "@type": "Product",
          "name": "Handmade Hemp Shirt",
          "brand": "Example",
          "url": "https://www.Example.com/products/hemp-shirt"
        }}
      />
      {/* rest of page */}
    </>
  );
}

With React Router v6

Place <Seo /> inside each route component so it updates on navigation.

import { BrowserRouter, Routes, Route } from "react-router-dom";
import Home from "./pages/Home";
import Product from "./pages/Product";

export default function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/products/:slug" element={<Product />} />
      </Routes>
    </BrowserRouter>
  );
}

Props

type Robots =
  | string // e.g., "noindex, nofollow"
  | {
      index?: boolean;
      follow?: boolean;
      noarchive?: boolean;
      nosnippet?: boolean;
      maxSnippet?: number;
      maxImagePreview?: "none" | "standard" | "large";
      maxVideoPreview?: number;
    };

interface SeoProps {
  title?: string;
  titleTemplate?: string;   // "%s | Brand"
  description?: string;
  canonical?: string;
  robots?: Robots;

  ogTitle?: string;
  ogDescription?: string;
  ogType?: "website" | "article" | string;
  ogImage?: string;
  ogUrl?: string;

  twitterCard?: "summary" | "summary_large_image" | "app" | "player";
  twitterTitle?: string;
  twitterDescription?: string;
  twitterImage?: string;
  twitterSite?: string;

  jsonLd?: object | string;
}

Who can use this?

  • React apps (CRA, Vite, Next/CSR pages, Remix CSR), React Router, or custom SPAs.
  • Teams focused on AEO/GEO readiness and consumableai ranking visibility.
  • Stores/brands optimizing product, category, and blog pages for LLM/answer engines.
  • Agencies building reusable layouts and wanting deterministic head tags per route.
  • Businesses looking to reduce CAC through better organic growth and marketing intelligence.
  • SEO professionals needing an AI SEO analyser to find competitor keywords and improve rankings.

Keywords (for npm/discovery)

AEO, GEO, Answer Engine Optimization, Generative Engine Optimization, React SEO, React meta tags, canonical, robots, Open Graph, Twitter cards, JSON-LD, Consumable AI, consumableai ranking, SEO ranking, rank tracking, structured data, programmatic SEO, organic growth, CAC reduction, marketing intelligence, AI SEO analyser, find competitor keywords.


SSR (optional)

This library runs client-side. For SSR frameworks, you can still mount <Seo /> for navigation updates. On the server, emit the same tags in your HTML template for first paint, then let the client hydrate/adjust.


License

MIT © Consumable AI