ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

ทำ Sitemap Index สำหรับเว็บขนาดใหญ่
Home ทำ Sitemap Index สำหรับเว็บขนาดใหญ่

ทำ Sitemap Index สำหรับเว็บขนาดใหญ่

ไฟล์ Sitemap หนึ่งไฟล์มีขีดจำกัดที่ 50,000 URL และขนาดไม่เกิน 50 MB เมื่อยังไม่บีบอัด เว็บข่าว เว็บอีคอมเมิร์ซ และเว็บที่มีเนื้อหาจากผู้ใช้มักเกินขีดนี้

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

สิ่งที่ต้องเตรียม

  • สิทธิ์สร้างไฟล์บนเว็บเซิร์ฟเวอร์
  • Google Search Console
  • รายการ URL ทั้งหมดของเว็บ

ขั้นตอนที่ 1: ตรวจขนาดปัจจุบัน

curl -s https://example.com/sitemap.xml | grep -c '<loc>'
curl -sI https://example.com/sitemap.xml | grep -i content-length

หากเกิน 40,000 URL ควรเริ่มวางแผนแบ่ง อย่ารอจนถึงขีดจำกัดจริง

ขั้นตอนที่ 2: สร้างไฟล์ Sitemap Index

ไฟล์นี้ไม่มี URL ของหน้าเว็บ แต่ชี้ไปยัง Sitemap ย่อยแต่ละไฟล์

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-pages.xml</loc>
    <lastmod>2026-09-25T09:00:00+07:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-posts-1.xml</loc>
    <lastmod>2026-09-25T09:00:00+07:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-posts-2.xml</loc>
    <lastmod>2026-09-20T09:00:00+07:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-products.xml</loc>
    <lastmod>2026-09-25T09:00:00+07:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-categories.xml</loc>
    <lastmod>2026-09-18T09:00:00+07:00</lastmod>
  </sitemap>
</sitemapindex>

ข้อกำหนด Sitemap Index หนึ่งไฟล์ชี้ไปยัง Sitemap ย่อยได้ไม่เกิน 50,000 ไฟล์ และซ้อนได้ชั้นเดียว คือ Sitemap Index ชี้ไปยัง Index อีกทีไม่ได้

ขั้นตอนที่ 3: จัดกลุ่มให้มีประโยชน์ในการวิเคราะห์

อย่าแบ่งตามลำดับ URL เฉย ๆ ให้แบ่งตามสิ่งที่คุณต้องการวิเคราะห์

  • ตามชนิดเนื้อหา หน้าคงที่ บทความ สินค้า หมวดหมู่ ทำให้รู้ว่ากลุ่มไหนมีปัญหา
  • ตามช่วงเวลา บทความปีนี้ ปีที่แล้ว ทำให้รู้ว่าเนื้อหาเก่าถูกถอดดัชนีหรือไม่
  • ตามความสำคัญ หน้าที่สร้างรายได้แยกจากหน้าทั่วไป

เมื่อ Search Console รายงานว่า sitemap-products.xml มี 5,000 URL แต่เก็บดัชนีแค่ 1,200 คุณจะรู้ทันทีว่าต้องไปดูที่หน้าสินค้า

ขั้นตอนที่ 4: เขียน Sitemap ย่อย

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/blog/article-1/</loc>
    <lastmod>2026-09-24T14:30:00+07:00</lastmod>
  </url>
  <url>
    <loc>https://example.com/blog/article-2/</loc>
    <lastmod>2026-09-20T09:15:00+07:00</lastmod>
  </url>
</urlset>

เกี่ยวกับแท็กที่เคยใช้กัน

  • <lastmod> Google ใช้จริงและมีประโยชน์ แต่ต้องถูกต้อง หากตั้งเป็นวันนี้ทุกวันทั้งที่เนื้อหาไม่เปลี่ยน Google จะเลิกเชื่อและไม่สนใจค่านี้อีก
  • <changefreq> และ <priority> Google ประกาศแล้วว่าไม่ใช้ ไม่ต้องใส่

ขั้นตอนที่ 5: สร้างอัตโนมัติด้วยสคริปต์

#!/bin/bash
set -euo pipefail

SITE=https://example.com
OUT=/var/www/example.com
CHUNK=10000

# ดึงรายการ URL พร้อมวันที่แก้ไข จากฐานข้อมูล
mysql -N -e "
  SELECT CONCAT('$SITE/blog/', post_name, '/'), DATE_FORMAT(post_modified, '%Y-%m-%dT%H:%i:%s+07:00')
  FROM wp_posts
  WHERE post_status='publish' AND post_type='post'
  ORDER BY post_modified DESC;" wordpress > /tmp/urls.tsv

split -l "$CHUNK" -d /tmp/urls.tsv /tmp/chunk-

i=1
for f in /tmp/chunk-*; do
  {
    echo '<?xml version="1.0" encoding="UTF-8"?>'
    echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
    while IFS=

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security
\t' read -r url mod; do printf ' <url><loc>%s</loc><lastmod>%s</lastmod></url>\n' "$url" "$mod" done < "$f" echo '</urlset>' } > "$OUT/sitemap-posts-$i.xml" i=$((i+1)) done rm -f /tmp/chunk-* /tmp/urls.tsv echo "สร้าง sitemap เสร็จ $((i-1)) ไฟล์"

ตั้งให้รันทุกคืนด้วย systemd Timer

ขั้นตอนที่ 6: บีบอัดไฟล์

Sitemap ที่บีบอัดด้วย gzip ช่วยลดแบนด์วิดท์ได้มาก และ Google รองรับเต็มที่

gzip -k9 /var/www/example.com/sitemap-posts-1.xml
ls -lh /var/www/example.com/sitemap-posts-1.xml*

อ้างถึงไฟล์ที่บีบอัดใน Index ได้เลย

<loc>https://example.com/sitemap-posts-1.xml.gz</loc>

ตรวจว่าเซิร์ฟเวอร์ส่ง header ถูกต้อง

curl -sI https://example.com/sitemap-posts-1.xml.gz | grep -i 'content-type\|content-encoding'

ขั้นตอนที่ 7: ส่งให้ Google

ประกาศใน robots.txt ซึ่งทำให้เครื่องมือค้นหาทุกเจ้าพบเอง

Sitemap: https://example.com/sitemap.xml

และส่งใน Search Console ที่ Indexing แล้ว Sitemaps ส่งเฉพาะไฟล์ Index ไฟล์เดียวก็พอ Google จะไล่ตามไปเอง

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

ขั้นตอนที่ 8: ตรวจสอบและดูแลต่อเนื่อง

# ตรวจว่าทุกไฟล์เข้าถึงได้
for s in $(curl -s https://example.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+'); do
  code=$(curl -s -o /dev/null -w '%{http_code}' "$s")
  n=$(curl -s "$s" | grep -c '<loc>' || echo 0)
  printf '%s  %s URLs  %s\n' "$code" "$n" "$s"
done
# ตรวจว่า URL ใน sitemap ตอบ 200 จริง สุ่มตรวจ 30 รายการ
curl -s https://example.com/sitemap-posts-1.xml \
  | grep -oP '(?<=<loc>)[^<]+' | shuf -n 30 \
  | while read -r u; do
      c=$(curl -s -o /dev/null -w '%{http_code}' "$u")
      [ "$c" != "200" ] && echo "$c  $u"
    done

Sitemap ที่มี URL ที่ตอบ 404 หรือ redirect จำนวนมากทำให้ Google ลดความเชื่อถือในไฟล์นั้น ตรวจตามรอบและตัดออกให้ทัน

ปัญหาที่พบบ่อย

Search Console แจ้ง Couldn't fetch

ตรวจว่าไฟล์เข้าถึงได้จากภายนอกจริง ไม่ถูกบล็อกใน robots.txt และ Content-Type เป็น application/xml หรือ text/xml

จำนวน URL ที่ค้นพบน้อยกว่าที่มีในไฟล์

Google อาจยังประมวลผลไม่เสร็จ รอสองถึงสามวัน หากยังต่างมาก ตรวจว่าไฟล์เป็น XML ที่ถูกต้องด้วย xmllint --noout sitemap.xml

ส่ง Sitemap แล้วแต่หน้ายังไม่ถูกเก็บดัชนี

Sitemap ช่วยให้ Google พบ URL เร็วขึ้น แต่ไม่รับประกันการเก็บดัชนี ดูสาเหตุในรายงาน Page indexing ตามคู่มือเรื่องการแก้ปัญหาการเก็บดัชนี

ไฟล์ใหญ่เกิน 50 MB

แบ่งเป็นไฟล์ย่อยเพิ่ม และบีบอัดด้วย gzip ขีดจำกัดนับจากขนาดก่อนบีบอัด

ต้องการโฮสติ้งที่รองรับเว็บขนาดใหญ่พร้อมทีมดูแล SEO ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security