วิธีการเขียน GOOXML Sitemap Generator แบบ Auto

GOOXML Sitemap Generator for Sanook.com v1.0

Pages crawled per day-gootum
Pages crawled per day – พุ่งปรี๊ด

วิธีการเขียน Sitemap การ Gen แบบ auto สามารถเอาไปใช้งานกับทุกโปรแกรมครับ ตัวนี้ตั้งชื่อขึ้นมาเอง GOOXML Sitemap Generator เอามาใช้งานกับเว็บ Sanook.com ซึ่งหลักการและวิธีการง่ายๆสามารถเอามาพัฒนาโปรแกรมนำไปใช้งานได้จริงและเอา มาประยุกต์ใช้กับระบบของ Sanook ได้ซึ่งทำออกมาแล้วได้ผลดีมาก ผมทำเป็นไฟล์ไว้เลยนำมาลงเขียนที่ Blog เผื่อมีคนสนใจเอาไปประยุกต์ใช้ครับ เริ่มกันเลย

Google sitemap คืออะไร
Google sitemap คือ “แผนที่เว็บไซต์” ลักษณะจะมีลิ้งค์เชื่อมโยงไปมาของเว็บนั้นๆซึ่งจะระบุจำนวนลิ้งค์และการ เชื่อมโยงลิ้งค์ของเว็บไซต์เราทั้งหมดที่มี เปรียบเสมือนการจัดโครงสร้างเอกสารภายในเว็บไซต์ ซึ่งจะเป็นป้ายบอกทางแก่ Robots นั่นเอง

Google sitemap จะแตกต่างกับ Sitemap (โครงสร้างหรือแผนผังของเว็บไซต์) ที่อยู่บนหน้าเว็บไซต์ Sitemap จะเป็นตัวกำหนดโครงสร้างภายในเว็บแบบคร่าวๆ ซึ่งจะไม่ระบุลิ้งค์ทั้งหมดที่มี จะบอกลักษณะของหมวดหมู่ และหัวข้อต่างๆ Google sitemap และ Sitemap จะคล้ายกัน แต่ที่แตกต่างกันก็คือ Sitemap จะช่วยเป็นป้ายบอกทางแก่ User ที่เข้ามาชมเว็บของเรา ส่วน Google sitemap นั้นจะเป็นป้ายบอกทางแก่ Robots

ตัวอย่าง
Google sitemap – http://forum.sanook.com/sitemap.xml.gz
http://blog.gootum.com/sitemap.xml
โครงสร้างแผนผังของเว็บไซต์ – http://www.sanook.com/sitemap/

ทำไมต้องมี Sitemap ?
1. เพื่อง่ายต่อการเข้ามา claw(เก็บข้อมูล) ของ Robots
2. ช่วยลดการทำงานของ Server ในการเข้ามาเก็บข้อมูลของ Robots แต่ล่ะครั้ง
3. Robots สามารถเก็บข้อมูลไปทำ Indexed ได้อย่างสมบรูณ์และครบถ้วน
4. Robots สามารถกำหนดได้ชัดเจนว่าเว็บไซต์นี้มีกี่เพจมีหมวดหมู่อะไรบ้าง เป็นต้น

*ดังนั้น Google sitemap คือคำตอบที่จำเป็นต้องทำเพื่อรองรับการทำ SEO ครับ*
โปรแกรม GOOXML Sitemap Generator จำเป็นต้องมีหัวข้อหลักๆดังนี้

1. Status
บอกสถานะการทำงานต่างของโปรแกรมว่ามีการ Gen Sitemap เป็นอย่างไรบ้างเช่น
* Error
* มีการ gen sitemap ล่าสุดวันไหน
* ขนาดไฟล์เท่าไหร่, มีจำนวนกี่ไฟล์
* ทำหน้า report ดูผ่านเว็บหรือ log เก็บไว้ดูในระบบ เป็นต้น

ตัวอย่าง
* Your sitemap was last built on August 19, 2009 12:49 am.
* Your sitemap (zipped) was last built on August 19, 2009 12:49 am.
* Google was successfully notified about changes.
* Bing was successfully notified about changes.
* Ask.com was successfully notified about changes.
* The building process took about 60.65 seconds to complete and used 12.5 MB of memory.

2. Option
2.1 Sitemap files – จะมีไฟล์อยู่ 2 ลักษณะ
ถ้าไฟล์มีขนาดเล็กให้สร้างเป็น XML file (sitemap.xml) ไม่จำเป็นต้อง gzip
ถ้าไฟล์มีขนาดใหญ่ให้สร้างไฟล์เป็นลักษณะ index และไฟล์ใน index ให้กำหนดเป็น gzip file (index-sitemap.xml) แต่ไฟล์ index-sitemap.xml (ไม่จำเป็นต้อง gzip เพราะไฟล์ข้างใน gzip เรียบร้อยแล้ว)

ตัวอย่าง

index-sitemap.xml
*      sitemap1.xml.gz
*      sitemap2.xml.gz
*      sitemap3.xml.gz

2.2 Gen Sitemap
ขั้นตอนการ Gen sitemap สามารถทำได้หลายวิธี
2.1 Gen sitemap ทุกครั้งที่มีการโพสบทความเสร็จหรือ Built เฉพาะบทความใหม่ๆที่มีการอัพเดด
2.2 ตั้งเวลาในการ Gen sitemap เลือกช่วงเวลาที่ User เข้าน้อยเพื่อลดโหลดของ Server ไม่ให้ทำงานหนัก
2.3 ทำลิ้งค์ Gen sitemap แบบ manual ( Gen ผ่านเว็บหรือ Server)

3. List pages
แสดงจำนวนเพจโครงสร้างทั้งหมดที่มีการ Gen sitemap ออกมาเพื่อง่ายแก่การตรวจสอบและ verify กับ google webmasters tools
3.1 ลิ้งค์ของแต่ล่ะโดเมน เช่น

Forum.sanook.com
http://forum.sanook.com/sitemap.xml.gz
http://forum.sanook.com/sitemap/item1.xml.gz
http://forum.sanook.com/sitemap/item2.xml.gz
http://forum.sanook.com/sitemap/category.xml.gz
Clasified.sanook.com
http://Clasified.sanook.com/sitemap.xml.gz
http://classified.sanook.com/sitemap/item1.xml.gz
http://classified.sanook.com/sitemap/category.xml.gz
http://classified.sanook.com/sitemap/itemArch1.xml.gz

3.2 วันเวลาที่อัพเดดลิ้งค์ของแต่ล่ะ channel

4. Sitemap contents
สามารถเลือกคลิ้ก Gen sitemap ตามหัวข้อต่อไปนี้ได้

*      homepage
*      posts
*      static pages
*      categories
*      archives
*      tag pages
*      author pages

5. Change Frequency
สามารถเลือกกำหนดได้ว่าจะให้มีการเข้ามาเก็บข้อมูลในเวลาไหนของแต่ล่ะหัวข้อจากข้อ 4.

Always
Hourly
Daily – Homepage
Weekly – Static pages, Categories , Tag pages , Author pages
Monthly – Posts
Yearly – Older archives (Changes only if you edit an old post)
Never

6. Priority
กำหนดความสำคัญของ page ที่เราเลือกจากข้อ 4-5 (ค่ามากจะสำคัญ)

0.0
0.1
0.2
0.3 – Categories , Archives, Tag pages , Author pages
0.4
0.5
0.6 – Posts, Static pages
0.7
0.8
0.9
1.0 – Homepage

7. ลักษณะโครงสร้างของไฟล์
ตัวอย่างจาก forum.sanook.com

http://forum.sanook.com/sitemap/item1.xml.gz
http://forum.sanook.com/sitemap/item2.xml.gz
http://forum.sanook.com/sitemap/category.xml.gz

8. เงื่อนไขของการสร้างไฟล์ Google sitemap
* ในไฟล์ลิ้งค์ต้องห้ามเกิน50,000 URLs. (ประมาณ 35000 URLs ก็พอแล้ว)
* ไฟล์ห้ามเกิน 10 เมกะไบต์ (จริงๆไม่ควรถึง 5M ด้วยซ้ำครับ)
* ไฟล์ต้องเป็น UTF-8 encoding
* อย่าใส่รหัสเซสชันใน URL
* อย่าใส่รูปภาพโดยตรง URL ใน Sitemaps

ข้อมูลเพิ่มเติม
http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators
http://blog.gootum.com/google-blog/sitemapxml-sitemap_indexxml

http://blog.gootum.com/google-blog/sitemapxml-sitemap_indexxml