
A biblioteca para analisar arquivos HTML para mostrar todos os defeitos de SEO.
Para usar a CLI, você deve instalar o pacote globalmente.
npm install -g seo-analyzerseo-analyzer -h| Opção | Args | Descrição |
|---|---|---|
| -h, --help | nulo | Mostre todas as opções. |
| -v, --version | nulo | Exibir versão do aplicativo: exibe a versão atual do aplicativo. |
| -IU, --ignoreurls | [variedade] | Exclua URLs específicos da análise: exclui certos URLs da análise para evitar o processamento de páginas da Web indesejadas. |
| -Se, --ignorefiles | [variedade] | Exclua arquivos específicos da análise: permite excluir determinados arquivos da análise, impedindo seu processamento. |
| -Ifl, --ignoreFolders | [variedade] | Exclua pastas específicas da análise: exclui pastas especificadas do processo de análise, ignorando todos os arquivos nessas pastas. |
| -u, --urls | [variedade] | Realize a análise de SEO em URLs especificados: conduz a análise de SEO para URLs especificados, verificando sua conformidade com certos critérios de SEO. |
| -f, -arquivos | [variedade] | Execute a análise de SEO em arquivos especificados: executa a análise de SEO em arquivos especificados, garantindo sua adesão aos padrões e regras de otimização. |
| -fl, -Folder | [variedade] | Execute a análise de SEO em pastas especificadas: analisa todos os arquivos nas pastas especificadas para conformidade com as regras e recomendações do SEO. |
| -R, - -RULES | [variedade] | Aplique regras específicas de SEO para análise: aplica regras específicas de SEO durante a análise, permitindo ao usuário personalizar o processo de inspeção. Por padrão, execute todas as regras padrão. |
seo-analyzer -u https://maddevs.io https://maddevs.io/blogseo-analyzer -u https://maddevs.io -r titleLengthRule= ' { "min": "500" } 'Use o formato JSON para passar os parâmetros para a regra.
Para usar o Analisador de SEO como ações no GitHub, você pode criar um arquivo de fluxo de trabalho em .github/workflows/analzer.yml com o seguinte conteúdo:
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.ioNa última etapa, você pode especificar o URL que deseja analisar.
Instalar no projeto.
npm install -D seo-analyzerA configuração do analisador de SEO é o mais simples possível. Vai parecer algo assim:
const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputFiles ( < array > )
.addRule( < function > )
.addRule( < function > )
.outputConsole()
.run();Em seguida, mostrarei alguns exemplos.
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 | Params | Descrição |
|---|---|---|
| ignorefiles | ['dist/about.html'] | Este método espera que uma matriz de arquivos ignore antes da análise. |
| ignorefoldpers | ['dist/ignore'] | Este método espera que uma variedade de pastas ignore antes da análise. |
| ignoreurls | ['/404'] | Este método espera que uma variedade de URLs ignore antes da análise. |
| InputFiles | ['dist/index.html'] | Este método espera uma matriz de arquivos HTML. |
| inputurls | ['https://maddevs.io'] | Este método espera que uma variedade de URLs analise. |
| inputFolders | ['dist', 'src'] | Este método espera uma matriz de pastas com arquivos HTML. |
| inputsPafolder | '/dist', 'sitemap.xml', 3000 | Este método espera uma sequência de pasta com arquivos computados SPA para Produção e Porta para Run Server. |
| inputhtmlstring | ['exemplo'] | Este método espera uma string contendo HTML. |
| addrule | função (dom) {} | Este método adiciona uma regra personalizada para verificar os arquivos HTML recebidos. |
| outputObject | função (obj) {} | Este método retornará o relatório como um objeto JavaScript. |
| outputjson | função (json) {} | Este método retornará o relatório no formato JSON. |
| outputConsole | nulo | Este método deve ser usado no final da cadeia, porque conclui o processo no console. |
Abaixo estão as regras executadas para cada arquivo transferido para o analisador de SEO. Eles são desativados por padrão e devem ser adicionados.
Verifica o comprimento da tag <title> . Dois parâmetros são aceitos:
. addRule ( 'titleLengthRule' , { min : 10 , max : 50 } ) Verifica se todas as tags <img> têm atributo alt = "".
. addRule ( 'imgTagWithAltAttributeRule' )<a> Tag com a regra de atributo REL Verifica se todas as tags <a> têm atributo rel = "".
. addRule ( 'aTagWithRelAttributeRule' )Verifica se as metatags básicas especificadas estão presentes na página. Aceita um parâmetro:
. addRule ( 'metaBaseRule' , { list : [ 'description' , 'viewport' ] } )Verifica se as metatags sociais especificadas estão presentes na página. Aceita um 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'
] ,
} )Verifica se existe um link canônico na página.
. addRule ( 'canonicalLinkRule' )Uma regra personalizada é uma função que leva um argumento de árvore dom.
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 )
. . . MIT Licença
Copyright (c) 2024 Mad Devs
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.