พบ crawl errors กว่า 500 ที่เป็น unreachable จึงต้องแก้ไข

แก้ปัญหา url ภาษาไทยกับ tag ของ wordpress

16 มี.ค.53 มีโอกาสเข้าไปตรวจ account ของ webmaster tools ที่สมัครไว้หลายปีก่อน เนื่องจากมีปัญหาในเว็บไซต์ wordpress ขององค์กรที่ติด bad ware เมื่อเข้าไปดูสถิติเกี่ยวกับ crawl errors ก็ต้องตกใจ เพราะ url แบบ permalink ที่ใช้ใน wordpress 2.9.2 นั้น ใช้งานไม่ได้ในส่วนของ tag กว่า 500 เว็บเพจใน thaiall.com/blog จึงหาวิธีแก้ไขเรื่อง url ที่ใช้ภาษาไทยไม่ได้ ถ้าใช้ slug tag เป็นภาษาอังกฤษหรือตัวเลขอย่างที่ใช้ใน category หรือ username หรือ postid ก็จะไม่พบปัญหา ที่เป็นปัญหาคือใช้ tag ที่แปลงภาษาไทยด้วย url encode แล้ว เมื่อข้อความไปผ่าน mod_rewrite ของ apache ในเครื่องของ hypermart.net จะพบ Internal Server Error .. สังเกตุว่าเกิด redirect 2 รอบเมื่อกดปุ่ม enter .. ต้องแก้ปัญหามิเช่นนั้นจะไม่เป็นไปตาม seo ครับ
     พยายามแก้ไขจนไปพบทางออกในวิธีที่สาม คือ 1) ติดตั้ง simple tag plugin แต่ไม่ช่วยแก้ปัญหากรณีนี้ เพราะไม่มีตัวเลือก tag id และถ้ามีก็คงไม่ work ตามกฎของ seo 2) จะแก้ .htaccess แต่ก็สงสัยว่าแก้ไปก็คงไม่ช่วย เพราะปัญหานี้เกิดเฉพาะกับ hypermart.net ทดสอบในเครื่องที่บ้านที่ใช้ apache ก็ไม่พบปัญหานี้ และเคยพบปัญหาภาษาไทยกับ url จนต้องใช้ url_encode ใน php มาแล้ว แต่ครั้งนี้มีการ redirect 2 รอบ จึงคาดว่าไม่ผ่านในรอบสองนั่นเอง 3) ทดสอบใช้ default ของ permalink แล้วพบว่ามี ?tag= ให้ใช้บริการ เมื่อเปลี่ยนไปใช้ /%author%/%post_id%/ ก็พบว่ายังใช้ ?tag= ได้ จึงทดสอบเติมเข้าไปใน tag base ก็ยังใช้งานได้ทั้งแบบผ่าน get และผ่าน mod_rewrite สรุปว่าเป็นงานเล็กที่ใช้เวลานานมากอีกงานหนึ่ง ค้นและทดสอบไปกว่า 6 ชั่วโมง .. ดีนะครับที่อยู่บ้าน เพราะไม่มีใครดึงความสนใจ ถ้าอยู่ที่ทำงานคงไปไม่ถึงไหน .. เท่านี้ก็เป็นไปตามแนวของ seo
+ http://www.thaiall.com/seo

แปลงเลขอารบิกเป็นเลขไทย

การแปลงเลขอารบิกเป็นเลขไทยด้วย macro

10 ก.พ.53 เรื่องนี้ควรเขียนเมื่อหลายเดือนก่อนหน้านี้ เพราะ ผศ.ดร.จินดา งามสุทธิ ท่านอธิการบดี รณรงค์ให้ใช้เลขไทยในบันทึกข้อความ แต่ความไม่ชินและความมักง่าย ทำให้ผมเลือกใช้วิธีแปลงเลขอารบิกด้วยการ replace ถึง 10 ครั้ง เพื่อเปลี่ยนตัวเลขทีละตัว แต่ถ้าให้อัตโนมัติก็จะเข้าไปกำหนดใน autocorrect สำหรับแต่ละตัวเลข แต่ใช้ได้กับเลขหลักเดียว ก็ช่วยได้เพียงระดับหนึ่ง (วันนี้ผมเคลียร์งานเขียนแผน km ของมหาวิทยาลัยล้อกับโครงการอบรมประกันฯของ อ.ศศิวิมล แรงสิงห์ เสร็จเร็วกว่าที่คาด) จึงคิดว่าถึงเวลาที่ไม่ควรผลัดวันประกันพรุ่งอีกต่อไป เมื่อศึกษาวิธีการแทนที่ตัวเลขด้วย macro ที่เขียนแบบใช้ใน word กับ excel เผยแพร่ใน thaiall.com/vb เพราะ macro ใช้ visual basic script ใน module สำหรับการประมวลผล
แหล่งเก็บ macro มี 2 แบบคือ ใน normal หรือ ใน document ถ้าเป็นแบบใน document เมื่อสร้างเอกสารก็จะติดเอกสารไป เปิดเอกสารใหม่จะไม่พบ macro เดิม แต่ถ้าเป็นแบบใน normal จะมี macro ติดอยู่ใน template ของ word ทำให้เปิด word แล้วเรียกใช้ macro ได้ทุกครั้ง สำหรับวิธีสร้างและใช้ macro นั้นเริ่มต้นด้วยการคัดลอกโค้ดไปใส่ใน module ของ macro แล้วสั่ง run ใน macro เมื่อต้องการเปลี่ยนตัวเลขทั้งหมดเป็นเลขไทย ซึ่งโค้ดได้สั่งแทนที่ทั้ง 10 ตัวอักษรเป็นเลขไทยอัตโนมัติ การนำไปใช้สำหรับ word กับ excel ต่างกันเล็กน้อย ถ้านำไปใส่ไม่ได้ โปรดติดต่อช่างเทคนิคใกล้บ้าน เพราะส่งเข้า word ครั้งเดียว แต่ใช้งานได้ตลอดไป .. ต่อไปผมก็จะเริ่มใช้แล้ว เพราะ replace 10 ครั้ง ไม่ดีแน่

source code : macro of word

Sub arabictothai()
For i = 0 To 9
With Selection.Find
.Text = Chr(48 + i)
.Replacement.Text = Chr(240 + i)
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub

source code : macro of excel

Sub arabictothai()
For i = 0 To 9
Cells.Replace What:=Chr(48 + i), Replacement:=Chr(240 + i)
Next
End Sub

การแปลงเลขใน excel

1. ถ้าเป็น excel ไม่ต้องใช้ function ให้กด Ctrl-A แล้วกำหนด format ของ cell ใน Number,  Custom เป็น [$-D07041E]0 ก็จะทำให้ข้อมูลที่เป็นตัวเลขทั้งหมดเป็นเลขไทย
2. ถ้าต้องการมี , กั้นหลักพันก็ใช้ [$-D07041E]#,###,##0 อะไรทำนองนี้ ok ไหมครับ

สาธิต : http://www.youtube.com/watch?v=JNy15bLnt9k
ข้อมูลเพิ่มเติม : http://www.thaiall.com/blog/burin/1496/