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

serpscan

v1.0.3

Published

SerpScan — SEO analyzer CLI. Analyze any web page and get actionable improvement suggestions

Readme

SerpScan

CLI de auditoría SEO — analiza cualquier página web y recibe sugerencias de mejora accionables. Creado por Carriedo · Patrocinador: Klara Automation.

Cómo se inicia

npm start          # uso normal
npm run dev         # modo desarrollo (reinicia al guardar cambios)

Al arrancar te recibe un menú interactivo. Esto es lo que hace cada apartado:


🔍 Auditoría SEO

Analiza una única URL a fondo. Descarga el HTML de la página y ejecuta 7 comprobaciones en paralelo:

| Categoría | Qué revisa | Peso en el score | |---|---|---| | Meta Tags y Social | title, meta description, canonical, robots, Open Graph, Twitter Card, viewport, lang, hreflang, favicon | 25% | | Encabezados | presencia de un único H1, jerarquía lógica (sin saltar de H1 a H4), uso de H2 | 15% | | Imágenes | atributos alt, width/height (evita layout shift), lazy loading, formatos modernos (WebP/AVIF) | 10% | | Enlaces | enlaces internos/externos, texto de anclaje, y una muestra de hasta 10 enlaces internos comprobados en vivo para detectar enlaces rotos (404/500) | 10% | | Rendimiento | tiempo de respuesta del servidor (TTFB), tamaño del HTML, scripts que bloquean el renderizado, contenido mixto HTTP | 20% | | Datos Estructurados | bloques JSON-LD válidos (Schema.org), microdata | 10% | | Robots y Sitemap | si robots.txt existe y bloquea la página, y si hay un sitemap declarado y accesible | 10% |

Al terminar, cada categoría tiene una puntuación 0-100 y el conjunto se combina en un score global ponderado. Después puedes:

  • Guardar el informe en HTML (visual, para compartir con un cliente), CSV (tabla plana para Excel) o JSON (datos en bruto).
  • Analizar una subpágina — te ofrece los enlaces internos detectados para seguir auditando el sitio sin volver a escribir la URL.
  • Si repites la misma URL en menos de 10 minutos, se sirve desde caché en vez de volver a descargarla.

📍 Posición en Google (Keyword Ranking)

Comprueba en qué posición aparece tu página para una keyword concreta, usando SerpAPI (requiere clave gratuita configurada en Ajustes).

  • Busca la keyword en Google (top 100 resultados) y localiza tu dominio.
  • Muestra el top 3 de competidores, si incluyen la keyword en el título, "Preguntas que la gente también busca" y búsquedas relacionadas — todo pensado para generar ideas de contenido.
  • Da consejos accionables distintos según tu posición (no encontrado / página 2+ / top 10 / top 3).
  • Opcionalmente lanza un análisis competitivo: compara tu página contra el top 3 en palabras, H2, imágenes, keyword en título/H1, schema markup, Open Graph y velocidad — y te dice qué te falta frente a ellos. Detecta si tu página es una SPA (React/Vue sin SSR) y avisa de que esos datos no son fiables.

🚀 PageSpeed & Core Web Vitals

Usa la API oficial de Google PageSpeed Insights para traer métricas reales de Lighthouse (no estimaciones propias):

  • Puntuaciones de Performance, Accesibilidad, Buenas Prácticas y SEO.
  • Core Web Vitals: FCP, LCP, TBT, CLS, Speed Index, TTI.
  • Las 6 principales oportunidades de mejora (imágenes sin optimizar, JS/CSS sin usar, compresión, etc.).
  • Puedes analizar mobile, desktop, o ambos.

📊 Comparar URLs

Audita dos URLs a la vez (en paralelo) y las pone lado a lado: score global, desglose por categoría con el "ganador" de cada una, y los principales problemas de cada página. Útil para compararte directamente con un competidor concreto.


📦 Análisis en Lote

Audita varias URLs de una sola vez a partir de un archivo de texto (una URL por línea, máximo 30). Analiza cada una, la guarda en el historial, y al final muestra una tabla resumen (score, críticos, avisos) exportable a CSV. Pensado para cuando gestionas varias páginas o clientes y no quieres repetir el flujo manual una por una.


📋 Historial

Guarda tus últimos 20 análisis (deduplicados por URL) en ~/.serpscan/history.json. Muestra un resumen de los 3 más recientes y una tabla completa; puedes reanalizar cualquier URL del historial con un clic.


🔧 Ajustes

Configura y persiste (en ~/.serpscan/config.json):

  • Clave SerpAPI — necesaria para el posicionamiento en Google.
  • Clave Google API — opcional, aumenta los límites de PageSpeed.
  • URL por defecto — se autocompleta en los prompts.
  • Idioma — español o inglés.
  • Opción de borrar todos los ajustes.

Como alternativa más segura a guardar las claves en disco, también puedes definirlas como variables de entorno: SERPSCAN_SERP_API_KEY y SERPSCAN_GOOGLE_API_KEY (tienen prioridad sobre el archivo de config).


Windows

En Windows Terminal o en la terminal integrada de VS Code los iconos se ven perfectos. En la consola clásica (cmd.exe o PowerShell fuera de Windows Terminal), SerpScan detecta automáticamente que faltan fuentes de emoji y usa símbolos ASCII en su lugar (>, [OK], [!]...) — no hace falta configurar nada. Si aun así prefieres forzar un modo u otro:

set SERPSCAN_NO_EMOJI=1     # forzar símbolos ASCII
set SERPSCAN_FORCE_EMOJI=1  # forzar emoji aunque no se detecten

Desarrollo

npm test      # ejecuta los tests (vitest)
npm run lint  # eslint
npm run format # prettier