วิธีสร้าง sitemap.xml ด้วยโค้ดเอง (ไฟล์ดัชนี Sitemap)

การสร้างไฟล์ sitemap.xml ด้วยโค้ด Python ที่ล่ะขั้นตอน เพื่อช่วยให้ Search Engine รู้จักหน้าเว็บของเรา โดยมีตัวอย่างสำหรับเว็บไซต์ Static ที่ใช้ไฟล์ .html และ .php พร้อมวิธีใช้งานและส่งไปยัง Google & Bing ผ่าน Search Console หรือ ping URL.
สารบัญ แสดง

การสร้างไฟล์ sitemap.xml ด้วยโค้ด Python เพื่อช่วยให้ Search Engine รู้จักหน้าเว็บของเรา โดยมีตัวอย่างสำหรับเว็บไซต์ Static ที่ใช้ไฟล์ .html และ .php พร้อมวิธีใช้งานและส่งไปยัง Google & Bing ผ่าน Search Console หรือ ping URL.

แผนผังเว็บไซต์คือไฟล์ที่รวบรวม URL ของหน้าสำคัญในเว็บไซต์ ช่วยให้เครื่องมือค้นหาเข้าใจและเข้าถึงหน้าเว็บได้ง่ายขึ้น ซึ่งส่งผลดีต่อ SEO และการเพิ่มปริมาณการเข้าชม โดยมีวิธีสร้างและส่งแผนผังไปยัง Google เพื่อประสิทธิภาพสูงสุด

  • Sitemap: เป็นไฟล์ XML ที่บอกให้ Search Engine เช่น Google รู้ว่ามีหน้าเว็บไหนบ้างบนเว็บไซต์ของเรา
  • Sitemap Index: เป็นไฟล์ XML ที่รวมหลาย ๆ Sitemap ย่อย ทำให้เว็บไซต์ขนาดใหญ่จัดการง่ายขึ้น
  • <loc> = URL ของหน้าเว็บ
  • <lastmod> = วันที่อัปเดตล่าสุด (รูปแบบ YYYY-MM-DD)
  • <changefreq> = ความถี่ที่คาดว่าจะอัปเดต (always, hourly, daily, weekly, monthly, yearly, never)
  • <priority> = ค่าความสำคัญ (0.0 – 1.0)

โค้ดนี้จะอ่าน list ของ URL แล้วเขียนไฟล์ sitemap.xml ให้เลย

ถ้าเว็บของคุณเป็น เว็บแบบ Static (HTML ธรรมดา) และมีหลายหน้า เช่น

/index.html  
/about.html  
/contact.html  
/blog.html  
/products/product1.html  
/products/product2.html
ตัวอย่างโค้ด Python สร้าง Sitemap สำหรับเว็บ Static

โค้ดนี้จะสแกนไฟล์ .html ทั้งหมดในโฟลเดอร์เว็บ แล้วเขียน sitemap.xml อัตโนมัติ

🔹 การใช้งาน

  1. วางโค้ดนี้ไว้ในโฟลเดอร์โปรเจกต์ (เช่น generate_sitemap.py)
  2. รันด้วย python generate_sitemap.py
  3. จะได้ไฟล์ sitemap.xml อยู่ที่ root (public_html/sitemap.xml)
  4. เปิดใน browser → https://yourdomain.com/sitemap.xml
  5. ส่งไปยัง Google & Bing (ใช้ Search Console หรือ ping URL)

ถ้าเว็บของคุณเป็น เว็บ Static ที่ใช้ไฟล์ .php (เช่น index.php, about.php, contact.php) วิธีสร้าง sitemap.xml ก็จะคล้ายกับกรณี .html เลย เพียงแต่เราต้องดึงไฟล์ .php แทน

/index.php
/about.php
/contact.php
/blog.php
/products/product1.php
/products/product2.php
โค้ด Python สำหรับสร้าง sitemap.xml จากไฟล์ .php

🔹 การใช้งาน

  1. วางไฟล์สคริปต์นี้ไว้ในโฟลเดอร์โปรเจกต์ (เช่น generate_sitemap.py)
  2. รันด้วย python generate_sitemap.py
  3. จะได้ไฟล์ sitemap.xml อยู่ที่ root (public_html/sitemap.xml)
  4. ลองเปิดใน browser → https://yourdomain.com/sitemap.xml
  5. นำไป submit ที่ Google Search Console / Bing Webmaster

ถ้าคุณใช้ Shared Hosting อยู่ ซึ่งข้อจำกัดคือไม่อนุญาตให้รันไฟล์ Python โดยตรงบน shared hosting

ติดตั้ง Python บนเครื่องคุณ (Windows/Mac)

รันสคริปต์ Python → จะได้ไฟล์ sitemap.xml

เปิด Command Prompt (Windows) หรือ Terminal (Mac/Linux) แล้วพิมพ์:

อัปโหลดไฟล์ sitemap.xml ไปที่ public_html/ ของ hosting ผ่าน File Manager / FTP

เข้าเบราว์เซอร์เช็ก →

ถ้าคุณไม่อยากรัน Python ในเครื่อง สามารถเขียนโค้ด PHP สร้าง sitemap.xml อัตโนมัติ ได้เลย

🔹 การใช้งาน
  • บันทึกเป็นไฟล์ generate_sitemap.php
  • อัปโหลดไปที่ public_html/
  • เรียกไฟล์ผ่านเว็บ เช่น
https://yourdomain.com/generate_sitemap.php
  • จะได้ไฟล์ sitemap.xml อยู่ที่ root ทันที

คุณอยากให้ เมื่อมีหน้าใหม่เพิ่มเข้ามา (.php)sitemap.xml ถูกอัปเดตอัตโนมัติ เนื่องจากไม่สามารถรัน Python ได้ตรง ๆ เราจะใช้ PHP script ให้มันเช็กไฟล์ .php ที่อยู่ใน public_html ทุกครั้งแล้วเขียน sitemap.xml ใหม่

🔹 วิธีใช้งาน

  • อัปโหลดไฟล์ generate_sitemap.php ไปที่ public_html
  • เรียกไฟล์ใน browser:
  • → มันจะสร้าง (หรืออัปเดต) sitemap.xml ให้ใหม่ทุกครั้ง
  • เวลาเพิ่มไฟล์ .php หน้าใหม่ → แค่รันไฟล์นี้อีกครั้งก็จะอัปเดต sitemap ให้เอง

🔹ทำให้ Auto จริง ๆ (ตั้ง Cron Job ไม่ต้องมากดเอง)

คุณสามารถใช้ Cron Job ของ Hosting ได้ เช่น ตั้งให้รัน generate_sitemap.php ทุกวัน/ทุกสัปดาห์

ใน Hosting hPanel:

  • ไปที่ Advanced → Cron Jobs
  • เพิ่ม Cron Job เช่น: php /home/username/public_html/generate_sitemap.php
  • แล้วตั้งเวลาเป็น วันละครั้ง

แนะนำการจัดการ Sitemap ด้วยไฟล์ดัชนี Sitemap โดยเมื่อ Sitemap มีขนาดเกินกำหนด ควรแยกเป็นหลายไฟล์และใช้ไฟล์ดัชนีเพื่อส่งพร้อมกันได้สูงสุด 500 ไฟล์ต่อเว็บไซต์ใน Search Console รูปแบบ XML ของไฟล์ดัชนีคล้ายกับ Sitemap ปกติ และต้องอยู่ในไดเรกทอรีเดียวกันหรือลึกกว่าเท่านั้น

ข้อมูลเพิ่มเติม https://developers.google.com

Sitemap.xml คืออะไร?

ไฟล์ XML ที่บอก Google และ search engine ว่ามีหน้าเว็บอะไรบ้าง พร้อมข้อมูลช่วยจัดลำดับ เช่น วันที่แก้ไขล่าสุด (lastmod), ความถี่การเปลี่ยนแปลง (changefreq), และความสำคัญ (priority)

จำเป็นต้องมี sitemap.xml ไหม?

ไม่บังคับ แต่ช่วยให้ search engine index หน้าเว็บของคุณเร็วขึ้น โดยเฉพาะเว็บใหญ่หรือเว็บที่มีหน้าใหม่เพิ่มบ่อย

Sitemap.xml แตกต่างจาก robots.txt อย่างไร?

robots.txt → บอก search engine หน้าไหนห้ามเข้าถึง sitemap.xml → บอก search engine หน้าไหนมีอยู่และควร index

เว็บแบบ PHP / HTML สามารถใช้ sitemap.xml ได้ไหม?

ได้เลย! Sitemap.xml ไม่สนใจว่าไฟล์เป็น PHP, HTML หรือ URL แบบ dynamic แค่บอก URL ของหน้าเว็บ

ต้องอัปเดต sitemap.xml บ่อยแค่ไหน?

ถ้ามีหน้าใหม่เพิ่มบ่อย → ควรอัปเดตทันที * ถ้าเว็บนิ่ง → อัปเดตเมื่อมีการเปลี่ยนแปลง

sitemap.xml ใหญ่เกินไปได้ไหม?

ขนาดสูงสุดของไฟล์ XML = 50MB สูงสุด 50,000 URLs ต่อไฟล์ ถ้าเยอะกว่านี้ → แบ่งเป็นหลายไฟล์แล้วสร้าง sitemap index

Dynamic URL (เช่น query string) ใส่ใน sitemap ได้ไหม?

ได้ แต่ควรใช้ URL ที่ Google index ได้จริง และหลีกเลี่ยง URL ที่ทำให้เกิด duplicate content

จะสร้าง sitemap.xml อัตโนมัติได้อย่างไร?

ใช้ สคริปต์ PHP (เหมาะสำหรับ Shared Hosting) ใช้ Python / Script ภายนอก แล้วอัปโหลด ใช้ Plugin / CMS เช่น WordPress มี generator ให้
Facebook Comments Box
บทความก่อนหน้านี้

IUX รีวิว ข้อมูล : Forex เริ่มต้น 10$ ถอน 5$ และคู่มือสำหรับผู้เริ่มต้น