
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
Una herramienta CLI ligera para detectar errores SEO en sitios web estáticos de forma automática, simple y efectiva.
SEOpilot es un analizador SEO para sitios generados con frameworks como React, Astro, Vue, Next.js (modo export), Vite, entre otros. Escanea archivos HTML y te reporta errores comunes de SEO como:
<h1><title> o <meta name="description">altlang en la etiqueta <html>Ideal para proyectos estáticos y flujos de CI/CD donde el SEO importa desde el principio.
npx seopilot--verbose, --json, --limit, --fail-on-errorSEOpilot ejecuta automáticamente Lighthouse sobre cualquier URL pública que le pases como argumento. Obtendrás métricas de Core Web Vitals y recomendaciones automáticas para mejorar el rendimiento y la experiencia de usuario.
npx seopilot https://www.tusitio.com
🚦 Ejecutando Lighthouse para https://www.tusitio.com...
┌───────────────────────────────┐
│ Core Web Vitals: │
│ lcp: '2.1 s', │
│ fid: '30 ms', │
│ cls: '0.01', │
│ tbt: '120 ms', │
│ fcp: '1.1 s', │
│ score: 0.98 │
└───────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 🔎 Recomendaciones Lighthouse:┃
┃ ✅ ¡Excelente! Tus métricas ┃
┃ Core Web Vitals están dentro ┃
┃ de los valores recomendados. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Si alguna métrica está fuera de los valores recomendados, SEOpilot te dará sugerencias claras para mejorar tu sitio.
npxnpx seopilot
npm i -D seopilot
Luego, en tu package.json:
"scripts": {
"seo": "seopilot"
}
📦 tu-proyecto/
├─ dist/ ← carpeta de salida (HTMLs generados)
├─ src/
├─ .github/workflows/ ← integración con CI
└─ ...
npx seopilot
npx seopilot --path src/testing
npx seopilot --verbose
npx seopilot --json
npx seopilot --fail-on-error
npx seopilot --limit 20
npx seopilot --path src/testing --verbose --limit 10 --fail-on-error
📊 Resumen de errores:
❌ Imagen sin alt: hero.jpg — 2 ocurrencias
❌ Falta <meta name="description"> — 1 ocurrencias
📄 dist/index.html
❌ Imagen sin alt: hero.jpg
❌ Falta <title>
{
"totalFilesScanned": 5,
"errors": [
{
"file": "dist/index.html",
"messages": ["Falta <title>", "Imagen sin alt: hero.jpg"]
}
],
"summary": {
"Falta <title>": 1,
"Imagen sin alt: hero.jpg": 2
}
}
.github/workflows/seo-check.ymlname: SEO Check
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
seo:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Run SEOpilot
run: npx seopilot --fail-on-error
Colocá estos archivos en una carpeta src/testing/ y corré:
npx seopilot --path src/testing --verbose
correct.html<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
<meta name="description" content="Página correcta" />
</head>
<body>
<h1>Hola mundo</h1>
<img src="logo.png" alt="Logo" />
</body>
</html>
no-title.html<html lang="es">
<head></head>
<body>
<h1>Falta título</h1>
</body>
</html>
multiple-h1.html<html lang="es">
<head>
<title>Error</title>
</head>
<body>
<h1>Uno</h1>
<h1>Dos</h1>
</body>
</html>
seopilot.config.ts¡Son bienvenidas! Puedes:
Creado por @estanisalpre — para que ningún proyecto se quede sin SEO por descuido.
MIT — Usá, modificá, compartí. Pero no pongas <h1> múltiples o SEOpilot te va a encontrar 😈
FAQs
Herramienta CLI para análisis SEO en sitios estáticos.
We found that seopilot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.