China, Taiwan, Hong Kong seo

การทำ SEO สำหรับประเทศที่ไม่ได้ใช้ภาษาอังกฤษหรือภาษาไทยเป็นหลักนั้น จะมีวิธีการเรียก Traffic จากประเทศเหล่านั้นมาได้อย่างไร? สมมุติว่าเวปของเราเป็นเวปที่เกี่ยวกับบริการ เช่น โรงแรม ที่พัก หรือ ร้านอาหาร และคงจะเป็นการดีไม่น้อยเพาะกลุ่มลูกค้าเหล่านี้ค่อยข้างจะมีกำลังจ่ายที่สุงอยู่ทีเดียว

คำตอบของเราอาจจะไม่ได้อยู่ที่ google เสมอไป เพราะประเทศเหล่านี้ google ไม่ได้เป็น search engine อันดับหนึ่งแบบแทบครองตลาดอย่างในประเทศที่ใช้ภาษาอังกฤษหรือแม้แต่ภาษาไทยก็ตาม

Screen Shot 2012-12-12 at 12.04.54 PM

จากรูปจะเห็นว่าในประเทศกลุ่มเอเชียตะวันออกไม่มีประเทศใหนเลยที่อันดับหนึ่งเป็น google เพราะฉนั้นสิ่งที่เวปเป้าหมายต้องการคือการนำตัวเองเข้าไปอยู่ใน ranking ของ search engine เหล่านั้น

อย่างเช่นถ้าเราต้องการเน้นลูกค้ากลุ่มคนจีน(ฮ่องกง) (กลุ่มคนจีนที่รู้ภาษาอังกฤษและค่อยข้างมีรสนิยมดีและมีกำลังซื้อสูง) ซึ่งจะใช้ yahoo เป็นส่วนมากใจการค้นหา ซึ่งนะปัจจุบัน yahoo ได้รวมตัวกับ bing เรียบร้อยแล้ว (กลายเป็น 28% ของ search engine market share ทั้งหมด) เพราะฉะนั้นสิ่งแรกที่ต้องทำคือ submit url เวปของเราเข้าไปที่ bing เป็นอันดับแรก, http://www.bing.com/toolbox/submit-site-url สำหรับการทำ SEO ในส่วนอื่นๆไม่ว่าจะ on-page หรือ off-page ก็ค่อนข้างจะคล้ายๆกับการทำ SEO สำหรับ google เลยที่เดียว แต่สิ่งที่ yahoo และ bing ให้ความสำคัญมากเพิ่มขึ้นมาอีกอย่างก็คือ social network ต่างๆ เช่น facebook หรือ twitter เช่นมีการ shared like หรือ twit เกี่ยวกับเวปนั้นๆออกมา

เราอาจจะมีการสร้าง fanpage สำหรับเวปหรือเนื้อหานั้นๆขึ้นมา และ/หรือ สร้าง account twitter สำหรับเวปเหล่านั้นขึ้นมา และนำ content ของเวป social เหล่านั้น build เข้าไปในตัวเวปด้วย

อีกอย่างหนึ่งที่สำคับคือตอนนี้ bing มี webmaster tools เป็นของตัวเองแล้ว www.bing.com/toolbox/webmaster เท่าที่เข้าไปลองใช้และสัมผัสมาคิดว่าค่อยข้างยุ่งยากและใช้งานได้ไม่ค่อยสะดวกและคุ้นเคย อาจเนื่องมาจากใช้งาน webmaster tools ของ google มาจนเคยชิน

สิ่งที่ได้เขียนมานี้แค่อยากจะสรุปว่าสำหรับบางประเทศนั้น (ประเทศใหญ่ด้วย) google ไม่ได้เป็นที่หนึ่งเสมอไปครับ

Links Links Links and Links

วันนี้อยากจะเขียนเรื่องเกี่ยวกับลิงค์สักหน่อยเพราะช่วงนี้ผมต้องทำงานเกี่ยวกับลิงค์เยอะมาก จริงๆทำงานที่เกี่ยวกับลิงค์มาตั้งแต่เริ่มทำ SEO แล้ว ซึ่งในช่วงเริ่มแรกที่ทำผมก็ตะบี้ตะบัดสร้างลิงค์อย่างเดียวเรียกว่าทำลิงค์กันแบบไม่ลิมหูลืมตากันเลยทีเดียว ไอ้พวกลิงค์ประเภท 1 click get 10,000 links อะไรเทือกนั้นยิ่งชอบเพราะคิดว่าได้ลิงค์มาโดยง่ายและไม่ต้องเสียเวลามาก แต่ก็เหมือนที่รู้กันในปัจจุบันแล้วว่าไอ้ที่ทำมาข้างต้นนั้น ป่าวประโยชน์! ผิดถนัด! เสียเวลา! คือเรียกได้ว่าไอ้ที่ถึกทำไปนั้นไม่ได้อะไรกลับมาเลย

แล้วสรุปว่าลิงค์ที่ดีคืออะไร ลิงค์จากเวปที่ PR สูง? ลิงค์จากหน้าเพจที่มีบทความเกี่ยวข้อง? ลิงค์จากเวปที่ bot ชุกซุม? ทั้งสามอย่างข้างต้นนั้นก็(คง)จะถูกอยู่แล้ว แต่จากที่ผมสรุปเอาด้วยตัวเอง ลิงค์ที่มีคุณภาพนั้น(น่าจะ)ต้อง

1. หน้าเพจที่มีลิงค์นั้นติดอยู่ต้อง indexed แน่นอนถ้าหน้าเพจนั้นๆไม่ indexed ก็คือหน้าเพจนั้นไม่ถูก google นับ หรือไ่ม่ได้สนใจ ไม่ได้อยู่ในสารบบของ google พูดง่ายๆคือหน้าเพจนั้นไม่ได้มีอยู่ในโลกของ google

2. นอกจากเวปเพจนั้นจะต้อง indexed แล้วเท่านั้นยังไม่พอ (สำหรับผม) (ซึ่งเป็นเจ้าของ networks เหล่านั้น), ซึ่งบางคนอาจจะพอใจแค่นี้. พอใจแค่ได้ลิงค์จากหน้าที่มี indexed ซึ่งสำหรับผมคิดว่าเท่านั้นยังไม่พอ ลิงค์ในหน้านั้นต้องถูกนับเข้าไปยัง google webmaster tool ด้วยในส่วนของ Link to Your Site นั้นถึงจะนับได้ว่าลิงค์นั้นเป็นลิงค์ที่สมบูรณ์ถูกนับและให้คะแนนโดย google

3. หน้าเพจหลายๆหน้าที่ indexed กับ google แล้วยังไม่ได้การันตีว่าลิงค์ในหน้านั้นจะถูกนับเข้าไปยัง google webmaster tool ซึ่งในเรื่องนี้ผมมีประสบการณ์โดยตรงที่สามารถยืนยันได้ว่าหน้าที่ indexed แล้วแต่ลิงค์ในหน้านั้นไม่ได้ถูกนับเข้าไปยัง google webmaster tool ซึ่งในกรณีเกิดกับพวกเวปที่ปั่นขึ้นมาหรือใช้ tool ในการสร้าง content ขึ้นมาโดยอัตโนมัติ, เวปปั่น เวป spam มี index ผมยังไม่เคยทำเวปเหล่านี้แล้วไม่ indexed  เหมือนกับคนอื่นเขาสักที

ในปัจจุบัน google มี  algorithm ที่สร้างมาเพื่อป้องกัน spammers ทั้งหลาย ซึ่ง spammers เหล่านั้นก็งัดกลยุทธ์ต่างๆออกมาสู้ได้อย่างดุเดือด ถ้าพูดในภาษาฟุตบอล ผมให้ google เป็นต่อ 2 ลูกครึ่ง ไม่ควบ

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

โลกหมุนไปทุกอย่างเปลี่ยนไป เราเองก็ต้องปรับตัว เรียนรู้ ทำความเข้าใจ หรือแม้กระทั่งการปล่อยวาง เพื่อที่จะอยู่รอด ซึ่งก็มีคำถามตามมาว่าอยู่รอดแบบใหน แบบสบายๆ แบบปากกัดตีนถีบ dog eat dog แบบฉิวเฉียด หรือจะแบบใหนก็ตามที แต่สุดท้ายผมอยากให้ทุกคนอยู่รอดกันทั่วหน้า บนโลก cyber และโลกมนุษย์กลมๆเพี้ยนๆนี้ อย่างถ้วนหน้าและทั้วถึงกันทุกคนครับ

How to change your website’s host/domain without affecting your Rankings?

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

How to change your website’s host/domain without affecting your Rankings?
วิธีการที่จะเปลี่ยนชื่อโดเมนหรือย้ายโฮส โดยที่ไม่กระทบกับการ SEO?

ในกรณีที่คุณย้ายจากเวปหนึ่งไปยังอีกเวปหนึ่ง โดยการเปลี่ยนชื่อโดเมนและย้ายโฮสที่อยู่ (ไม่มีการ re-design) สิ่งที่จะต้องทำก็คือ

1. 301 redirect
จัดการทำ redirect แบบ 301, permanent redirect แบบ page-to-page คือทำทุกๆเพจไปยังโดเมนใหม่ เช่น ย้ายจาก www.aaa.com ไป www.bbb.com สิ่งที่คุณต้องทำคือจัดการทำ 301 redirect ในทุกเพจ ยกตัวอย่าง

www.aaa.com/index.html -> www.bbb.com/index.html
www.aaa.com/contact.html -> www.bbb.com/contact.html
www.aaa.com/about.html -> www.bbb.com/about.html
..
..
www.aaa.com/whatever.html -> www.bbb.com/whatever.html

ส่วนวิธีการทำ 301 redirect ก็มีหลายวิธี แต่ที่ผมใช้เป็นแบบ php ซึ่งถ้าโอสของคุณ enable php ไว้ก็สามารถทำได้เลย

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.new-domain.com");
exit();

ทำไมต้อง 301 redirect?
เพราะว่าเป็นสิ่งเดียวที่จะบอก googlebot ได้ว่าเวปไซต์นี้ได้ทำการย้ายที่อยู่ไปเรียบร้อยแล้ว และถ้าในมุมมองของผู้ใช้งานผ่าน search engine ต่างๆ landing page ทั้งหลายเหล่านั้นก็จะถูกย้าย traffic มายังโดเมนใหม่ทันที

2. Google webmaster tool / Change of Address
ลำดับต่อมาก็คือการเข้าไปยัง Google webmaster tool ในส่วนของ change of address เพื่อที่จะบอก google ว่าเวปไซต์ www.aaa.com ได้เปลี่ยนชื่อเป็น www.bbb.com เรียบร้อยแล้ว นั้นหมายความว่า google เองได้ยอมรับการเกิดปัญหาในกรณี ย้ายโฮสและเปลี่ยนชื่อโดเมน จึงได้ทำระบบในส่วนนี้ขึ้นมารองรับ ซึ่งคำแนะนำโดยตรงจากตัว google เองในกรณีนี้ก็คือการทำ 301 redirect ซึ่งคุณก็ต้องทำตามขั้นตอนที่กำหนดไว้ในส่วนของ change of address ซึ่งก็จะมีการให้อัพเดต sitemap.xml ใหม่สำหรับเวปไซต์ใหม่ด้วย

3. external/internal links
ลำดับต่อมาก็สิ่งที่ยุ่งยากที่สุด คือ การจัดการ external links/internal links
- internal links ถ้าในการออกแบบเวปไซต์ในตอนตั้งต้นมีกาารออกแบบไว้ดีคือมีการใช้ relative URIs ส่วนนี้คุณจะไม่ต้องทำอะไรเลยแต่ถ้าเป็นแบบ permanent คุณก็ต้องจัดการแก้ไขใหม่ทั้งหมด
- external links คือการจัดการ external links ที่มีทั้งหมดหรือเท่าที่ทำได้ให้ชี้มาที่โดเมนใหม่

และทั้งหมดที่คือขั้นตอนคร่าวๆของการย้ายเวปไซต์ที่มีการทำ SEO ไว้ ซึ่งค่อนข้างจะยุ่งยากพอสมควรครับ

duplicate content

วันนี้ผมได้ตรวจสอบเวปไซต์ที่ผมดูแลเรื่อง SEO อยู่เวปหนึ่ง ซึ่งเป็นหนึ่งในสี่อันดับแรกของเวปไซต์ข้างบน ซึ่งเวปไซต์นี้ผมไม่ได้เป็นคนดำเนินการหรือเป็นคนทำเวปไซต์ขึ้นมา ผมได้เข้ามาัรับผิดชอบในส่วนของ SEO หลังจากที่เวปไซต์ได้สร้างเสร็จเรียบร้อยแล้ว ซึ่งผมก็ไม่มีสิทธิ์หรือไม่รู้ว่าเนื้อหาในเวปไซต์นั้นมาจากใหน ซึ่งจากรูปข้างบนก็จะเห็นว่าต้องมีเวปไซต์อย่างน้อยหนึ่งหรืออย่างมากสามเวปไซต์ที่ได้ก๊อปปี้หรือคัดลอกบนความจากเวปไซต์ใดเวปไซต์หนึ่งมาอย่างแน่นอน (งง?) แต่นั้นไม่ใช่ประเด็น

ประเด็นคือ ทำไมเวปไซต์ที่มีการคัดลอกบนความจากเวปไซต์อื่นมา โดยที่ไม่มีแม้แต่การ rewrite เลยด้วยซ้ำถึงมีอินเด็ตอยู่ในฐานข้อมูลของกูลเกิ้ลได้ ซึ่งขัดแย้งกับสิ่งที่ google กำลังทำ นั้นก็คือโยงไปถึงเรื่องของ PANDA ซึ่งก็ผมก็ไม่รู้เหมือนกันว่าเหตุการณ์นี้เกิดขึ้นได้อย่างไร อาจจะเป็นเพราะเพจเหล่านี้เกิดมาก่อน PANDA ซึ่งนั้นทำให้มันไม่รู้เหมือนกันว่าบทความอันใหนเป็นตัวต้นฉบับจริงๆ หรือ PANDA ยังทำงานได้ไม่สมบูรณ์กับภาษาไทยหรือภาษาที่ไม่ใช่ภาษาอังกฤษ

แค่เจออะไรแปลกๆก็เลยเอามาแชร์กันครับ เริ่มทำ SEO มาได้สักพัก ก็ยังงงๆกับหลายๆอย่าง บางอย่างก็ยังไม่เข้าใจ สรุปว่าเวลาที่ผ่านมาผมก็ยังไม่เข้าใจอะไรเลยอยู่ดี

Blog Posting with XML-RPC

สำหรับคนที่ทำ SEO หลายคนคงเคยทำ network ส่วนตัวกันมาบ้างพอสมควร ไม่ว่าจะใช้ networks เหล่านั้นเป็นสะเหมือน web farm ที่จะสร้างลิงค์มายังเวปเป้าหมายหรือแม้กระทั่งจัดการเวปเป้าหมายโดยตรง แต่การจัดการ network/blogs เหล่านั้นมีความยุ่งยากและใช้เวลามากพอสมควร หลายคนจึงเลือกที่จะเสียเงินซื้อ tools ต่างๆมาใช้ เช่นพวก BMG, scrapbox ต่างๆ ซึ่งผมก็ไม่รู้ว่ามันมีข้อดีข้อเสียอย่างไรเพราะไม่เคยใช้ tool ที่ผมใช้ในการจัดการ network/blogs เหล่านั้น เขียนขึ้นมาเอง โดยเป็นการทำงานผ่าน protocol XML-RPC ซึ่งถ้า blogs เหล่านั้น enable XML-RPC ก็จะสามารถจัดการ blogs ได้ผ่าน protocol XML-RPC

วันนี้ผมเลยอยากเอาโค้ดมาแปะไว้กันลืมและเผื่อผู้ที่สนใจบ้างสักหน่อย การทำงานของโค้ดก็ตรงไปตรงมา ผมจะไม่ขออธิบายอะไรมากนัก ก่อนอื่นต้องโหลด include file ตัวนี้ก่อนโค้ดถึงจะทำงานได้นะครับ IXR_Library.inc

require_once("IXR_Library.inc");

$id = $_POST["id"];
$title = $_POST["title"];
$body = $_POST["body"];
$category = $_POST["$category"];
$tags = $_POST["tags"];
$blogURL = $_POST['BlogURL'];

// set it to false in Production Environment
$client->debug = false;

// encode needed
$title = htmlentities($title , ENT_NOQUOTES, "UTF-8");
$tags = htmlentities($tags ,ENT_NOQUOTES, "UTF-8");

$content = array('title'=>$title,
       'description'=>$body,
       'mt_allow_comments'=>0,		// 1 to allow comments
       'mt_allow_pings'=>0,		// 1 to allow trackbacks
       'post_type'=>'post',
       'mt_keywords'=>$tags,
       'categories'=>array($category),
       'custom_fields' =>  array($customfields));

// create the client object
$client = new IXR_Client($blogURL . "xmlrpc.php");
$username = $_POST['Username'];
$password = $_POST['Passwd'];

// last parameter is 'true' which means post immideately, to save as draft set it as 'false'
$params = array(0,$username,$password,$content,true);

// run a query for PHP
if (!$client->query('metaWeblog.newPost', $params)) {
        die('An error occurred - '.$client->getErrorCode().": ".$client->getErrorMessage());
} else {
        // post blog success
        // do what ever you want here
}