
مكتبة لتحليل ملفات HTML لإظهار جميع عيوب كبار المسئولين الاقتصاديين.
لاستخدام CLI ، يجب عليك تثبيت الحزمة على مستوى العالم.
npm install -g seo-analyzerseo-analyzer -h| خيار | args | وصف |
|---|---|---|
| -H ، -help | باطل | إظهار جميع الخيارات. |
| -v ، - | باطل | عرض إصدار التطبيق: يعرض الإصدار الحالي من التطبيق. |
| -أو ، -ignoreurls | [صفيف] | استبعاد عناوين URL محددة من التحليل: يستبعد عناوين URL معينة من التحليل لتجنب معالجة صفحات الويب غير المرغوب فيها. |
| -f ، -ignorefiles | [صفيف] | استبعاد ملفات محددة من التحليل: يسمح باستثناء بعض الملفات من التحليل ، ومنع معالجتها. |
| -IFL ، -ignorefolders | [صفيف] | استبعاد مجلدات محددة من التحليل: يستثني المجلدات المحددة من عملية التحليل ، وتجاهل جميع الملفات داخل تلك المجلدات. |
| -u ، -urls | [صفيف] | إجراء تحليل SEO على عناوين URL المحددة: إجراء تحليل SEO لعناوين URL المحددة ، والتحقق من امتثالها لمعايير SEO معينة. |
| -f ، -ملفات | [صفيف] | قم بإجراء تحليل SEO على الملفات المحددة: يقوم بتحليل SEO على الملفات المحددة ، مما يضمن التزامها بمعايير وقواعد التحسين. |
| -FL ، -محمل | [صفيف] | إجراء تحليل SEO على المجلدات المحددة: تحليل جميع الملفات ضمن مجلدات محددة للامتثال لقواعد وتوصيات تحسين محركات البحث. |
| -r ، -القواعد | [صفيف] | قم بتطبيق قواعد SEO محددة للتحليل: يطبق قواعد SEO محددة أثناء التحليل ، مما يسمح للمستخدم بتخصيص عملية التفتيش. بشكل افتراضي ، قم بتشغيل جميع القواعد الافتراضية. |
seo-analyzer -u https://maddevs.io https://maddevs.io/blogseo-analyzer -u https://maddevs.io -r titleLengthRule= ' { "min": "500" } 'استخدم تنسيق JSON لتمرير المعلمات إلى القاعدة.
لاستخدام محلل SEO كإجراءات على GitHub ، يمكنك إنشاء ملف سير العمل في .github/sorkflows/alalyzer.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 ( ) ; | طريقة | params | وصف |
|---|---|---|
| تجاهل | ['dist/about.html'] | تتوقع هذه الطريقة تجاهل مجموعة من الملفات قبل التحليل. |
| تجاهل | ["Dist/Destroy"] | تتوقع هذه الطريقة تجاهل مجموعة من المجلدات قبل التحليل. |
| تجاهل | ['/404'] | تتوقع هذه الطريقة تجاهل مجموعة من عناوين URL قبل التحليل. |
| المدخلات | ['dist/index.html'] | تتوقع هذه الطريقة مجموعة من ملفات HTML. |
| inpecturls | ['https://maddevs.io'] | تتوقع هذه الطريقة مجموعة من عناوين URL لتحليلها. |
| المدخلات | ['dist' ، 'SRC'] | تتوقع هذه الطريقة مجموعة من المجلدات مع ملفات HTML. |
| inputspafolder | '/dist' ، 'sitemap.xml' ، 3000 | تتوقع هذه الطريقة سلسلة من المجلد مع ملفات تم إنشاؤها للسبا إلى الإنتاج والمنفذ لخادم التشغيل. |
| inputhtmlstring | ['مثال'] | تتوقع هذه الطريقة سلسلة تحتوي على HTML. |
| addrule | دالة (دوم) {} | تضيف هذه الطريقة قاعدة مخصصة للتحقق من ملفات HTML الواردة. |
| OutputObject | دالة (obj) {} | ستعيد هذه الطريقة التقرير ككائن JavaScript. |
| OutputJson | وظيفة (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' )القاعدة المخصصة هي وظيفة تأخذ وسيطة شجرة دوم.
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 )
. . . رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (C) 2024 Mad Devs
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام الأشخاص ونسخها ودمجها ودمجها وتوزيعها وتوزيعها على ما يلي:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لا يجوز بأي حال من الأحوال أن يكون المؤلفون أو حاملي حقوق الطبع والنشر مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن أو خارج البرنامج أو الاستخدام أو غيرها من المعاملات في البرنامج.