ทำเว็บให้เป็น HTTPS (แบบฟรี) ด้วย Let’s Encrypt บน DirectAdmin

ทำเว็บให้เป็น HTTPS คือ การเข้ารหัสข้อมูลบนเว็บไซต์ของเรา เพื่อเพิ่มความปลอดภัยในการสื่อสารหรือส่งข้อมูลบนเครือข่ายอินเทอร์เน็ตครับ เราจะสังเกตเห็นว่าเว็บไหนที่เขาเข้ารหัสไว้ มันจะมีการแสดงรูปแม่กุญแจเอาไว้บน browser ลองดูจากรูปตัวอย่างนะครับ

ทำเว็บให้เป็น HTTPS แล้วมันดียังไง?

การทำเว็บเราให้เป็น https:// อาจช่วยให้ google มองว่าเว็บเรามีคุณภาพ ใส่ใจเรื่องความปลอดภัยของข้อมูลลูกค้า การจัดอันดับเว็บเราก็จะดีขึ้นได้ครับ หากเปรียบเทียบกับเว็บที่คล้ายกัน แต่เขาไม่ได้เข้ารหัสเว็บเอาไว้ โดยแนวโน้มผมเชื่อว่า google จะให้น้ำหนักเกี่ยวกับการทำเว็บให้ปลอดภัยเพิ่มมากขึ้นด้วย

ซึ่ง backlinko.com ได้รวบรวม Google Ranking Factors ซึ่งถ้าเลื่อนมาดูข้อที่ 71 จะพบว่าการทำเว็บให้เป็น HTTPS นั้นก็เป็นปัจจัยหนึ่งต่อการทำ SEO ด้วย

สำหรับใครที่อยากจะเข้ารหัสความปลอดภัยเว็บ ผมแนะนำให้ติดต่อโฮสที่เราใช้บริการอยู่ได้เลยครับ โดยส่วนมากผู้ให้บริการโฮสจะช่วยเรา ทำเว็บให้เป็น https ให้อยู่แล้ว ซึ่งจะมีทั้งแบบที่เสียเงิน และแบบที่เป็นตัวฟรีก็มีครับที่เรียกว่า Let’s Encrypt แต่ถ้าเราอยากลองทำเองดูก็ได้ครับ ซึ่งก็ไม่ยากเลย

เงื่อนไขก่อนการติดตั้ง เพื่อให้สามารถทำตามขั้นตอนในบทความนี้ได้

  • โฮสที่ใช้ต้องมีระบบหลังบ้านเป็น Direct admin
  • โฮสที่ใช้ต้องติดตั้ง Softaculous apps installer เอาไว้ใช้ลง WordPress ให้ง่ายๆ
  • โฮส Server ต้องเป็น php 5.6 ขึ้นไป
  • และโฮสต้องตั้งค่า Permission ถูกต้องด้วยนะครับ (เช่นใช้ FastCGI) พิสูจน์โดยการ ไปหลังบ้าน กดติดตั้งปลั๊กอินแล้วผ่าน ไม่ต้องใส่รหัส FTP

โฮสเจ้าที่ผมขอแนะนำ หากต้องการทำเว็บ WordPress ให้ใช้งานง่ายๆ ซึ่งผมก็ใช้บริการกับพวกเขาด้วย มีดังนี้ครับ

  1. hostatom.com
  2. hostings.ruk-com.in.th
  3. host4.pro
คอร์สเรียน SEO WordPress

ขั้นตอนการติดตั้ง Let’s Encrypt SSL Certificate

ทุกๆ เว็บไซต์จะสามารถขอ SSL Certificate มาติดตั้งได้ฟรีโดยไม่มีค่าใช้จ่ายใดๆ ทั้งสิ้น ประสิทธิภาพการเข้ารหัสสามารถทำได้ดีไม่แตกต่างจาก SSL Certificate ที่มีขายแบบปกติ เริ่มติดตั้งโดยการ Login เข้าสู่ DirectAdmin Control Panel ของเราครับ

1. เลือกเมนู Domain Setup เพื่อเปิดใช้งาน SSL Certificates

2. คลิกโดเมนที่ต้องการ

ตั้งค่าโดเมน

3. ติ๊กเลือกเมนู Secure SSL จากนั้นคลิก Save จากนั้นตรวจสอบในส่วนของ private_html setup ว่าได้ติ๊กเลือกเมนู Use a directory named private_html เรียบร้อยแล้ว

check ssl

4. กลับไปที่หน้า Home ของ DirectAdmin ในส่วนของเมนู Advanced Features คลิกเลือก SSL Certificates

5. ติ๊กเลือกเมนู Use the server’s shared signed certificate. จากนั้นเลือก Free & automatic certificate from Let’s Encrypt

6. ระบุข้อมูลส่วนตัวตามช่องรายละเอียดดังภาพ จากนั้นคลิก Save ด้านล่างสุด

Let's Encrypt free ssl

7. ระบบได้ยื่นคำขอไปยัง Let’s Encrypt และบันทึก Certificate and Key ไว้บน Server เรียบร้อยแล้วครับ

เมื่อเราติดตั้ง Let’s Encrypt SSL Certificate ลงในโดเมนของเราเรียบร้อยแล้ว แต่เว็บของเรามันยังไม่เป็น HTTPS นะครับ ซึ่งขั้นตอนต่อไป ผมจะมาแนะนำการทำเว็บ WordPress ของเราให้เป็น HTTPS ไปดูกันเลย ^_^

การทำเว็บให้เป็น HTTPS มีอยู่ด้วยกัน 2 กรณี คือ

  1. ทำกับเว็บใหม่เลย แบบนี้ก็จะง่ายเลยไม่ซับซ้อน
  2. ทำกับเว็บเดิมที่เป็น HTTP แบบนี้อาจต้องระวังสักเล็กน้อยครับ

ขั้นตอนการทำเว็บให้เป็น HTTPS กรณีทำกับเว็บใหม่

1. ให้เข้าไปหน้า DirectAdmin แล้วให้เราติดตั้ง WordPress ผ่าน Softaculous apps installer

2. เมื่อเราเข้าสู่หน้าการติดตั้งตั้ง WordPress ของ Softaculous แล้ว ในส่วนของ Choose Protocol ให้เลือกเป็น HTTPS ได้เลยครับ

3. หลังจากติดตั้ง WordPress เสร็จเรียบร้อย เราจะพบว่า Web Browser แจ้งว่าเว็บไซต์ของเรามีการเชื่อมต่อแบบเข้ารหัส เป็น HTTPS แล้วครับ

ขั้นตอนการทำเว็บให้เป็น HTTPS กรณีทำกับเว็บเดิมที่เป็น HTTP

1. ในขั้นตอนแรกให้เราทำการ back up เว็บของเราให้เรียบร้อยก่อนเลยครับ เพราะมันจะมีการย้าย Directory จาก public_html ไปสู่ private_html ดูวิธีการ backup เว็บ WordPress ได้ที่บทความนี้ครับ วิธี backup เว็บไซต์ WordPress โดยใช้ปลั๊กอิน All in one WP Migration

2. หลังจากนั้นให้เข้าไปที่ DirectAdmin แล้วให้ไปที่หน้า overview ในส่วนของ Softaculous apps installer ให้คลิก remove ลบเว็บเดิมของเราทิ้งไปเลยครับ ^_^

3. ให้เข้าไปติดตั้ง WordPress ใหม่อีกครั้งครับ ผ่าน Softaculous apps installer ในส่วนของ Choose Protocol ให้เลือกเป็น HTTPS ได้เลยครับ

4. จากนั้นให้เรา Import ไฟล์เว็บที่เราได้ backup ไว้ในตอนแรกกลับเข้าไปใหม่ครับ ด้วยปลั๊กอิน All in one WP Migration อีกครั้ง โดยดูขั้นตอนการย้ายเว็บ >>คลิกที่นี่<<

5. หลักจากเราย้ายเว็บกลับเข้ามาเรียบร้อยแล้วเราจะพบว่า Web Browser แจ้งว่าเว็บไซต์ของเรามีการเชื่อมต่อแบบเข้ารหัส เป็น HTTPS แล้วครับ

ยังๆ ครับ มันยังไม่จบครับ !!

เพราะการติดตั้ง Let’s Encrypt – SSL Certificates ทำให้ URL  การเข้าถึงเว็บไซต์ของเราเปลี่ยนไป จาก HTTP เป็น HTTPS ซึ่งจะส่งผลให้ Google หา URL เดิมไม่เจอ ซึ่งอาจเกิดผลเสียทำให้ผู้ชมเว็บไซต์ลดลงได้

403 error

วิธีแก้ไขสามารถทำได้โดยทำ 301 Redirect สำหรับ https โดยเฉพาะ วิธีนี้เป็นวิธีที่จะบอก Google และผู้ใช้ทั่วไปว่าเว็บไซต์ของเรา ตอนนี้เปลี่ยนจาก http เป็น https แล้ว รวมไปถึง Redirect ผู้ชมจาก http มาเป็น https ทั้งหมดด้วย

วิธีการทำ 301 Redirect

1. ให้เขาไปที่ DirectAdmin แล้วคลิกไปที่ flie manager >> เลือกชื่อ domain ของเรา
2. ให้เข้าไปที่ โฟลเดอร์ private_html

3. ให้ติ๊กเลือกไฟล์ .htaccess

4. ให้คลิก Add to Clipboard

5. จากให้ให้คลิก back กลับไป และให้เข้าไปในโฟลเดอร์ public_html

6. ให้เราคลิก Copy Clipboard Files Here เพื่อวางไฟล์ .htaccess ที่เราได้ coppy เอาไว้

7. คลิก edit เพื่อเข้าไปแก้ไขไฟล์ .htaccess

8. ลบ Code เก่าออกไปทั้งหมด และเพิ่ม Code ด้านล่างนี้เข้าไปครับ จากนั้นให้คลิก save as

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

301 rewrite

9. ลองเข้าไปพิมพ์ URL แบบเก่าที่เป็น HTTP ลงไปใน Web Browser ดูอีกครั้ง จะเห็นได้เว็บของเราจะ redirect กลับไปที่ URL ใหม่ ที่เป็น HTTPS อยู่เสมอ

10. อย่าลืมนำเว็บใหม่ที่ เป็น HTTPS เข้าไปเชื่อมต่อกับ Google Search Console ด้วยนะครับ โดยที่เรายังไม่ต้องไปลบข้อมูลเว็บเก่าที่เราได้เชื่อมต่อไปแล้วด้วย ปล่อยไว้ให้มี Property ทั้ง 2 URL เลย เข้าไปดูวิธีการเชื่อมต่อเว็บเข้ากับ Googleได้ที่นี่ครับ วิธีการติดตั้ง google search console เข้ากับเว็บไซต์ WordPress

เป็นยังไงกันบ้างครับสำหรับการ ทำเว็บให้เป็น HTTPS ถ้าใครยังรู้สึกว่าสิ่งที่ผมแนะนำไปมันมีขั้นตอนเยอะเกินไปกลัวว่าจะทำไม่ได้ ผมมีคำแนะนำ คือเราสามารถเปิด Ticket แล้วไปแจ้งให้โฮสจัดการทำเว็บให้เป็น HTTPS แทนเราก็ได้นะ พวกโฮสต่างๆ เขายินดีบริการให้เราอยู่แล้วครับ

การ ทำเว็บให้เป็น HTTPS นอกจากจะสามารถทำด้วย Let’s Encrypt เรายังสามารถทำด้วยการใช้บริการของ Cloudflare ก็ได้ครับ หากใครสนใจวิธีการนี้ ลองเขาไปดูขั้นตอนการทำได้ที่ สอนวิธีทำ HTTPS ง่าย ๆ ฟรี ๆ บน Cloudflare ได้เลยครับ