
ไลบรารีสำหรับวิเคราะห์ไฟล์ HTML เพื่อแสดงข้อบกพร่อง SEO ทั้งหมด
ในการใช้ CLI คุณต้องติดตั้งแพ็คเกจทั่วโลก
npm install -g seo-analyzerseo-analyzer -h| ตัวเลือก | อาร์กอน | คำอธิบาย |
|---|---|---|
| -h, -help | โมฆะ | แสดงตัวเลือกทั้งหมด |
| -v, -Version | โมฆะ | แสดงเวอร์ชันแอปพลิเคชัน: แสดงเวอร์ชันปัจจุบันของแอปพลิเคชัน |
| -iu, -ignoreurls | [อาร์เรย์] | ไม่รวม URL ที่เฉพาะเจาะจงจากการวิเคราะห์: ไม่รวม URL บางอย่างจากการวิเคราะห์เพื่อหลีกเลี่ยงการประมวลผลหน้าเว็บที่ไม่ต้องการ |
| -if, - -ignorefiles | [อาร์เรย์] | ไม่รวมไฟล์เฉพาะจากการวิเคราะห์: อนุญาตให้ไม่รวมไฟล์บางไฟล์จากการวิเคราะห์ป้องกันการประมวลผล |
| -ifl, -ignorefolders | [อาร์เรย์] | ไม่รวมโฟลเดอร์เฉพาะจากการวิเคราะห์: ไม่รวมโฟลเดอร์ที่ระบุจากกระบวนการวิเคราะห์โดยไม่สนใจไฟล์ทั้งหมดภายในโฟลเดอร์เหล่านั้น |
| -u, -urls | [อาร์เรย์] | ดำเนินการวิเคราะห์ SEO เกี่ยวกับ URL ที่ระบุ: ดำเนินการวิเคราะห์ SEO สำหรับ URL ที่ระบุตรวจสอบการปฏิบัติตามเกณฑ์ SEO บางอย่าง |
| -f, -ไฟล์ | [อาร์เรย์] | ทำการวิเคราะห์ SEO เกี่ยวกับไฟล์ที่ระบุ: ดำเนินการวิเคราะห์ SEO ในไฟล์ที่ระบุเพื่อให้มั่นใจว่าการปฏิบัติตามมาตรฐานและกฎการเพิ่มประสิทธิภาพ |
| -fl, -โฟลเดอร์ | [อาร์เรย์] | ทำการวิเคราะห์ SEO ในโฟลเดอร์ที่ระบุ: วิเคราะห์ไฟล์ทั้งหมดภายในโฟลเดอร์ที่ระบุเพื่อให้สอดคล้องกับกฎและคำแนะนำ 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 ANALASES เป็นการกระทำบน 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/about.html'] | วิธีนี้คาดว่าอาร์เรย์ของไฟล์จะเพิกเฉยก่อนการวิเคราะห์ |
| เพิกเฉย | ['dist/istignore'] | วิธีนี้คาดว่าอาร์เรย์ของโฟลเดอร์จะเพิกเฉยก่อนการวิเคราะห์ |
| ไม่สนใจ | ['/404'] | วิธีนี้คาดว่าอาร์เรย์ของ URL จะเพิกเฉยก่อนการวิเคราะห์ |
| อินพุตไฟล์ | ['dist/index.html'] | วิธีนี้คาดว่าจะมีอาร์เรย์ของไฟล์ HTML |
| อินพุต | ['https://maddevs.io'] | วิธีนี้คาดว่าอาร์เรย์ของ URL จะวิเคราะห์ |
| อินพุตโฟลเดอร์ | ['dist', 'src'] | วิธีนี้คาดว่าอาร์เรย์ของโฟลเดอร์ที่มีไฟล์ HTML |
| InputSpafolder | '/dist', 'sitemap.xml', 3000 | วิธีนี้คาดว่าจะมีสตริงโฟลเดอร์ที่มีไฟล์ที่สร้างสปาไปยังการผลิตและพอร์ตสำหรับการเรียกใช้เซิร์ฟเวอร์ |
| inputhtmlstring | ['ตัวอย่าง'] | วิธีนี้คาดว่าสตริงที่มี HTML |
| การติด | ฟังก์ชัน (dom) {} | วิธีนี้เพิ่มกฎที่กำหนดเองเพื่อตรวจสอบไฟล์ HTML ที่เข้ามา |
| OutputObject | ฟังก์ชั่น (obj) {} | วิธีนี้จะส่งคืนรายงานเป็นวัตถุ JavaScript |
| outputjson | ฟังก์ชั่น (JSON) {} | วิธีนี้จะส่งคืนรายงานในรูปแบบ JSON |
| OutputConsole | โมฆะ | วิธีนี้จะต้องใช้ที่ปลายโซ่มากเพราะมันเสร็จสิ้นกระบวนการในคอนโซล |
ด้านล่างนี้เป็นกฎที่ดำเนินการสำหรับแต่ละไฟล์ที่ถ่ายโอนไปยัง SEO Analyzer พวกเขาจะถูกปิดใช้งานโดยค่าเริ่มต้นและต้องเพิ่ม
ตรวจสอบความยาวของแท็ก <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 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 )
. . . ใบอนุญาต MIT
ลิขสิทธิ์ (c) 2024 mad devs
ได้รับอนุญาตโดยไม่ต้องเสียค่าใช้จ่ายสำหรับบุคคลใด ๆ ที่ได้รับสำเนาซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") เพื่อจัดการในซอฟต์แวร์โดยไม่มีการ จำกัด รวมถึง แต่ไม่ จำกัด เฉพาะสิทธิ์ในการใช้สำเนาดัดแปลงผสานเผยแพร่เผยแพร่
ประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันความสามารถในการค้าการออกกำลังกายสำหรับวัตถุประสงค์เฉพาะและการไม่เข้าร่วม ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดชอบต่อการเรียกร้องความเสียหายหรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญาการละเมิดหรืออื่น ๆ ที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือการติดต่ออื่น ๆ ในซอฟต์แวร์