SEO
Broken Link คืออะไร? ทำไมมันสำคัญ?
Broken Link (ลิงก์เสีย) หมายถึง ลิงก์บนเว็บไซต์ที่ชี้ไปยังหน้าเว็บหรือไฟล์ที่ไม่มีอยู่แล้ว หรือเซิร์ฟเวอร์ส่ง Error Response (เช่น 404 Not Found, 403 Forbidden เป็นต้น) ผู้เยี่ยมชมคลิกลิงก์นี้แล้วมันแสดง Error Page ที่เสียหน้า ทำให้ผู้เยี่ยมชมต้องกลับหน้าแล้วเดินหน้าต่อ
ทำไม Broken Link ถึงสำคัญ:
- ลดคะแนน SEO — Google ชอบเว็บไซต์ที่ดูแลดี ลิงก์เสีย Google มองว่าเว็บไซต์ยาย Maintain ได้ไม่ดี
- ลดประสบการณ์ผู้เยี่ยมชม (UX) — ผู้เยี่ยมชมรู้สึกเสียหน้า ไม่เชื่อถือเว็บไซต์
- ลด Conversion — ผู้เยี่ยมชมออกจากเว็บเร็วขึ้นเพราะหาไม่เจอสิ่งที่ต้องการ
- ลด Search Engine Crawl Efficiency — ตัว Crawler ของ Google ใช้เวลาสูญเปล่าในการเยี่ยมชม 404 Pages แทนการสำรวจเนื้อหาสำคัญ
ประเภท Broken Link ที่พบบ่อย
404 Not Found
ลิงก์ชี้ไปยัง URL ที่ไม่มีอยู่ เพราะเนื้อหาถูกลบแล้ว หรือ URL ถูกเปลี่ยนชื่อ
- สาเหตุ: ลบหน้าเว็บโดยไม่ Redirect, เปลี่ยน URL path โดยไม่ setup Redirect
- วิธีแก้: ตั้ง 301 Redirect ให้ชี้ไปยัง URL ใหม่ หรือใส่ /index.php ให้ถูกต้อง
403 Forbidden
เซิร์ฟเวอร์บล็อกการเข้าถึง เพราะการตั้งค่า Permission ผิด หรือ IP ถูกบล็อก
- สาเหตุ: ไฟล์ถูก Protect ด้วย Password, .htaccess ปิดการเข้าถึง
- วิธีแก้: ตรวจสอบ .htaccess, ปลด Password ถ้าไม่จำเป็น
500 Server Error
เซิร์ฟเวอร์เกิด Error ขณะ Processing Request
- สาเหตุ: PHP ไม่ทำงาน, Database Connection ล้ม, Memory หมด
- วิธีแก้: ตรวจสอบ Error Log ใน cPanel, ติดต่อ Hosting Support
503 Service Unavailable
เซิร์ฟเวอร์ Maintenance หรือ Overload
- สาเหตุ: การ Maintain Server, Traffic เกินกำลัง
- วิธีแก้: รอให้เซิร์ฟเวอร์ปกติเข้า Broken Link Checker ใหม่
Timeout Error
เซิร์ฟเวอร์ตอบสนองช้ากว่า Timeout Setting
- สาเหตุ: Server ช้า, Network Connection ช้า
- วิธีแก้: ปรับปรุง Server Performance, เพิ่ม Timeout Value
วิธีตรวจหา Broken Link ฟรีบน Shared Hosting
วิธีที่ 1: ใช้เครื่องมือออนไลน์ Dead Link Checker
วิธีที่ง่ายที่สุด ไม่ต้องติดตั้งอะไร:
- ไปที่ https://www.deadlinkchecker.com/ หรือ https://validator.w3.org/checklink
- ใส่ URL ของเว็บไซต์ (เช่น https://yourdomain.com)
- คลิก "Check" หรือ "Validate"
- เครื่องมือจะสแกนทั้งหน้าและรายงาน Broken Links
- ดู Report ดูว่า Link ไหนขาด URL อะไร
วิธีที่ 2: ใช้ Screaming Frog SEO Spider (Desktop)
Screaming Frog เป็นเครื่องมือที่ทรงพลังสำหรับ SEO มี Free Version ที่ใช้ได้:
- ดาวน์โหลด Screaming Frog ที่ https://www.screamingfrog.co.uk/seo-spider/ (Windows, Mac, Linux)
- ติดตั้งแล้วเปิด
- ใส่ URL ของเว็บไซต์ในช่อง "Enter URL"
- คลิก "Start" เพื่อเริ่มสแกน
- รอให้สแกนเสร็จ (อาจใช้เวลาสัก 5-30 นาที)
- ดู "Broken Links" tab จะแสดง Link ที่เสีย HTTP Status Code
วิธีที่ 3: ใช้ Browser DevTools (Manual)
วิธีนี้ช้ากว่า แต่ยังได้:
- เปิดเว็บไซต์ใน Chrome
- กด F12 เปิด DevTools
- ไปที่ Console tab
- วาง Code นี้เพื่อดึง Broken Links:
// ดึง All Links และตรวจสอบ
const links = document.querySelectorAll('a');
links.forEach(link => {
fetch(link.href, {method: 'HEAD'})
.then(res => {
if (res.status >= 400) {
console.log(`BROKEN: ${link.href} (${res.status})`);
}
})
.catch(err => console.log(`ERROR: ${link.href}`));
});
console.log('Checking ' + links.length + ' links...');
วิธีที่ 4: ใช้ SEO Tools ที่มี Broken Link Check
เครื่องมืออื่น ๆ ที่รวม Broken Link Checking:
- Google Search Console — ดูส่วน "Coverage" มีรายงาน Error Pages ของ Google
- Ahrefs Site Audit — Paid Tool แต่มี Trial
- Semrush — Paid Tool ที่มี Broken Link Report
- Moz Pro — Paid Tool ที่มี Crawl Report
วิธีแก้ไข Broken Link
วิธีที่ 1: Redirect เก่า URL ไปยัง URL ใหม่
ถ้าเปลี่ยน URL หรือย้าย Folder ให้ Redirect 301 (Permanent Redirect):
# ใน .htaccess
Redirect 301 /old-page.html /new-page.html
Redirect 301 /old-folder/ /new-folder/
วิธีนี้บอก Google ว่า "หน้าเดิมย้ายไปที่หน้าใหม่แล้ว" Google จะอัพเดท Index โดยอัตโนมัติ ผู้เยี่ยมชมจะ Redirect ไปหน้าใหม่โดยอัตโนมัติ
วิธีที่ 2: แก้ไขลิงก์โดยตรง
ถ้า URL นั้นไม่มีแล้ว ให้แก้ไขลิงก์ทั้งหมดที่ชี้มายัง URL นั้น:
- ในเว็บไซต์ WordPress: ใช้ Search & Replace Plugin
- ในเว็บไซต์ Static HTML: ใช้ Find & Replace ใน Text Editor
- ในเว็บไซต์ CMS: ใช้ Admin Panel Search & Replace
วิธีที่ 3: ใส่ Custom 404 Page
ถ้ามีบาง Broken Link ที่แก้ไม่ได้ ให้สร้าง Friendly 404 Page:
# ใน .htaccess
ErrorDocument 404 /404.html
สร้างไฟล์ 404.html ที่มีลิงก์ไปยัง Homepage หรือ Navigation ให้ผู้เยี่ยมชมหาทางออก
วิธีที่ 4: ตรวจสอบ External Links
ถ้า External Link (ลิงก์นอกเว็บไซต์) เสีย ให้หาลิงก์ใหม่:
- ตรวจสอบว่าเว็บไซต์นั้นยังมีอยู่หรือเปลี่ยน Domain
- ลองหาเว็บไซต์ Replacement ใหม่
- ถ้าหาไม่ได้ ให้ลบลิงก์นั้นออก หรือเปลี่ยนเป็น Nofollow
วิธีป้องกัน Broken Link ในอนาคต
เมื่อแก้ไข Broken Link เสร็จแล้ว ให้ป้องกันไม่ให้เกิดซ้ำ:
- ก่อนลบหน้า — ตรวจสอบว่ามี Internal Link ชี้มายัง URL นั้นหรือไม่ ถ้ามี ให้ Redirect ก่อน
- ตรวจสอบ Internal Links — เมื่อสร้าง Internal Link ให้ Check ว่า URL นั้นมีอยู่จริง
- ตั้ง 404 Monitoring — ใน Google Search Console ดู "Coverage" แล้วตรวจสอบ 404 Errors เป็นประจำ
- ทำ Broken Link Check สม่ำเสมอ — ทำ Link Checker เดือนละครั้ง
ตรวจสอบว่า Broken Link Checker ทำงานถูกต้อง
ก่อนใช้เครื่องมือตรวจสอบ Broken Link ให้ทดสอบ:
# 1. ทดสอบ Link สำหรับ 404 Status
curl -I http://yourdomain.com/nonexistent-page.html
# 2. ทดสอบ Link สำหรับ 301 Redirect
curl -I -L http://yourdomain.com/old-page.html
# 3. ดู All Links บนหน้า (Linux/Mac)
curl -s https://yourdomain.com | grep -oE 'href="[^"]*"' | cut -d'"' -f2
# 4. ตรวจสอบ Response Time
curl -w "Status: %{http_code}\nTime: %{time_total}s\n" -o /dev/null -s https://yourdomain.com
# 5. ตรวจสอบ External Link Status
curl -I https://external-website.com
แก้ปัญหาที่พบบ่อย
Error: "เครื่องมือ Broken Link Checker ไม่ Scan ได้ทั้งเว็บไซต์"
บางเครื่องมือมีข้อจำกัด:
- Free Version มี Limit: ตรวจสอบได้เฉพาะ 100 ลิงก์ ถ้าต้องการมากกว่า ต้องอัพเกรด Paid Plan
- ไม่ Scan JavaScript Links: ถ้า Link ถูกสร้างด้วย JavaScript Dynamically เครื่องมือ Static อาจไม่ได้
- robots.txt บล็อก: ตรวจสอบว่า robots.txt ให้ Crawler เข้า Scan หรือไม่
Error: "302/307 Temporary Redirect ปรากฏเป็น Broken"
Temporary Redirect (302/307) บ่อยครั้งถูกมองว่า Broken ถ้าใช้นาน ๆ
- ใช้ 301 แทน: ถ้าต้องการ Permanent Redirect ให้ใช้ 301 แทน 302
- ลบ Temporary Redirect: ถ้า Redirect นี้ ที่ Maintenance หรือ Temporary ให้ลบทิ้ง
Error: "Redirect Chain (Redirect Loop)"
เกิดเมื่อ URL A → B → C → A วนซ้ำ
- ตรวจสอบ .htaccess: ดูว่ามี Redirect rule ที่วนซ้ำหรือไม่
- ใช้ curl ทดสอบ:
curl -I -L http://yourdomain.com/oldดูว่า Final Destination - ลบ Circular Redirect: ลบ Redirect ที่ชี้กลับมายัง Source เอง
Error: "External Link ปรากฏขึ้นมาเป็น Broken ทั้งๆ ที่ยังทำงาน"
False Positive เกิดจาก:
- Rate Limit: เว็บไซต์นั้นบล็อก Bot เพราะ Request เยอะเกินไป
- Timeout: Server ตอบสนองช้า เกินกว่า Checker Timeout Setting
- User-Agent: บางเว็บไซต์บล็อก Checker Bot (User-Agent ของ Checker)
Error: "Redirect สำหรับ WWW vs Non-WWW ทำให้ Loop"
ตัวอย่าง: www.yourdomain.com → yourdomain.com → www.yourdomain.com
- ตั้งค่า Canonical: ให้ไปที่ Non-www หรือ www เพียงอันเดียว
- ใน cPanel: Setting → Preferred Domain ให้เลือกเพียง www หรือ non-www อันเดียว
- ใน .htaccess: ตั้ง Redirect อย่างชัดเจน ไป www หรือ non-www เท่านั้น
คำถามที่พบบ่อย
Q: ลบ Broken Link ออกหรือ Redirect ให้ดีกว่าไหน?
A: ถ้าเพจเก่านั้นมีค่า SEO ดี (มี Backlink จากเว็บไซต์อื่น) ให้ Redirect ไปยัง Relevant Page เพื่อรักษา SEO Value ถ้าไม่มีค่า ก็ลบได้เลย แต่ยังคงต้อง Redirect ให้สำหรับ Internal Links ที่อ้างถึง
Q: ต้องตรวจสอบ Broken Link บ่อยขนาดไหน?
A: อย่างน้อย 1 เดือนที่ คุณสามารถตั้ง Reminder ใน Google Calendar หรือใช้ Monitoring Tool ที่แจ้งเตือน Broken Links ตามเวลา
Q: External Link ของ Affiliate Program เสีย ทำยังไง?
A: ติดต่อ Affiliate Program Support เพื่อขอลิงก์ใหม่ ในขณะรอ ให้ใส่ Nofollow attribute เพื่อไม่ให้ส่ง Link Juice ไป URL ที่เสีย หรือ Redirect ไปยัง Homepage ของ Affiliate นั้นชั่วคราว