
La biblioteca para analizar un archivo HTML para mostrar todos los defectos de SEO.
Para usar la CLI, debe instalar el paquete a nivel mundial.
npm install -g seo-analyzerseo-analyzer -h| Opción | Argumentos | Descripción |
|---|---|---|
| -h, --help | nulo | Mostrar todas las opciones. |
| -v, -versión | nulo | Versión de la aplicación de visualización: muestra la versión actual de la aplicación. |
| -iu, -ignoreurls | [formación] | Excluya las URL específicas del análisis: excluye ciertas URL del análisis para evitar procesar páginas web no deseadas. |
| -IS, -Inignorefiles | [formación] | Excluir archivos específicos del análisis: permite excluir ciertos archivos del análisis, evitando su procesamiento. |
| -ifl, -ignorefolders | [formación] | Excluir carpetas específicas del análisis: excluye las carpetas especificadas del proceso de análisis, ignorando todos los archivos dentro de esas carpetas. |
| -u, -urls | [formación] | Realice un análisis de SEO en URL especificadas: realiza un análisis de SEO para URL especificadas, verificando su cumplimiento con ciertos criterios de SEO. |
| -f, -archivos | [formación] | Perform SEO Analysis on Specified Files: Performs SEO analysis on specified files, ensuring their adherence to optimization standards and rules. |
| -fl, -Folder | [formación] | Realice un análisis de SEO en carpetas especificadas: analiza todos los archivos dentro de las carpetas especificadas para el cumplimiento de las reglas y recomendaciones de SEO. |
| -r, -reglas | [formación] | Apply Specific SEO Rules for Analysis: Applies specific SEO rules during analysis, allowing the user to customize the inspection process. Por defecto, ejecute todas las reglas predeterminadas. |
seo-analyzer -u https://maddevs.io https://maddevs.io/blogseo-analyzer -u https://maddevs.io -r titleLengthRule= ' { "min": "500" } 'Use el formato JSON para pasar los parámetros a la regla.
Para usar SEO Analyzer como acciones en GitHub, puede crear un archivo de flujo de trabajo en .github/workflows/analzer.yml con el siguiente contenido:
name : SEO analyzer
on : [push]
jobs :
seo-analyzer :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v4
- name : Use Node.js
uses : actions/setup-node@v4
with :
node-version : ' 20.x '
- run : npm i -g seo-analyzer
- run : seo-analyzer -u https://maddevs.ioEn el último paso, puede especificar la URL que desea analizar.
Instalar en el proyecto.
npm install -D seo-analyzerConfigurar el analizador SEO es lo más simple posible. Se verá algo así:
const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputFiles ( < array > )
.addRule( < function > )
.addRule( < function > )
.outputConsole()
.run();A continuación te mostraré algunos ejemplos.
const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputUrls ( [ 'https://maddevs.io' , 'https://maddevs.io/blog' ] )
. addRule ( 'imgTagWithAltAttributeRule' )
. outputConsole ( )
. run ( ) ; const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. ignoreUrls ( [ '/404' , '/login' ] )
. inputSpaFolder ( '/dist' , 'sitemapindex.xml' , 3000 )
. addRule ( 'imgTagWithAltAttributeRule' )
. outputConsole ( )
. run ( ) ; const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputFiles ( [ 'index.html' , 'about.html' ] )
. addRule ( 'imgTagWithAltAttributeRule' )
. outputConsole ( ) ; const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputFolders ( [ 'dist' , 'src' ] )
. addRule ( 'imgTagWithAltAttributeRule' )
. outputConsole ( )
. run ( ) ; const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputFolders ( [ 'dist' , 'src' ] )
. addRule ( 'imgTagWithAltAttributeRule' )
. outputJson ( json => console . log ( json ) )
. run ( ) ; const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. ignoreFolders ( [ 'src/test' ] )
. ignoreFiles ( [ 'src/404.html' ] )
. inputFolders ( [ 'dist' , 'src' ] )
. addRule ( 'imgTagWithAltAttributeRule' )
. outputObject ( obj => console . log ( obj ) )
. run ( ) ; const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputHTMLString (
'<!DOCTYPE html><html><body><h1>title</h1><p>content</p></body></html>'
)
. addRule ( 'imgTagWithAltAttributeRule' )
. outputConsole ( )
. run ( ) ; | Método | Parámetros | Descripción |
|---|---|---|
| IgnoreFiles | ['Dist/About.html'] | Este método espera que una gama de archivos ignore antes del análisis. |
| ignorar las tarjetas | ['Dist/Ignore'] | Este método espera que una variedad de carpetas ignore antes del análisis. |
| ignoreurls | ['/404'] | Este método espera que una serie de URL ignore antes del análisis. |
| archivos de entrada | ['Dist/index.html'] | Este método espera una matriz de archivos HTML. |
| entrada | ['https://maddevs.io'] | Este método espera que analice una variedad de URL. |
| detallas de entrada | ['Dist', 'Src'] | Este método espera una matriz de carpetas con archivos HTML. |
| InputSpafolder | '/dist', 'siteMap.xml', 3000 | Este método espera una cadena de carpetas con archivos construidos SPA a Production & Port para el servidor Run. |
| inputhtmlstring | ['ejemplo'] | Este método espera una cadena que contenga HTML. |
| adprule | función (dom) {} | Este método agrega una regla personalizada para verificar los archivos HTML entrantes. |
| outputObject | función (obj) {} | Este método devolverá el informe como un objeto JavaScript. |
| outputjson | función (json) {} | Este método devolverá el informe en formato JSON. |
| outconsole | nulo | Este método debe usarse al final de la cadena, ya que completa el proceso en la consola. |
A continuación se presentan las reglas que se ejecutan para cada archivo transferido al analizador SEO. Están deshabilitados de forma predeterminada y deben agregarse.
Comprueba la longitud de la etiqueta <title> . Se aceptan dos parámetros:
. addRule ( 'titleLengthRule' , { min : 10 , max : 50 } ) Comprueba si todas las etiquetas <img> tienen atributo alt = "".
. addRule ( 'imgTagWithAltAttributeRule' )<a> Tag With Rel Attribute Rule Comprueba si todas las etiquetas <a> tienen el atributo rel = "".
. addRule ( 'aTagWithRelAttributeRule' )Comprueba si las metaetiquetas básicas especificadas están presentes en la página. Acepta un parámetro:
. addRule ( 'metaBaseRule' , { list : [ 'description' , 'viewport' ] } )Checks if the specified social meta tags are present on the page. Acepta un parámetro:
. addRule ( 'metaSocialRule' , {
properties : [
'og:url' ,
'og:type' ,
'og:site_name' ,
'og:title' ,
'og:description' ,
'og:image' ,
'og:image:width' ,
'og:image:height' ,
'twitter:card' ,
'twitter:text:title' ,
'twitter:description' ,
'twitter:image:src' ,
'twitter:url'
] ,
} )Comprueba si existe un enlace canónico en la página.
. addRule ( 'canonicalLinkRule' )Una regla personalizada es una función que toma un argumento DOM Tree.
function customRule ( dom ) {
return new Promise ( async ( resolve , reject ) => {
const paragraph = dom . window . document . querySelector ( 'p' ) ;
if ( paragraph ) {
resolve ( '' ) ;
} else {
reject ( 'Not found <p> tags' ) ;
}
} ) ;
}
. . .
. addRule ( customRule )
. . . Licencia de MIT
Copyright (c) 2024 Devs locos
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacer, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.