SEO
Sitemap XML คืออะไร?
Sitemap XML เป็นไฟล์ชนิด XML ที่เก็บรายชื่อหน้าของเว็บไซต์ทั้งหมด คล้ายกับ Table of Contents ของหนังสือ วัตถุประสงค์หลักคือ บอกให้ Google, Bing และ Search Engine อื่น ๆ รู้ว่าเว็บไซต์ของคุณมีหน้าไหนบ้าง และแต่ละหน้าแก้ไขเมื่อไหร่ ตำแหน่ง sitemap.xml ต้องอยู่ในโฟลเดอร์ root เช่น https://yourdomain.com/sitemap.xml
เมื่อใดที่ต้องใช้ Sitemap XML?
ไม่ใช่เว็บทั้งหมดต้อง Sitemap XML นะ เพียงในกรณีเหล่านี้:
- เว็บไซต์ Static (ไม่ใช่ WordPress) — เว็บที่เขียนเองจาก HTML หรือสร้างจาก Static Site Generator เมื่อไม่มี Plugin Auto-Generate Sitemap
- เว็บไซต์ที่ไม่มี Internal Link ชัดเจน — ถ้าบางหน้า Link ไม่ชัดเจนหรือ Crawl ยากจาก Navigation ให้ใช้ Sitemap ช่วย
- หน้าใหม่อัพเดทบ่อย — เมื่ออัพเดทบทความใหม่บ่อย ๆ Sitemap ช่วยให้ Google รู้เร็ว
- เว็บขนาดใหญ่ที่มีหน้านับพัน — ถ้ามี 1000+ หน้า Sitemap ก็ช่วยให้ Google Crawl ได้มีประสิทธิภาพ
หมายเหตุ: WordPress ส่วนใหญ่มี Plugin อย่าง Yoast SEO หรือ All in One SEO ที่สร้าง Sitemap XML โดยอัตโนมัติ ดังนั้นถ้าใช้ WordPress ปกติไม่ต้องสร้างเองแบบ Manual
โครงสร้าง Sitemap XML
Sitemap XML เป็นไฟล์ XML ที่มีรูปแบบสากล ตัวอย่างเบื้องต้น:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/</loc>
<lastmod>2026-07-10</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://yourdomain.com/about.html</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
อธิบายแต่ละส่วนของ Tag
- <?xml version="1.0" encoding="UTF-8"?> — บรรทัดแรก บอกให้รู้ว่านี่คือไฟล์ XML เวอร์ชัน 1.0 และใช้ UTF-8 Encoding (รองรับภาษาไทย)
- <urlset xmlns=...> — แท็กเปิดหลัก ที่ห่อหุ้มหน้าทั้งหมด ต้องมี xmlns attribute เสมอ
- <url></url> — แท็กสำหรับแต่ละหน้า เก็บข้อมูลหน้านั้นไว้
- <loc> — URL ของหน้า (ต้องเป็น Full URL เช่น https://yourdomain.com/about.html)
- <lastmod> — วันที่แก้ไขหน้าครั้งล่าสุด (รูปแบบ YYYY-MM-DD)
- <changefreq> — ความถี่ที่หน้าแก้ไข (always, hourly, daily, weekly, monthly, yearly, never)
- <priority> — ความสำคัญสัมพัทธ์ของหน้า (0.0 ถึง 1.0 ค่าสูงกว่า = สำคัญกว่า)
วิธีสร้าง Sitemap XML เอง
วิธีที่ 1: สร้างด้วย Text Editor (ง่ายที่สุด)
ถ้าเว็บไซต์มีหน้าไม่มากนัก สามารถเขียน XML ด้วยมือใน Text Editor ได้:
- เปิด Text Editor (เช่น Notepad, VS Code, Sublime Text)
- คัดลอก XML Template ข้างต้น
- แก้ไข yourdomain.com ให้เป็นโดเมนของคุณ
- เพิ่มหน้าอื่น ๆ โดยคัดลอก <url></url> Block และใส่ URL ของหน้านั้น
- บันทึกไฟล์ชื่อ sitemap.xml (ต้องเป็นนามสกุล .xml)
- อัพโหลดไฟล์ไปยัง public_html ใน Hosting ของคุณ
วิธีที่ 2: ใช้เครื่องมือ Online Sitemap Generator
มีเครื่องมือออนไลน์ฟรีมากมายที่ช่วยสร้าง Sitemap XML โดยอัตโนมัติ ตัวอย่าง:
- XML Sitemap Generator — https://www.xml-sitemaps.com/
- Small SEO Tools Sitemap Generator — https://smallseotools.com/sitemap-generator/
- Screaming Frog SEO Spider — https://www.screamingfrog.co.uk/ (ให้ download บนเครื่อง)
ขั้นตอน (สำหรับ XML Sitemap Generator):
- ไปที่เว็บไซต์ https://www.xml-sitemaps.com/
- ใส่โดเมนของคุณ (เช่น https://yourdomain.com)
- คลิก Start เครื่องมือจะทำการ Crawl เว็บไซต์และสร้าง Sitemap
- เมื่อเสร็จ ให้ Download ไฟล์ sitemap.xml
- อัพโหลดไปยัง public_html
วิธีที่ 3: ใช้ Static Site Generator
ถ้าใช้ Static Site Generator เช่น Hugo หรือ Jekyll หรือ Next.js พวกนี้สามารถสร้าง Sitemap XML โดยอัตโนมัติเมื่อ Build ตรวจสอบเอกสารของ SSG ว่า Enable Sitemap Generation ยังไง แล้ว Sitemap จะอยู่ในโฟลเดอร์ Build
การส่ง Sitemap ไปยัง Google Search Console
เมื่อสร้าง sitemap.xml และอัพโหลดเสร็จแล้ว ควรส่ง Sitemap ให้ Google รู้:
- ไปที่ https://search.google.com/search-console/
- เลือกโปรเจกต์ของคุณ (ถ้ายังไม่มี ต้องเพิ่มโดเมนก่อน)
- ไปที่เมนู Sitemaps
- คลิก Add a new sitemap
- ใส่ URL ของ Sitemap (เช่น https://yourdomain.com/sitemap.xml)
- คลิก Submit
Google จะทำการตรวจสอบและ Index หน้าต่าง ๆ ตามที่ระบุใน Sitemap นี่แล้ว
อัพเดท Sitemap เมื่อมีหน้าใหม่
เมื่อเพิ่มบทความหรือหน้าใหม่ ต้องอัพเดท Sitemap ด้วย:
- เพิ่ม <url> Block ใหม่สำหรับหน้าที่สร้าง
- บันทึก sitemap.xml ใหม่
- อัพโหลดไฟล์ sitemap.xml ที่อัพเดทแล้วไปยัง Hosting ทับไฟล์เก่า
- เข้าไป Google Search Console และ Submit Sitemap ใหม่ (หรือ Google จะตรวจพบเอง)
ตรวจสอบว่า Sitemap ทำงานถูกต้อง
หลังจากอัพโหลด sitemap.xml แล้ว ให้ตรวจสอบด้วยวิธีต่อไปนี้:
# 1. เปิดเบราว์เซอร์และเข้าไป Sitemap
https://yourdomain.com/sitemap.xml
# 2. ตรวจสอบว่าไฟล์มีอยู่ (ไม่ show 404)
# ภาพที่มาควรแสดง XML Code
# 3. ตรวจสอบใน Google Search Console
# เข้าไป Sitemaps เมนู ดูสถานะ (Status)
# ควรแสดง "Success" และบอกจำนวนหน้าที่ Index
# 4. ใช้ Google Structured Data Tester
# https://search.google.com/test/rich-results
# ใส่ URL ของ Sitemap จะตรวจสอบ XML Syntax
# 5. ดูหน้าที่อยู่ใน Coverage
# Google Search Console → Coverage tab
# จะแสดงหน้าทั้งหมดที่ Index
แก้ปัญหาที่พบบ่อย
Error: "404 Not Found" เมื่อเข้า sitemap.xml
แสดงว่าไฟล์ sitemap.xml ยังไม่ได้อัพโหลดไปยัง Hosting
- ตรวจสอบว่าไฟล์ sitemap.xml มีอยู่ในโลคัลของคุณหรือไม่
- อัพโหลดไฟล์ sitemap.xml ไปยัง public_html ด้วย FTP หรือ File Manager
- ลองรีฟรช (Ctrl+Shift+R บน Windows, Cmd+Shift+R บน Mac) แล้วเข้า https://yourdomain.com/sitemap.xml อีกครั้ง
Error: "XML Parsing Error" หรือ "Invalid XML"
ไฟล์ sitemap.xml มีปัญหา Syntax ไม่ถูกต้อง
- ตรวจสอบว่ามี <?xml...> และ <urlset...> บรรทัดแรก
- ตรวจสอบว่า Tag เปิด/ปิด ถูกต้อง (เช่น <url></url>)
- ตรวจสอบว่าใช้ UTF-8 Encoding และไม่มีอักขระพิเศษที่ XML ไม่รู้จัก
- ใช้ XML Validator Online เช่น https://www.w3schools.com/xml/xml_validator.asp เพื่อตรวจสอบ Syntax
Error: "URL ใน Sitemap หายจาก Index" หรือ Google ไม่ Index ตามตัวเลขใน Sitemap
Google ไม่ Index ทุกหน้าที่ระบุใน Sitemap เพราะหลาย ๆ เหตุผล:
- หน้า Noindex — หน้านั้นอาจมี Meta tag `<meta name="robots" content="noindex">` ซึ่งสั่งให้ Google ไม่ Index
- หน้า Duplicate — หน้านั้นอาจเป็น Duplicate ของหน้าอื่น ดังนั้น Google จึงเลือก Index หน้า Canonical เท่านั้น
- หน้ามีปัญหา — หน้านั้นอาจมี Error (500, 403) ดังนั้น Google จึงไม่ Index
- Canonical Tag ชี้อื่น — หน้านั้นอาจมี Canonical tag ที่ชี้ไปหน้าอื่น ให้ตรวจสอบ
Error: "Sitemap สำหรับแต่ละหน้า/ภาษา" ต้องทำยังไง?
ถ้าเว็บมี Multi-language (เช่น EN, TH) หรือหลายเวอร์ชัน อาจต้องสร้าง Sitemap ต่างกันหรือใช้ Sitemap ที่มี hreflang tag
วิธี: สร้าง Sitemap Index ที่ชี้ไปยัง Sitemap ต่างกันหลายตัว หรือใช้ hreflang tag ใน Sitemap เพื่อบอกให้ Google รู้ว่ามีเวอร์ชันอื่น ๆ
Error: "Sitemap ขนาดใหญ่เกิน 50MB"
Google มีข้อจำกัด: Sitemap ต้องไม่เกิน 50MB และมี URL ไม่เกิน 50,000 หน้า
วิธีแก้: สร้าง Sitemap Index ที่ชี้ไปยัง Sitemap ย่อยหลายตัว (เช่น sitemap1.xml, sitemap2.xml, ... เป็นต้น)
คำถามที่พบบ่อย
Q: ต้องอัพเดท Sitemap ทุกครั้งที่เพิ่มบทความใหม่หรือไม่?
A: ควร อัพเดท Sitemap ทุกครั้งที่เพิ่มหน้าหรือบทความใหม่ เพื่อให้ Google รู้เร็วและ Index ได้เร็ว โดยเฉพาะถ้าต้องการให้หน้าใหม่ปรากฏใน Search ได้รวดเร็ว สำหรับเว็บที่อัพเดทบ่อย ให้ใช้เครื่องมือที่สร้าง Sitemap โดยอัตโนมัติแทน
Q: Priority Tag สำคัญหรือไม่? ต้องตั้งทุกหน้าไหม?
A: Priority Tag ไม่มีผลต่อ Google Ranking เพียงแค่เป็นหัวใจสำหรับเซิร์ฟเวอร์ของคุณ (Crawl budget) แนะนำให้ใช้ Priority เมื่อต้องการ Crawl หน้าสำคัญก่อน เช่น หน้าแรก (Priority 1.0) และบทความเก่า (Priority 0.5) แต่ถ้าเซ็ต Priority เท่ากันทุกหน้า Google ก็ไม่ใช้มัน
Q: Sitemap อาจช่วยให้ SEO ดีขึ้นได้หรือไม่?
A: Sitemap ไม่ได้ช่วยให้ Ranking ดีขึ้น แต่ช่วยให้ Search Engine เข้าถึงและ Index หน้าได้เร็วและครบถ้วน ซึ่งช่วยให้เว็บไซต์ปรากฏใน Search ได้เร็ว โดยรวม Sitemap เป็นเครื่องมือสนับสนุน SEO ไม่ใช่ตัวกำหนด Ranking โดยตรง
ในที่สุด เมื่อจัดการโฟลเดอร์ Hosting หรือสร้าง Sitemap รอบใหม่ สำคัญที่สุดคือให้แน่ใจว่าโครงสร้าง URL ชัดเจน หน้าที่ต้องการให้ Search Engine Index นั้นสามารถเข้าถึงได้
ถ้าคุณกำลังมองหา Hosting ที่รองรับ DirectAdmin เต็มรูปแบบพร้อมเครื่องมือจัดการเว็บไซต์ครบครัน ลองดู Hosting จาก asiagb.com ที่มีทีมซัพพอร์ตดูแลตลอด 24 ชั่วโมง