ลูกค้าทักมาบอกว่า “เข้าเว็บแล้วขึ้นว่าไม่ปลอดภัย กล้ากรอกข้อมูลไม่ได้เลย” เป็นข้อความที่เจ้าของธุรกิจไม่อยากได้ยิน เพราะคำเตือนเพียงบรรทัดเดียวบนแถบที่อยู่ ทำให้ลูกค้ากดปิดได้ทันที แม้เว็บจะทำงานปกติทุกอย่าง
ข่าวดีคือ เว็บไซต์ไม่ปลอดภัย หรือคำเตือน Not secure ส่วนใหญ่แก้ได้และมีสาเหตุที่ตรวจพบได้ชัด บทความนี้เน้นการวินิจฉัยและแก้ปัญหาแบบลงมือทำ ถ้าอยากเข้าใจว่า HTTPS เกี่ยวกับอันดับ SEO อย่างไร อ่าน คู่มือ HTTPS และ SSL กับ SEO ประกอบ
คำเตือนแต่ละแบบหมายความว่าอะไร
คำเตือนที่ลูกค้าเห็นมีหลายแบบ และแต่ละแบบมีสาเหตุต่างกัน
| คำเตือนที่เห็น | ความหมาย | สาเหตุที่พบบ่อย |
|---|---|---|
| Not secure / ไม่ปลอดภัย บนแถบที่อยู่ | หน้าโหลดผ่าน HTTP ไม่เข้ารหัส | ไม่มี SSL หรือไม่ได้ redirect ไป HTTPS |
| หน้าจอเตือนเต็มจอ “การเชื่อมต่อไม่เป็นส่วนตัว” | ใบรับรองมีปัญหา | SSL หมดอายุ ชื่อโดเมนไม่ตรง ติดตั้งไม่ครบ |
| แม่กุญแจมีเครื่องหมายเตือน หรือ Not fully secure | หน้าเป็น HTTPS แต่โหลดบางไฟล์ผ่าน HTTP | Mixed content |
| หน้าจอแดง “เว็บไซต์ที่ไม่ปลอดภัย” หรือเตือนฟิชชิง | Google Safe Browsing พบสิ่งอันตราย | มัลแวร์ หน้าหลอกลวงที่แฮกเกอร์ฝากไว้ |
| ผลค้นหา Google ขึ้น “เว็บไซต์นี้อาจถูกแฮก” | Google ตรวจพบเนื้อหาผิดปกติ | สแปมถูกฝัง หน้าแปลก ๆ ถูกสร้างเพิ่ม |
ขั้นแรกคือดูให้ชัดว่าคุณเจอแบบไหน เพราะวิธีแก้ต่างกันมาก ให้ลองเปิดเว็บในโหมดไม่ระบุตัวตนบนหลายเบราว์เซอร์ ทั้งบนมือถือและคอมพิวเตอร์ แล้วจดข้อความที่เห็นไว้
สาเหตุที่ 1: ไม่มี SSL หรือ SSL หมดอายุ
SSL คือใบรับรองที่ทำให้เว็บเชื่อมต่อแบบ HTTPS ได้ ปัญหาที่พบบ่อยคือ
- เว็บเก่าที่ไม่เคยติดตั้ง SSL เลย
- SSL ฟรีที่ต่ออายุอัตโนมัติ แต่การต่ออายุล้มเหลวเงียบ ๆ เช่นเพราะย้าย DNS หรือเปลี่ยนโฮสต์
- SSL ออกให้ชื่อโดเมนไม่ครบ เช่น มีแค่แบบไม่มี www แต่ลูกค้าเข้าแบบ www
วิธีแก้
- คลิกที่แม่กุญแจหรือคำเตือนบนแถบที่อยู่ แล้วดูรายละเอียดใบรับรอง วันหมดอายุ และชื่อโดเมนที่ครอบคลุม
- เข้าแผงควบคุมโฮสติ้ง ติดตั้งหรือออกใบรับรองใหม่ให้ครอบทั้งแบบมีและไม่มี www
- ถ้าใช้ Cloudflare ตรวจโหมด SSL ให้สอดคล้องกับเซิร์ฟเวอร์ต้นทาง ดูเพิ่มที่ คู่มือ Cloudflare
- ตั้งการแจ้งเตือนก่อนใบรับรองหมดอายุ เพื่อไม่ให้เกิดซ้ำ
สาเหตุที่ 2: มี SSL แล้วแต่ยังไม่ redirect ไป HTTPS
ติดตั้ง SSL แล้วไม่ได้แปลว่าทุกคนจะเข้าแบบ HTTPS ลูกค้าที่พิมพ์ที่อยู่เอง หรือคลิกจากลิงก์เก่า อาจยังเข้าแบบ HTTP และเห็น Not secure
วิธีแก้
- ตั้ง 301 redirect ทุกคำขอจาก HTTP ไป HTTPS ระดับเซิร์ฟเวอร์ (เช่นใน .htaccess หรือแผงควบคุมโฮสต์)
- เลือกรูปแบบเดียว จะมี www หรือไม่มีก็ได้ แล้ว redirect อีกแบบมาหามันในขั้นเดียว
- ใน WordPress ตรวจว่าที่อยู่เว็บไซต์ในการตั้งค่าทั่วไปขึ้นต้นด้วย https
- เมื่อทุกอย่างนิ่งแล้ว พิจารณาเปิด HSTS เพื่อบังคับให้เบราว์เซอร์ใช้ HTTPS เสมอ
สาเหตุที่ 3: Mixed content
Mixed content คือหน้าเว็บเป็น HTTPS แต่ยังดึงรูป สคริปต์ หรือฟอนต์ผ่าน HTTP ทำให้เบราว์เซอร์ลดระดับความน่าเชื่อถือ หรือบล็อกไฟล์นั้นไปเลย ซึ่งอาจทำให้หน้าพังบางส่วน
วิธีหา
- เปิดเครื่องมือนักพัฒนาของเบราว์เซอร์ (กด F12) ดูแท็บ Console จะมีข้อความเตือน mixed content พร้อม URL ของไฟล์ที่เป็นปัญหา
- เปิดดูหลาย ๆ หน้า ไม่ใช่แค่หน้าแรก โดยเฉพาะบทความเก่า
วิธีแก้
- แบ็กอัปฐานข้อมูลก่อนเสมอ
- ค้นหาและแทนที่ URL ที่ขึ้นต้นด้วย http ของโดเมนตัวเองให้เป็น https ในฐานข้อมูล ด้วยเครื่องมือที่รองรับข้อมูลแบบ serialized ของ WordPress
- แก้ URL แบบ hardcode ในธีม วิดเจ็ต และโค้ดติดตาม
- ไฟล์จากเว็บภายนอกที่ไม่รองรับ HTTPS ให้เปลี่ยนแหล่งหรือเลิกใช้
สาเหตุที่ 4: เว็บถูกแฮกหรือมีมัลแวร์
ถ้าเห็นหน้าจอแดงเต็มจอ หรือผลค้นหาขึ้นว่าเว็บอาจถูกแฮก นี่คือเรื่องเร่งด่วนที่สุด สัญญาณที่มักพบ
- มีหน้าแปลก ๆ ภาษาต่างประเทศ หรือหน้าขายของที่ไม่ใช่ของคุณ โผล่ในผลค้นหา
- ผู้ใช้มือถือถูกเด้งไปเว็บอื่น แต่คุณเปิดจากคอมพิวเตอร์ไม่เห็น
- มีผู้ใช้แอดมินที่ไม่รู้จัก หรือไฟล์ถูกแก้ไขโดยไม่มีใครทำ
ขั้นตอนรับมือ
- อย่าลบทุกอย่างทิ้งทันที เก็บสำเนาไว้วิเคราะห์ก่อน
- เปลี่ยนรหัสผ่านทั้งหมด แอดมิน โฮสติ้ง FTP ฐานข้อมูล และเปิดการยืนยันสองชั้น
- สแกนมัลแวร์ ด้วยเครื่องมือของโฮสต์หรือปลั๊กอินความปลอดภัย แล้วตรวจไฟล์ที่ถูกแก้ไขล่าสุด
- ล้างหรือกู้คืน จากแบ็กอัปที่สะอาด แล้วอัปเดตทุกส่วนให้เป็นเวอร์ชันล่าสุดทันที วิธีวางระบบแบ็กอัปดูที่ แบ็กอัปและความปลอดภัย WordPress
- ปิดช่องโหว่ต้นเหตุ เช่นปลั๊กอินเลิกพัฒนา ธีมเถื่อน หรือรหัสผ่านอ่อน ถ้าไม่ปิด จะโดนซ้ำ
ถ้าเว็บล่มหรือเข้าไม่ได้ระหว่างเหตุการณ์ ทำตามลำดับใน เว็บล่มต้องทำอย่างไร
ขอให้ Google ตรวจสอบใหม่หลังแก้เสร็จ
คำเตือนจาก Google จะไม่หายเองทันทีแม้คุณแก้ครบแล้ว ต้องแจ้งให้ตรวจสอบ
- เข้า Google Search Console ไปที่รายงาน ปัญหาด้านความปลอดภัย (Security Issues) ดูรายละเอียดและตัวอย่าง URL ที่ Google พบ ดูวิธีใช้ที่ คู่มือ Google Search Console
- ตรวจว่าแก้ครบทุกจุดที่ระบุ รวมถึงหน้าที่ถูกสร้างเพิ่มโดยแฮกเกอร์ ให้ลบหรือส่งสถานะ 404/410
- กด ขอให้ตรวจสอบ (Request Review) พร้อมอธิบายสั้น ๆ ว่าพบอะไรและแก้อย่างไร
- รอผลการตรวจ ระยะเวลาขึ้นกับประเภทปัญหา ระหว่างนี้เฝ้าดูว่าไม่มีอะไรกลับมาอีก
เช็กลิสต์ตรวจหลังแก้
- เปิดเว็บทั้งแบบ http, https, มีและไม่มี www แล้วไปจบที่ URL เดียว
- ไม่มีข้อความเตือน mixed content ใน Console ของหน้าหลัก ๆ
- ใบรับรองครอบคลุมทุกชื่อโดเมนที่ใช้ และมีระบบต่ออายุที่ทำงาน
- ไม่มีผู้ใช้ ไฟล์ หรือหน้าแปลกปลอม
- Search Console ไม่มีปัญหาความปลอดภัยค้างอยู่
- ฟอร์มติดต่อและระบบชำระเงินทำงานปกติบน HTTPS
ป้องกันไม่ให้เกิดซ้ำ
- อัปเดตแกนระบบ ธีม และปลั๊กอินเป็นประจำ ลบตัวที่ไม่ใช้
- แบ็กอัปอัตโนมัติไว้นอกเซิร์ฟเวอร์ และทดสอบกู้คืนจริง
- ใช้รหัสผ่านแข็งแรงและการยืนยันสองชั้นกับทุกบัญชีแอดมิน
- ตั้งการแจ้งเตือน SSL ใกล้หมดอายุและแจ้งเตือนเว็บล่ม
- ตรวจตามรอบด้วย เช็กลิสต์ดูแลเว็บไซต์
ถ้าไม่มีเวลาไล่แก้เอง หรือเว็บโดนแฮกซ้ำ ๆ ทีม Southern Whale เป็นทีมฟรีแลนซ์ที่รับ ดูแลเว็บไซต์ ทั้งแก้ SSL ล้างมัลแวร์ ขอตรวจสอบกับ Google และวางระบบป้องกันระยะยาว ส่งลิงก์เว็บมาให้เราช่วยดูเบื้องต้นได้ที่ LINE OA
คำถามที่พบบ่อย (FAQ)
ทำไมเว็บขึ้นว่าไม่ปลอดภัยทั้งที่ติด SSL แล้ว
มักเกิดจาก mixed content หรือยังไม่ได้ redirect จาก HTTP ไป HTTPS หรือใบรับรองไม่ครอบชื่อโดเมนแบบที่ลูกค้าเข้า
Not secure มีผลต่อ SEO ไหม
HTTPS เป็นสัญญาณหนึ่งของ Google และคำเตือนทำให้คนออกจากเว็บเร็ว ส่วนเว็บที่ถูกแฮกอาจถูกเตือนในผลค้นหาและเสียความน่าเชื่อถือมาก
SSL ฟรีใช้ได้ไหม
ใช้ได้สำหรับเว็บธุรกิจทั่วไป สิ่งสำคัญคือระบบต่ออายุอัตโนมัติต้องทำงานและครอบคลุมทุกชื่อโดเมน
คำเตือน “เว็บไซต์นี้อาจถูกแฮก” จะหายเมื่อไร
หลังแก้ครบและขอให้ตรวจสอบผ่าน Search Console แล้ว Google จะประเมินใหม่ ระยะเวลาขึ้นกับประเภทปัญหา
กู้จากแบ็กอัปอย่างเดียวพอไหม
ไม่พอ ถ้าไม่ปิดช่องโหว่ที่ทำให้โดนเจาะ เว็บมักถูกแฮกซ้ำ ต้องอัปเดตและเปลี่ยนรหัสผ่านทั้งหมดด้วย
ลูกค้าเห็นคำเตือนแต่ฉันไม่เห็น เป็นไปได้ไหม
เป็นไปได้ มัลแวร์บางแบบเลือกแสดงเฉพาะมือถือหรือผู้ที่มาจาก Google และเบราว์เซอร์อาจจำแคชไว้ ลองเปิดโหมดไม่ระบุตัวตนบนอุปกรณ์อื่น

