ทำ SEO Rank Tracker แบบ custom ใช้เอง

Sonthaya T.
Updated: Jan. 5, 2026
สารบัญ
กำลังโหลดสารบัญ...
เคยไหมครับที่ต้องเข้าไปเช็คอันดับคีย์เวิร์ดทีละตัวใน Google... พิมพ์คีย์เวิร์ด แล้วนับว่าเว็บเราอยู่อันดับที่เท่าไหร่ ถ้ามี 50-100 คีย์เวิร์ด นี่เมื่อยมือแน่ ๆ และอาจจะมีความผิดพลาดได้อย่างแน่นอน

ซึ่งการจะใช้เครื่องมือสำเร็จรูป เครื่องมือชั้นนำไม่ว่าจะเป็น Semrush, Ahrefs หรือตัวอื่น ๆ ก็แพงมาก บางตัวเดือนละ 3,000-5,000 บาท สำหรับ Freelancer หรือธุรกิจเล็ก ๆ ถือว่าเป็นต้นทุนที่สูงเลยครับ 

ตัวอย่างเช่นเครื่องมือ track อันดับของ Semrush ด้านล่าง เราต้องจ่ายหลายพันบาทต่อเดือนนะครับ จะได้ใช้เครื่องมือพวกนี้ ซึ่งปกติคนที่เป็น SEO Consult ก็ต้องจ่ายค่าเครื่องมือพวกนี้เป็นเรื่องปกติอยู่แล้วแหละ


Position Tracking ของ Semrush 


แต่ถ้าเป็นเจ้าของเว็บเล็ก ๆ หรือต้องการ track คีย์เวิร์ดไม่เยอะล่ะ มันจะเป็นไปได้ไหม จะมีเครื่องมืออะไรที่เหมาะกับ requirement ประมาณนี้

ผมก็เลยรีเสิร์ช จนได้พัฒนาเจ้าเครื่องมือตัวที่เห็นในภาพนี้มาครับ (เดี๋ยวผมจะมีอธิบายด้านล่างว่า ผมใช้ tech stack อะไรบ้าง และการติดตั้งใช้งานต่าง ๆ ทำได้อย่างไรบ้าง


หน้าตาของ Rank Tracker ตัวนี้


ที่มาของการพัฒนา SEO Rank Tracker

จากประสบการณ์ให้คำปรึกษา SEO มาหลายปี ผมเจอปัญหาเดิม ๆ คือ

  • ลูกค้าอยากรู้ว่าคีย์เวิร์ดขึ้นหรือลง ต้องมานั่งเช็คทีละตัว
  • เครื่องมือที่มีอยู่แพงเกินไป โดยเฉพาะถ้าต้องการติดตามหลายเว็บ
  • ไม่มีรายงานที่เข้าใจง่าย ต้องมา export แล้วทำใหม่เอง
  • ข้อมูลอยู่ในระบบของเขา เราดึงออกมาวิเคราะห์ต่อยาก

พอดีผมมีพื้นฐานการเขียนโปรแกรม เลยตัดสินใจทำเครื่องมือขึ้นมาใช้เอง แล้วคิดว่าน่าจะมีคนต้องการแบบนี้เหมือนกัน ก็เลยทำเป็น Open Source แจกฟรีเลยครับ (และเพื่อน ๆ สามารถเข้ามาร่วมพัฒนาได้เช่นกันครับได้ใน repository นี้ที่ชื่อว่า "cm-seo-rank-tracker")


ซอร์สโค้ด


SEO Rank Tracker ทำอะไรได้บ้าง?

1. ตรวจสอบอันดับอัตโนมัติทุกสัปดาห์

ระบบจะตรวจสอบอันดับคีย์เวิร์ดที่เราตั้งไว้ทุกวันจันทร์เช้า ไม่ต้องมานั่งเช็คเอง ใช้ SerpAPI ในการดึงข้อมูล (เหมือนกับที่ Ahrefs หรือ SEMrush ใช้) ได้ผลลัพธ์ที่แม่นยำ


2. ส่งรายงานทางอีเมลอัตโนมัติ

ทุกวันจันทร์ 9 โมงเช้า ระบบจะส่งรายงานสรุปมาให้ ในรายงานจะมี

  • คีย์เวิร์ดไหนขึ้น (สีเขียว + ลูกศรขึ้น)
  • คีย์เวิร์ดไหนลง (สีแดง + ลูกศรลง)
  • คีย์เวิร์ดที่เพิ่งติดอันดับใหม่
  • สรุปภาพรวมว่าเว็บเราแข็งแรงขึ้นหรือไม่

รายงานออกแบบมาสวยงาม ส่งให้ลูกค้าได้เลยไม่ต้องแก้อะไร


3. ดูข้อมูลผ่านหน้าเว็บ Dashboard

นอกจากรายงานอีเมล ยังมีหน้าเว็บให้เข้าไปดูข้อมูลแบบ real-time ได้ด้วย มี

  • กราฟแสดงการเปลี่ยนแปลงของแต่ละคีย์เวิร์ด
  • ประวัติอันดับย้อนหลังได้ 1 ปี
  • ฟิลเตอร์ดูเฉพาะคีย์เวิร์ดที่สนใจ


วิธีติดตั้งแบบง่าย ๆ (ไม่ต้องเป็น Programmer ก็ทำได้)

ผมทำให้ติดตั้งง่ายที่สุดแล้วครับ ใช้ Docker ช่วย ไม่ต้องลงโปรแกรมเยอะ

ขั้นตอนที่ 1: เตรียมของ

  • คอมพิวเตอร์ที่ลง Docker ได้ (Windows, Mac, Linux ได้หมด)
  • SerpAPI Key (สมัครฟรีได้ มี credit ให้ทดลอง)
  • Gmail สำหรับส่งรายงาน

เพื่อน ๆ สามารถทำความเข้าใจเกี่ยวกับ Docker เพิ่มเติมได้ใน Docker Tutorial


และสมัครใช้งานอีกพระเอกของเรา นั่นก็คือ SerpApi 


Serpapi


หลังจากลงทะเบียนเสร็จเลือก Free Plan ได้เลยครับ 


เลือก Free Plan ก่อนละกันเนอะ


ยืนยันอีเมลและหมายเลขโทรศัพท์ตามที่ Serpapi ขอมา ก็เป็นอันเสร็จสิ้น จะเข้าสู่หน้าแดชบอร์ด พร้อมได้ API Key


สมัครรับ API Key


ขั้นตอนที่ 2: ดาวน์โหลดโค้ดมาเก็บในเครื่องของเรา

ส่วนนี้จะเป็นการโคลน พูดง่าย ๆ ก็คือ copy หรือดาวน์โหลดโค้ดมาเก็บไว้ในเครื่องเราเพื่อให้รันได้นั่นเองครับ ถ้าเพื่อน ๆ ที่ยังไม่รู้ว่า Git คืออะไร สามารถศึกษาเพิ่มเติมได้จากวิดีโอนี้กับ Git 101

git clone https://github.com/son-content-mastery/cm-seo-rank-tracker
cd seo-rank-tracker



ขั้นตอนที่ 3: ตั้งค่า

ส่วนนี้จะเป็นการใช้คำสั่ง cp นั่นก็คือ copy ไฟล์ .env.example  .env.example  มาและสร้าง .env  ขึ้นมาครับ (หรือไม่จำเป็นต้องใช้คำสั่งนี้ครับ กดบนหน้าโปรแกรม Visual Studio Code 2 เลือกสร้างไฟล์ใหม่ขึ้นมาก็ได้เช่นกันครับ

cp .env.example .env


หรือจะสร้าง New File ขึ้นมาใหม่ ก็ตามสะดวกเลยครับ ต่างกันแค่การคลิก UI กับใช้บน Terminal แค่นั้นแหละเนอะ



แก้ไขไฟล์ .env ใส่ตัวแปรที่จำเป็นดังต่อไปนี้

  •  SERPAPI_KEY = คีย์ที่ได้จาก SerpAPI
  •  GMAIL_USER = อีเมลที่จะใช้ส่งรายงาน
  •  GMAIL_APP_PASSWORD  = รหัสผ่านแอพ (ไม่ใช่รหัสปกติ)
  •  TARGET_DOMAIN  = เว็บที่ต้องการติดตาม เช่น example.com
  •  RECIPIENT_EMAIL  = อีเมลที่จะรับรายงาน (ใช้เมลส่วนตัวของเรานั่นแหละ)

ไฟล์ .env ตัวอย่าง

# Database Configuration
DATABASE_URL=postgresql://seo_user:seo_password@localhost:5432/seo_tracker

# API Keys
SERPAPI_KEY=your_serpapi_key_here

# Email Configuration (Gmail)
GMAIL_USER=[email protected]
GMAIL_APP_PASSWORD=wqyzgvbnjmpxfhtd
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587

# Application Configuration
FLASK_ENV=production
SECRET_KEY=your_secret_key_here_change_in_production
REDIS_URL=redis://localhost:6379/0

# SEO Configuration
TARGET_DOMAIN=contentmastery.io
RECIPIENT_EMAIL=[email protected]


สำหรับการสร้าง API Key ของ GMAIL_APP_PASSWORD  (จะได้ API Key จำนวน 16 ตัวอักษร) ดูได้จากวิดีโอนี้ครับ How to Create Gmail App Password


ขั้นตอนที่ 4: รันระบบ

รัน docker ได้เลยครับ

docker-compose up


หรือจะรันทิ้งไว้แบบ background ก็เพิ่ม flag -d เข้าไป

docker-compose up -d


พอรันจะได้ประมาณนี้ครับ 

sonny@MacBook-Pro-khxng-sonny seo-rank-tracker % docker compose up
WARN[0000] The "GMAIL_APP_PASSWORD" variable is not set. Defaulting to a blank string. 
WARN[0000] The "GMAIL_APP_PASSWORD" variable is not set. Defaulting to a blank string. 
WARN[0000] The "GMAIL_APP_PASSWORD" variable is not set. Defaulting to a blank string. 
[+] Running 6/6
 ⠿ Network seo-rank-tracker_default        Created                         0.2s
 ⠿ Container seo-rank-tracker_redis_1      Created                         0.1s
 ⠿ Container seo-rank-tracker_db_1         Created                         0.1s
 ⠿ Container seo-rank-tracker_scheduler_1  Created                         0.1s
 ⠿ Container seo-rank-tracker_web_1        Created                         0.1s
 ⠿ Container seo-rank-tracker_worker_1     Created                         0.1s
Attaching to db_1, redis_1, scheduler_1, web_1, worker_1


Gmail ยังไม่ได้ set ค่านะครับ เดี๋ยวผมจะมาอัปเดตให้ภายหลังส่วนนี้ แต่เดี๋ยวให้เพื่อน ๆ track พวกคีย์เวิร์ดให้ได้ก่อนครับ

เสร็จแล้ว! เปิดเว็บเบราว์เซอร์ไปที่ http://localhost:5000 ได้เลย


โครงสร้างระบบ (สำหรับคนที่สนใจด้าน Technical)

Stack ที่ผมใช้มีดังต่อไปนี้ครับ

  • Flask (Python) - ทำหน้าเว็บและ API
  • PostgreSQL - ฐานข้อมูลสำหรับเก็บข้อมูลอันดับและประวัติ
  • Redis - ทำ Queue และ Cache
  • Celery - จัดการงานเบื้องหลัง (Background Task)
  • Docker - ทำให้ติดตั้งง่าย (ไม่ต้องติดตั้งทีละเครื่องมือแบบ manual)

ทุกอย่างแยก Container เป็นแต่ละ service ชัดเจน อัพเดทหรือแก้ไขง่าย

อันนี้แหละครับ Flask อีกเว็บเฟรมเวิร์คของภาษา Python ยอดนิยมอีกตัว ที่เบา และเขียนได้ค่อนข้างยืดหยุ่นและสนุกครับ เหมาะกับทำโปรเจคท์ประมาณนี้เลย (แต่ถ้าเขียนพวกทำเว็บไซต์ ผมจะใช้อีกตัวคือ Django)


Flask เฟรมเวิร์ค



ค่าใช้จ่ายจริง ๆ เท่าไหร่?

ตัวโปรแกรมฟรี 100% (Open Source) แต่จะมีค่าใช้จ่ายจาก SerpAPI ครับ

  • แพ็คเกจ Hobby: $50/เดือน ได้ 5,000 searches
  • ถ้าติดตาม 100 คีย์เวิร์ด x 4 สัปดาห์ = 400 searches/เดือน
  • คิดเป็นค่าใช้จ่ายประมาณ $4/เดือน หรือ 140 บาท

เทียบกับเครื่องมือในตลาดที่เดือนละ 3,000-5,000 ถือว่าประหยัดมากครับ

ในบทความนี้เราใช้ Free Plan ของ Serpapi ครับ ซึ่งใช้ได้ฟรี 100 250 searches/requests (อัปเดตล่าสุดได้เพิ่มเป็น 250 searches) ต่อเดือนครับ เอาง่าย ๆ ก็คือถ้าเราต้องการ track 50-60 คีย์เวิร์ด/สัปดาห์ได้สบาย ๆ 


ข้อดีเทียบกับเครื่องมือในตลาด

  1. ประหยัดค่าใช้จ่าย - จ่ายแค่ค่า API ไม่มีค่า subscription แพง ๆ
  2. Custom ได้ตามใจ - อยากเพิ่มฟีเจอร์อะไรก็ทำได้
  3. มี API ให้ใช้ - เอาข้อมูลไปต่อยอดได้


ข้อจำกัดที่ควรรู้

  1. ต้องมีเซิร์ฟเวอร์หรือคอมที่เปิดทิ้งไว้ได้ - หรือจะใช้ VPS ราคา 200-300 บาท/เดือนก็ได้ ซึ่งมีอีกตัวที่แนะนำคือ DigitalOcean สำหรับทำเซิร์ฟเวอร์ที่เราจะเปิดรันไว้ตลอด
  2. ต้องมีความรู้พื้นฐานบ้าง - การติดตั้งไม่ยาก แต่ถ้าเจอปัญหาต้องแก้เองได้
  3. ไม่มีฟีเจอร์ครบเท่าเครื่องมือใหญ่ ๆ - โฟกัสแค่ rank tracking อย่างเดียวเด้อ


ใครเหมาะกับเครื่องมือนี้

  • SEO Freelancer ที่ดูแลหลายเว็บ ต้องการประหยัดต้นทุน
  • เอเจนซี่ขนาดเล็ก ที่อยากมีระบบเป็นของตัวเอง
  • เจ้าของเว็บ ที่มีพื้นฐาน technical และอยากประหยัด
  • Developer ที่ทำ SEO ด้วย อยาก custom เครื่องมือได้เอง


Tips การใช้งานให้คุ้มค่า

  1. เลือกคีย์เวิร์ดที่สำคัญจริง ๆ - ไม่ต้องติดตามทุกคีย์ เลือกแค่ที่ทำเงินให้
  2. ตั้ง Alert สำหรับคีย์เวิร์ดสำคัญ - ถ้าตกอันดับให้แจ้งเตือนทันที
  3. ดูแนวโน้มมากกว่าตัวเลข - อันดับขึ้นลง 1-2 ไม่ต้องตื่นเต้น ดู trend ดีกว่า
  4. Export ข้อมูลทำรายงาน - ดึงข้อมูลไปทำกราฟสวยๆ ใน Excel หรือ Data Studio


สรุป

SEO Rank Tracker เป็นเครื่องมือที่ผมสร้างขึ้นเพื่อแก้ปัญหาที่เจอในการทำงานจริง อาจจะไม่มีฟีเจอร์เยอะเท่าเครื่องมือราคาแพง แต่ทำงานหลักได้ดี ประหยัดค่าใช้จ่าย และที่สำคัญคือเป็นของเราเอง

ถ้าใครกำลังมองหาเครื่องมือติดตามอันดับที่ประหยัด ลองเอาไปใช้ดูนะครับ ฟรี 100% ถ้าชอบก็แชร์ต่อให้เพื่อน ๆ ได้ใช้กัน

สำหรับใครที่ไม่อยากติดตั้งเอง อยากให้ผมช่วย setup หรือ customize ก็ติดต่อมาได้นะครับ ยินดีให้คำปรึกษา

ปล. ถ้าใครใช้แล้วเจอบัคหรืออยากให้เพิ่มฟีเจอร์อะไร บอกมาได้เลยครับ หรือจะ contribute code มาช่วยกันพัฒนาก็ยินดีมากครับ นี่คือพลังของ Open Source

GitHub: CM Rank Tracker GitHub Repository

Sonthaya T.

Sonthaya T.

Author

ที่ปรึกษาด้าน Web & SEO สำหรับองค์กรและเจ้าของธุรกิจ ชอบออกแบบแนวทางและวิธีการสอนให้มีประสิทธิภาพมากที่สุด เชื่อว่าความรู้คือหนึ่งในสิ่งที่มีคุณค่ามากที่สุดและจะติดตัวเราไปในทุกที่ หลงไหลในธรรมชาติ การเดินทาง เป็นพ่อของแงว ๆ อยู่หลายตัว เสพติดกาแฟ (อเมริกาโน่) และชอบการจิบเบียร์...ในบางครั้ง