โดยปกติ ที่เราจดโดเมน เราก็มักจะเช่า host ด้วยเพื่อการทำเว็บ ดังนั้น web master หลายคนก็เลยไม่รู้ว่า www ที่เกิดขึ้นมานั้น แท้จริงแล้ว เกิดมาจากการทำงานของ hosting ไม่ใช่ของโดเมนเลย เพราะว่าอย่างที่บอกไปแล้วว่า โดเมนก็มีแค่ cymiz.com นั่นเอง
แต่เมื่อเราเช่า host ไม่ว่าที่ไหนๆ น่าจะ 90% ของโลกเรา เค้ากำหนดให้ sub domain ที่ชื่อ www นั้นมีหน้าเว็บ หน้าเดียวกับ domain เลย ก็เลยทำให้คนสามารถเปิดเว็บได้ทั้งมี และไม่มี www
ดังจะสังเกตุว่า www.cymiz.com กับ cymiz.com ได้หน้าตาเหมือนกันเลย
แต่อย่างที่บอกว่า ประมาณ 90% เพราะว่าก็ยังมี อีก 10% ที่ไม่ได้กำหนดให้ sub domain ที่ชื่อ www เปิดมาแล้วได้หน้าเว็บเดียวกับโดเมน
นั่นแปลว่า จริงๆแล้วหน้าเว็บ จะปรากฏที่โดเมน cymiz.com ไม่ใช่ปรากฏที่ www.cymiz.com เหมือนอย่างที่หลายคนเข้าใจ แต่ด้วยระบบ hosting ก็เลยผูกให้ www.cymiz.com มีหน้าเว็บที่เหมือน cymiz.com ด้วยเลยเป็นอันเข้าใจตรงกันทั่วโลก
ดังนั้นเลิกเข้าใจผิดว่า www.cymiz.com และ cymiz.com เป็นคนละเว็บ คนละชื่อโดเมน เพราะว่ามันคือโดเมนเดียวกัน
ด้วยกระบวนการความเข้าใจเดียวกันนี้ จะทำให้เข้าใจได้ว่า ทำไมเห็นบางเว็บใช้ www2.domain.com www3.domain.com ซึ่งมันก็ไม่ใช่เทคนิคพิเศษอะไรเลย มันคือการทำงานแบบเดียวกับ www.domain.com นี่เอง (sub domain)
และคำอธิบายนี้ก็ยังเป็นตัวบอกด้วยว่า ทำไมบางเว็บเข้าแบบที่ไม่มี www แล้วเข้าไม่ได้ หรือได้ผลที่ต่างจากหน้าที่ไม่มี www ถ้าเข้าเว็บแบบมี www ไม่ได้ แต่เข้าแบบไม่มี www ได้ แสดงว่าทุกอย่างทำงานปกติ แต่แค่ยังไม่ได้ตั้งให้ www ชี้เข้าไปยังหน้าเว็บแบบที่ไม่มี www เท่านั้นเอง
ปัญหาของการใช้ www / non-www กับ seo
ลองเข้าเว็บตัวเองโดยไม่ต้องใส่ www ข้างหน้าดูว่าเข้าได้รึป่าว เช่น http://domain.com ถ้าเข้าได้แล้วลองเปลี่ยนเป็นแบบมี www ด้วย เช่น http://www.domain.com ถ้าเข้าได้อีกและมีเนื้อหาเหมือนกันแล้วอาจจะถูก search engine มองว่าเป็น duplicate content
เพื่อแก้ไขปัญหานี้เราก็จัดการ redirect จากที่ไม่มี www ไปหาที่มี www ซะเลย โดยการใช้ไฟล์ htaccess เข้าช่วย โดยเพิ่มโค้ดนี้เข้าไปในไฟล์
บรรทัดแรกเป็นการตรวจสอบว่าลิงค์มี www อยู่ข้างหน้ารึป่าว เช่น cymiz.com
บรรทัดที่สอง ถ้าตรวจสอบว่าไม่มี www ให้ redirect แบบถาวรไปที่โดเมนที่มี www เช่น www.cymiz.com
RewriteCond %{HTTP_HOST} !^www. RewriteRule (.*) http://www.cymiz.com/$1 [R=301,L]
แก้ด้วยวิธีการใช้ mod_rewrite โดยการเขียนคำสั่งเพิ่มเข้าไปที่ file .htaccess ตามนี้
RewriteCond %{http_host} ^abc\.com$ [NC] RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
เพื่อป้องกันปัญหา duplicate content แบบเดียวกันนี้ระหว่างหน้าแรกสุด (home page) กับหน้าแรกสุดแบบมีคำว่า default หรือ index เพจตามมาด้วย เช่น http://www.abc.com/ กับ http://www.abc.com/index.php เป็นต้น
RewriteRule ^index.php$ http://www.abc.com/ [R=301,L]
เพียงเท่านี้ เราก็สามารถป้องกันการเสียผลประโยชน์จาก duplicate content ที่เกิดขึ้นภายในเว็บเราได้แล้ว
วิธีตั้งค่า โดเมน จาก domain.com ไปเป็น www.domain.com คือจากไม่มี www เป็น มี www เท่านั้น
RewriteEngine on <IfModule mod_rewrite.c> RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} !^www\..+$ [NC] RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
การใช้ mod_rewrite เพื่อทำ url แบบมี WWW และ ไม่มี WWW
ระบบของมีฟังก์ชั้นให้ท่านสามารถเข้าชมเว็บไซต์แบบมี www หรือ ไม่มี www ก็ได้ ยกตัวอย่างเช่น
http://www.domain.com
หรือ
http://domain.com
หากคุณต้องการให้แก้ไข URL เว็บไซต์ของคุณให้มี www ท่านสามารถทำได้โดยให้ใช้ mod_rewrite เข้ามาช่วย โดยทำตามขั้นตอนข้างล่างนี้เลยครับ
สร้างไฟล์ .htaccess แล้วนำไปใส่ไว้ใน public_html
โดยใน .htaccess ไฟล์ให้ใส่ข้อความดังนี้
Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domain\.com$ RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
หากต้องการบังคับแบบที่ไม่มี WWW ข้างหน้า URL ให้ใส่ Code ด้านล่างนี้เข้าไปแทน
Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.domain\.com$ RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
กำหนดโดเมนที่ต้องการ (www หรือที่ไม่ใช่ www)
โดเมนที่ต้องการคือโดเมนที่คุณต้องการให้ใช้เพื่อจัดทำดัชนีหน้าเว็บในเว็บไซต์ของคุณ (บางครั้งหมายถึงโดเมนที่ได้มาตรฐาน) ลิงก์อาจนำไปยังไซต์ของคุณโดยใช้ URL ทั้งเวอร์ชัน www และเวอร์ชันไม่มี www (ตัวอย่างเช่น http://www.example.com และ http://example.com) โดเมนที่ต้องการเป็นเวอร์ชันที่คุณต้องการใช้สำหรับไซต์ของคุณในผลการค้นหา
หากคุณเห็นข้อความว่าไซต์ของคุณไม่ได้รับการจัดทำดัชนี อาจเป็นเพราะไซต์ของคุณอยู่ในดัชนีภายใต้โดเมนอื่น ตัวอย่างเช่น หากคุณได้รับข้อความว่า http://example.com ไม่ได้รับการจัดทำดัชนี ตรวจสอบว่าคุณได้เพิ่ม http://www.example.com ลงในบัญชีของคุณ (หรือในทางกลับกัน) และตรวจสอบข้อมูลสำหรับไซต์ดังกล่าว
เมื่อคุณแจ้งให้เราทราบถึงชื่อโดเมนที่ต้องการ เราจะใช้ข้อมูลนั้นในการรวบรวมข้อมูลเว็บไซต์ของคุณและรีเฟรชการจัดทำดัชนีในอนาคต ตัวอย่างเช่น หากคุณระบุโดเมนที่ต้องการเป็น http://www.example.com และเราพบลิงก์ในเว็บไซต์ของคุณซึ่งมีรูปแบบเป็น http://example.com เราจะติดตามลิงก์นั้นเป็น http://www.example.com แทน นอกจากนี้ เราจะพิจารณาความต้องการของคุณเมื่อแสดง URL หากคุณไม่ได้ระบุโดเมนที่ต้องการ เราจะใช้โดเมนเวอร์ชัน www และเวอร์ชันไม่มี www เป็นข้อมูลอ้างอิงแยกไปยังหน้าที่แยกต่างหากจากกัน
อาจต้องใช้เวลาสักครู่ก่อนที่คุณจะเห็นการเปลี่ยนแปลงนี้แสดงในดัชนีของเราอย่างครบถ้วน หน้าเว็บทั้งหมดซึ่งปัจจุบันแสดง URL เวอร์ชันที่ไม่ต้องการในดัชนีจะยังคงอยู่แบบนั้นต่อไป จนกว่าเราจะรีเฟรชการจัดทำดัชนีของหน้าเว็บเหล่านั้น
ระบุโดเมนที่ต้องการ
คลิกเว็บไซต์ที่คุณต้องการบนหน้าแรกของ Search Console
คลิกไอคอนรูปเฟือง จากนั้นคลิกการตั้งค่าเว็บไซต์
ในส่วนโดเมนที่ต้องการ เลือกตัวเลือกที่คุณต้องการ
คุณอาจต้องยืนยันความเป็นเจ้าของโดเมนเวอร์ชัน www และเวอร์ชันไม่มี www ทั้งสองเวอร์ชัน เนื่องจากการตั้งค่าโดเมนที่ต้องการจะส่งผลกระทบต่อทั้งการรวบรวมข้อมูลและการจัดทำดัชนี เราจึงจำเป็นต้องตรวจสอบว่าคุณเป็นเจ้าของทั้งสองเวอร์ชัน โดยปกติแล้วทั้งสองเวอร์ชันจะชี้ไปยังตำแหน่งที่ตั้งทางกายภาพเดียวกัน แต่อาจไม่เป็นเช่นนี้เสมอไป โดยทั่วไป เมื่อคุณยืนยันโดเมนเวอร์ชันหนึ่งแล้ว เราจะสามารถยืนยันอีกเวอร์ชันหนึ่งได้อย่างง่ายดายโดยใช้วิธีการยืนยันแบบดั้งเดิม อย่างไรก็ตาม หากคุณได้ลบไฟล์ เมตาแท็ก หรือบันทึก DNS คุณจะต้องทำตามขั้นตอนการยืนยันซ้ำอีกครั้ง
หมายเหตุ: เมื่อตั้งค่าโดเมนที่ต้องการแล้ว คุณอาจต้องใช้ 301 การเปลี่ยนเส้นทางในการเปลี่ยนเส้นทางการเข้าชมจากโดเมนที่ไม่ต้องการ เพื่อให้เครื่องมือค้นหาอื่นๆ และผู้เข้าชมทราบเวอร์ชันที่คุณต้องการ
https://support.google.com/webmasters/answer/44231?hl=th