Thiết lập các tính năng chuyên nghiệp cho Website WordPress

Ở topic trước, ta đã hoàn thành việc cài đặt Website WordPress trên Hosting hoặc VPS, giờ là lúc chúng ta tích hợp các tính năng cần thiết nhất của mọi Website chuyên nghiệp, bằng cách sử dụng các plugin tốt nhất cho từng tính năng:

  1. Cấu hình gởi mail trên WordPress
  2. Cấu hình bảo mật với plugin iThemes Security Pro
  3. Cấu hình tính năng sao lưu tự động với All in One WP Migration Premium
  4. Tối ưu tốc độ bằng WP-Rocket
  5. Tối ưu SEO bằng SEOPress Pro

Hầu hết các tính năng này, đều nên được thiết lập ngay từ đầu, sau khi cài xong WordPress, đặc biệt như tính năng Gởi mail, cấu hình bảo mật.

Xong topic này, ta có thể bắt đầu sử dụng theme (GeneratePress) và các addons (GeneratePress Premium, Gutenberg Addons) để tiến hành thiết kế toàn bộ Website.

1. Cấu hình gởi mail trên WordPress

WordPress có tính năng gởi email để thông báo các sự kiện trên Website, ví dụ như có người bình luận, khi update mã nguồn, khi thay đổi quản trị (Administrator) hay khi cần reset mật khẩu, gởi code xác thực 2 lớp để đăng nhập (Two-Factor Authentication Code),… hay quan trọng hơn nữa là gởi email thông tin đơn hàng, email về đăng ký thành viên nếu Website có các tính năng này.

Tuy nhiên, mặc định WordPress chỉ có thể gởi email được nếu hosting hỗ trợ, cụ thể máy chủ gởi mail SMTP (Simple Mail Transfer Protocol) được cài đặt và bật sẵn trên server. Thông thường VPS sẽ không có sẵn SMTP, Shared hosting thì có nhưng mặc định thường khóa nó, chỉ mở khi có yêu cầu, bởi vì SMTP trên server khi gởi mail số lượng lớn sẽ ảnh hưởng đến hiệu năng hoạt động của máy chủ.

Trong thực tế, thay vì cài SMTP trên máy chủ chứa Website, người ta thường dùng dịch vụ SMTP chuyên dụng, như Gmail SMTP, Amazon SES, SMTP.com hay Mailgun, Sendinblue, Outlook 365,… Sử dụng các dịch vụ này thời gian gởi mail nhanh, tỉ lệ spam thấp so với việc cài SMTP và gởi mail trên máy chủ thông thường.

Giải pháp hoàn hảo cho đa số Website là dùng gói free của Gmail SMTP, cho phép gởi tối đa 500 email mỗi ngày, Gmail SMTP là dịch vụ uy tín và khả năng chống spam cao, nên thời gian gởi mail rất nhanh (gần như là ngay lập tức) và tỉ lệ bị cho vào spam cũng thấp.

Cũng nên nhắc, gởi mail từ Website WordPress thông thường chỉ dùng cho các loại email thông báo, còn nếu chạy các chiến dịch Email Marketing thì ta nên đăng ký riêng các dịch vụ Email Marketing chuyên nghiệp, cả free lẫn trả phí, uy tín có Mailchimp, MailerLite, Sendinblue, Hubspot Email Marketing, GetResponse,.. Các dịch vụ Email Marketing chuyên nghiệp cho phép gởi email số lượng lớn mỗi ngày (hàng nghìn) và hỗ trợ API Key để tích hợp vào Opt-in Form trên WordPress nhằm xây dựng Danh sách email (Mailing List).

Bài hướng dẫn Email Marketing sẽ được cập nhật sau này, ở topic này chỉ hướng dẫn đăng ký SMTP Gmail, tích hợp nó với WordPress để gởi email thông báo.

Ta cần làm 2 bước:

  1. Đăng ký Gmail API project để lấy Client IDClient Secret Key, đây là 2 thông tin dùng để kết nối và sử dụng SMTP Gmail.
  2. Cài một plugin SMTP cho WordPress, plugin này sẽ hỗ trợ tính năng gởi email trên WordPress bằng cách kết nối với các dịch vụ SMTP chuyên nghiệp như Amazon SES, Gmail SMTP, Sendinblue…, ở đây ta chọn kết nối với Gmail SMTP qua Client ID và Client Secret Key nói trên bằng plugin WP Mail SMTP.

1.1 Đăng ký SMTP Gmail miễn phí

Để đăng ký dịch vụ SMTP Gmail miễn phí, bạn cần có sẵn tài khoản Google (Gmail).

Đăng nhập Google Cloud Platform

Vào trang tài khoản Google Cloud Platform bằng link này:

Google Cloud Platform Dashboard

Chú ý, nếu bạn đang login nhiều tài khoản Gmail cùng lúc thì nên thoát toàn bộ và chỉ đăng nhập tài khoản Gmail bạn muốn sử dụng SMPT của nó, để tránh bị chặn truy cập.

Nếu là lần đầu tiên login vào Google Cloud Platform, thì bạn sẽ gặp yêu cầu xác nhận quốc gia, check và chọn AGREE & CONTINUE để xác nhận:

Tạo mới/ Chọn dùng một Project

Nhấp vào Select Project để chọn dự án đã tạo sẵn, hoặc để tạo mới:

Chọn New Project để tạo một dự án dùng SMTP Gmail mới:

Mỗi tài khoản Gmail được tạo tối đa 12 projects, nếu quá số lượng, bạn cần xóa bớt thì mới tạo cái mới được. Ở đây ta đặt tên project, thường đặc theo tên Website hoặc tên nhóm dự án cho dễ nhớ:

Sau khi nhấp CREATE để tạo project, chờ một xíu, khi khởi tạo xong, bạn vào mục API & Services -> Library để truy cập vào API Library của Gmail:

Trong API Libary, gõ email vào ô tìm kiếm để chọn nhanh Gmail API, click chọn vào email hoặc Gmail API để truy cập vào trang khai báo khởi tạo:

Ở trang mới, chọn Enable để bật dịch vụ Gmail API:

Khi bật xong, chọn CREATE CREDENTIALS để khai báo các thông tin cần thiết:

Đầu tiên là khai báo Credential Type, bạn chọn Gmail API và User Data như hình dưới, rồi nhấn Next để qua phần 2:

Ở phần 2 – Your Creddentials, nhập thông tin như hình, phần tên nên đặt theo tên website cho dễ quản lý sau này, phần App logo có thể bỏ qua, phần địa chỉ email support nên là email của tài khoản đang tạo đăng ký Gmail API, còn của developer thì dùng cái nào cũng được:

Tiếp tục qua mục 3 – Scopes (Optional): phần này tùy chọn, không cần khai báo, nhấp Save and Continue để qua phần 4:

Ở phần 4 – OAuth Client ID, ta sẽ chọn Application Type là Web Application, tên thì đặc sao cũng được (hoặc để mặc định như mẫu), bỏ qua mục Authorized Javascript Origins.

Còn mục Authorized Redirect URIs ta cần điền đường dẫn chỉ định của dịch vụ mà ta sẽ sử dụng nó để gởi mail trên WordPress bằng SMPT Gmail – cụ thể là các plugin SMPT trong WordPress, ở đây là sẽ dùng một trong những plugin SMTP tốt nhất hiện nay là WP Mail SMTP, nên cần điền https://connect.wpmailsmtp.com/google/. Ở mục Authorized Redirect URIs, nhấp ADD URI và nhập link vào.

Chi tiết như hình bên dưới:

 

Qua phần 5 ta sẽ thấy thông tin client ID, tuy nhiên chưa cần lấy nó ngay ở đây. Ta chọn Done để xong phần khởi tạo project Gmail API:

Lúc này ta đã có project Gmail API, nhưng mặc định nó ở chế độ Testing, tức chưa dùng được trên Website bên ngoài. Để có thể dùng được, ta cần chuyển project qua chế độ Production. Ta cần vào mục OAuth consent screen, chọn Publish App:

Thông báo xác nhận Push Production, chọn Confirm để xác nhận:

Lúc này, có thể vô mục Credentials, chọn icon edit (Pencil) để mở thông tin của project:

Ta sẽ thấy 2 thông tin cần thiết: Client IDClient Secret Key như hình bên dưới:

Bạn nên copy Client ID Client Secret Key lưu lại chỗ nào đó để nếu muốn dùng SMTP Gmail của project này cho nhiều site thì có thể lấy nhanh thông tin.

Lưu ý là mỗi tài khoản Gmail miễn phí chỉ có thể gởi tối đa 500 email mỗi ngày, dù số lượng này khá lớn đối với nhu cầu gởi email thông báo trên WordPress, nhưng nếu bạn sử dụng trên quá nhiều site, có thể vô tình sẽ vượt quá quota 500 email/ 24 giờ, khi đó một số email cần thiết có thể không được gởi đi thành công.

Xong, tiếp theo ta sẽ cài plugin WP SMTP để kết nối với Gmail API bằng Client ID và Client Secret Key của project vừa đăng ký ở trên.

1.2 Cài đặt plugin SMTP để gởi email trên WordPress

Có khá nhiều plugin hỗ trợ gởi mail trên WordPress bằng cách kết nối với các dịch vụ SMTP, ở đây ta chọn plugin nổi tiếng nhất – WP Mail SMTP.

WP Mail SMTP là plugin freemium, có trên WP Repository, nên ta cài trực tiếp trên Dashboard (Plugins -> Add New):

Sau khi cài đặt và kích hoạt, chúng ta sẽ thiết lập cấu hình ngay ở phần Setup Wizard:

Đầu tiên là chọn dịch vụ SMTP muốn dùng, ở đây ta chọn Gmail/ Google SMTP:

Bạn sẽ thấy popup yêu cầu xác nhận, ở đây nói rằng Gmail SMTP chỉ thích hợp gởi email thông báo thông thường (tức giới hạn hiện nay – 2022 là tối đa 500 email mỗi 24 giờ), nếu có nhu cầu gởi quá nhiều email (vượt quá 500/ ngày) thì không nên dùng. Ta xác nhận để tiếp tục:

Trang thông tin cấu hình hiện ra, ta nhập Client IDClient Secret Key, và chọn Connect to Google để bắt đầu kết nối với dịch vụ Gmail SMPT:

Đăng nhập vào tài khoản Gmail ứng với project Gmail API đã đăng ký để lấy Client ID và Client Secret Key:

 

Vì kết nối để dùng Gmail SMTP qua Gmail API nên ta sẽ nhận được cảnh báo bảo mật, vì plugin WP Mail SMTP không phải ứng dụng xác thực bởi Google, cái này bình thường, bạn chọn Advanced để thấy link kết nối:

 

Click vào Go to wpmailsmtp.com (unsafe) để bỏ qua cảnh báo bảo mật và tiếp tục kết nối:

 

Thông tin kết nối giữa wpmailsmtp.com với Google Account, ta chọn Continue để thực hiện kết nối:

Thông báo xác thực thành công, ta chọn OK để hoàn thành:

Phần cấu hình đã xong, chọn Save and Continue để tiếp tục:

Xong xuôi, 2 mục còn lại ở Setup Wizard là Detailed Email Logs và Manage Default Notifications dành cho tài gói trả phí (Pro) nên ta bỏ qua, không cần chọn Save and Continue để qua từng bước nữa, tới đây là chọn Close và Exit Setup Wizard:

Lúc này mọi thiết lập đã xong, ta chọn Save Settings để lưu lại:

Xong phần thiết lập cấu hình, ta có thể yên tâm rằng tính năng gởi email của WordPress đã ổn. Tuy nhiên, để chắc ăn, bạn nên test thử, bằng cách vô mục Email Test, gởi một email về địa chỉ email của mình:

Thông báo Success thế này là có thể kê gối ngủ yên:

Xong.

2. Cấu hình bảo mật với iThemes Security

Bảo mật WordPress nên thực hiện ngay từ đầu, sau khi bạn cài WordPress xong, ở đây ta sẽ dùng plugin bảo mật số 1 cho WordPress là iThemes Security, đây là plugin freemium nên có 2 phiên bản, bản free trên WP Repository và bản premium bán riêng trên site của iThemes.

Đối với các Website thông thường, thì bản free đã quá đủ, với các công cụ bảo mật phổ biến và cần thiết nhất:

  • Các tính năng cơ bản để bảo mật WordPress: chặn truy cập folder chứa code, file hệ thống (trên server), chặn thực thi lệnh PHP trực tiếp từ các thư mục uploads, themes, plugins (thường là hành vi của mã độc), đổi đường dẫn login mặc định (Hide Back-end) và tắt tính năng file editor trên Dashboard, chặn XML-RPC,…
  • Two-factor Authentication: bảo mật 2 lớp, hỗ trợ cả 3 phương pháp, passcode gởi qua email, dùng Authentication Apps trên Mobile hoặc dùng passcodes backup (danh sách các mã xác thực dùng một lần, có thể tạo thêm 10 code mỗi khi bạn dùng hết các code trước đó).
  • Local & Network Brute-force Attack: chống tấn công dò mật khẩu bằng cách chặn các IP trong danh sách đen (blacklist) lấy từ các tổ chức bảo mật uy tín, ghi nhớ IP cố tình dò mật khẩu để thêm vào blacklist.
  • Tuỳ chọn ban Users và User-Agents
  • Bắt buột dùng mật khẩu mạnh và unique username.
  • Sao lưu tự động Database theo lịch và tuỳ chọn gởi trực tiếp về Email quản lý.

Với các Website WordPress mới cài đặt xong, ta có thể chạy chương trình Security Wizard để thiết lập nhanh hầu hết các tính năng trên, sau đó thực hiện cấu hình tính năng Hide Backend nữa là xong.

3. Cấu hình tính năng sao lưu tự động với All in One WP Migration

Tự động Backup cũng quan trọng chẳng kém gì bảo mật, nó là cứu cánh sau cùng khi website bị tấn công hoặc gặp các thiệt hại khác.

Thông thường, các phương pháp bảo mật thực hiện nhiều tầng đã đảm bảo cho an toàn 99% của Website WordPress, bao gồm: bảo mật trên server (dùng hosting chất lượng – uy tín), bảo mật ở cấp độ WordPress (dùng iThemes Security) và cấp độ người dùng (bảo mật email Administrator).

Tuy nhiên, không có gì an toàn tuyệt đối, ví dụ bạn bị mất cắp điện thoại hoặc laptop có email quản lý (Administrator), hoặc hosting bị tấn công diện rộng hoặc nhà cung cấp hosting gặp sự cố không thể phục hồi hoàn toàn. Lúc này, có một bản sao lưu khoẻ mạnh của Website là ước mơ lớn nhất của chúng ta.

Hiện nay, ở tầng server có thể thực hiện sao lưu tự động, nhưng việc này do nhà cung cấp server quản lý, chúng ta cần chắc chắn có bản sao lưu WordPress độc lập, để nếu cần thiết, chuyển qua hosting khác dễ dàng hơn.

Có khá nhiều plugin Backup tự động WordPress, ở đây ta có thể dùng song song 2 plugin là UpdraftPlus và All in One WP Migration ‘song kiếm hợp bích’:

  • UpdraftPlus: bản free có thể tự động sao lưu database và các file quan trọng (themes, plugins, uploads) lên Google Drive, Dropbox,… hay các dịch vụ lưu trữ trực tuyến khác.
  • All in One WP Migration: bản free cho phép sao lưu thủ công ‘toàn bộ’ website WordPress, lưu trên hosting hoặc tải về. Với các extensions trả phí, ta có thể tự động sao lưu toàn bộ website theo lịch lên Google Drive, Mega,..

Ta sẽ dùng UpdraftPlus cho phương án phục hồi nhanh khi Website gặp sự cố ở cấp độ WordPress.

Còn All in One WP Migration dành cho trường hợp bị tấn công phá hoại quá nặng hoặc server gặp sự cố, ta có thể phục hồi trên một hosting khác (migration) và đặc biệt cho trường hợp muốn clone website hoặc đổi domain cho toàn bộ Website.

 

4. Tối ưu tốc độ bằng WP-Rocket

Thiết lập tối ưu tốc độ ngay sau khi Website đã sẵn sàng lên sóng (bắt đầu có khách viến thăm). Việc kiểm tra và tối ưu tốc độ nên thực hiện thường xuyên với các Website có nội dung thay đổi liên tục (như trang tin tức, bán hàng,..).

Rất may là plugin WP-Rocket hỗ trợ chúng ta hầu hết các tác vụ cần thiết để tăng tốc WordPress, mọi thứ được tự động thực hiện, ta chỉ mất công thiết lập một số cấu hình lúc đầu thôi.

5. Tối ưu SEO bằng SEOPress Pro

Như đã nói ở phần trước, lúc đầu mới cài WordPress, ta cần dùng tính năng Chặn Index để tránh các công cụ tìm kiếm đánh chỉ mục các nội dung mẫu hoặc các trang ít nội dung – chưa hoàn thiện.

Khi đã thiết lập cấu trúc nội dung & đăng các nội dung cơ bản của trang web ta sẽ bắt đầu tối ưu SEO cho toàn bộ Website.

Scroll to Top