
Библиотека для анализа HTML -файлов, чтобы показать все дефекты SEO.
Чтобы использовать CLI, вы должны установить пакет глобально.
npm install -g seo-analyzerseo-analyzer -h| Вариант | Аргс | Описание |
|---|---|---|
| -h, -help | нулевой | Покажите все варианты. |
| -v, --версия | нулевой | Отображение версии приложения: отображает текущую версию приложения. |
| -IU, -Ignoreurls | [множество] | Исключить конкретные URL -адреса из анализа: исключает определенные URL -адреса из анализа, чтобы избежать обработки нежелательных веб -страниц. |
| -ре, -жигрорефилсы | [множество] | Исключите конкретные файлы из анализа: позволяет исключить определенные файлы из анализа, предотвращая их обработку. |
| -ifl, -ignoreFolders | [множество] | Исключите конкретные папки из анализа: исключает указанные папки из процесса анализа, игнорируя все файлы в этих папках. |
| -u, -urls | [множество] | Выполните анализ SEO по указанным URL -адресам: провести анализ SEO для указанных URL -адресов, проверяя их соблюдение определенных критериев SEO. |
| -f, -Filles | [множество] | Выполните анализ SEO по указанным файлам: выполняет анализ SEO в указанных файлах, обеспечивая их соблюдение стандартов и правил оптимизации. |
| -fl, - -кнопт | [множество] | Выполните анализ SEO в указанных папках: анализируют все файлы в указанных папках для соответствия правилам и рекомендациям SEO. |
| -r, -rules | [множество] | Применить конкретные правила SEO для анализа: применяет конкретные правила SEO во время анализа, позволяя пользователю настроить процесс проверки. По умолчанию запустите все правила по умолчанию. |
seo-analyzer -u https://maddevs.io https://maddevs.io/blogseo-analyzer -u https://maddevs.io -r titleLengthRule= ' { "min": "500" } 'Используйте формат JSON для передачи параметров в правило.
Чтобы использовать SEO Analyzer в качестве действий на GitHub, вы можете создать файл рабочего процесса в .github/workflows/analyzer.yml со следующим контентом:
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.ioНа последнем этапе вы можете указать URL, который вы хотите проанализировать.
Установить в проект.
npm install -D seo-analyzerНастройка анализатора SEO максимально проста. Это будет выглядеть примерно так:
const SeoAnalyzer = require ( 'seo-analyzer' ) ;
new SeoAnalyzer ( )
. inputFiles ( < array > )
.addRule( < function > )
.addRule( < function > )
.outputConsole()
.run();Далее я покажу вам несколько примеров.
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 ( ) ; | Метод | Параметры | Описание |
|---|---|---|
| Игнорировать | ['dist/ae.html'] | Этот метод ожидает, что массив файлов будет игнорировать перед анализом. |
| Игнорировать | ['dist/игнорировать'] | Этот метод ожидает, что массив папок будет игнорировать перед анализом. |
| Игнорерлс | ['/404'] | Этот метод ожидает, что массив URL -адресов будет игнорировать перед анализом. |
| входные файлы | ['dist/index.html'] | Этот метод ожидает массив HTML -файлов. |
| inputUrls | ['https://maddevs.io'] | Этот метод ожидает анализа URL -адресов. |
| Входные рассылки | ['dist', 'src'] | Этот метод ожидает массив папок с HTML -файлами. |
| InputSpafolder | '/dist', 'sitemap.xml', 3000 | Этот метод ожидает строки папок с созданными файлами SPA для производства и порта для Srun Server. |
| Inputhtmlstring | ['пример'] | Этот метод ожидает строки, содержащей HTML. |
| addrule | function (dom) {} | Этот метод добавляет пользовательское правило для проверки входящих HTML -файлов. |
| outputObject | function (obj) {} | Этот метод вернет отчет как объект JavaScript. |
| outputJson | function (json) {} | Этот метод вернет отчет в формате JSON. |
| outputConsole | нулевой | Этот метод должен использоваться в самом конце цепи, потому что он завершает процесс в консоли. |
Ниже приведены правила, которые выполняются для каждого файла, передаваемого в SEO -анализатор. Они отключены по умолчанию и должны быть добавлены.
Проверяет длину тега <title> . Принимаются два параметра:
. addRule ( 'titleLengthRule' , { min : 10 , max : 50 } ) Проверяет, есть ли все теги <img> Alt = "" "Атрибут.
. addRule ( 'imgTagWithAltAttributeRule' )<a> тег с правилом атрибута REL Проверяет, есть ли все теги <a> есть атрибут rel = "".
. addRule ( 'aTagWithRelAttributeRule' )Проверяет, присутствуют ли указанные базовые метатеги на странице. Принимает один параметр:
. addRule ( 'metaBaseRule' , { list : [ 'description' , 'viewport' ] } )Проверяет, присутствуют ли указанные социальные метатеги на странице. Принимает один параметр:
. 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'
] ,
} )Проверяет, существует ли каноническая ссылка на странице.
. addRule ( 'canonicalLinkRule' )Пользовательское правило - это функция, которая принимает аргумент дерева 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 Лицензия
Copyright (C) 2024 Mad Devs
Настоящим дается разрешение, бесплатно, любому лицу, получающему копию этого программного обеспечения и связанные с ними файлы документации («Программное обеспечение»), чтобы иметь дело в программном обеспечении без ограничений, включая, без ограничения, права на использование, копирование, изменение, объединение, публикацию, распределение, сублиценность и/или продавать копии программного обеспечения и разрешения лиц, на которые программное обеспечение подходит для того, чтобы поступить так, чтобы поступить на следующие условия: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: на следующие условия: к следующим условиям: на следующие условия: на следующие условия.
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без гарантии любого рода, явного или подразумеваемого, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и несоответствия. Ни в коем случае авторы или владельцы авторских прав не будут нести ответственность за любые претензии, убытки или другую ответственность, будь то в действии контракта, деликт или иным образом, возникающие из или в связи с программным обеспечением или использованием или другими сделками в программном обеспечении.