WordPress Multisite Network là gì ? Tại sao nên sử dụng wordpress multisite ?

Multisite là một tính năng của WordPress cho phép bạn tạo và quản lý nhiều trang web từ một bảng điều khiển duy nhất. Các trang web sẽ nằm cùng trong một network. Sau khi đã thiết lập Multisite, bạn có thể thêm nhiều trang web khác nhau vào network như ý bạn mong muốn.

Một số lý do rất hữu ích mà Multisite mang lại:

  • Bạn có thể làm mọi thứ từ một bảng điều khiển duy nhất: việc lưu giữ và ghi nhớ tài khoản cho nhiều trang web khác nhau có thể khiến bạn “đau đầu”. Với WordPress Multisite bạn chỉ cần ghi nhớ một tài khoản duy nhất mà thôi.
  • Bạn có thể đăng nội dung mới cho các website: Multisite cho phép bạn truy cập trình soạn thảo WordPress giống như bạn đã sử dụng và sử dụng nó để xuất bản nội dung mới cho bất kỳ trang nào của bạn.
  • Nó cho phép bạn quản lý themes/plugins trên toàn bộ network: admin của Multisite có thể cho phép các plugins hay themes nào được phép sử dụng trên network. Nếu có nhiều hơn một người cùng tham gia quản lý, bạn có thể đảm bảo rằng không thể có bất cứ thứ gì được sử dụng trên network mà không phải qua sự kiểm duyệt của bạn.
  • Quản lý người dùng trên toàn network một cách hợp lý: bạn có thể thêm người dùng mới vào network và thiết lập các roles riêng cho họ. Điều này có nghĩa là bạn sẽ không cần phải truy cập từng website rinêg biệt để thực hiện việc thêm người dùng và thiết lập roles.
  • Thực hiện cập nhật cho WordPress Multisite dễ dàng hơn bao giờ hết: admin của network sẽ có thể cập nhật phiên bản mới nhất cho toàn bộ các website trong network tương tụ như việc thực hiện cho 1 website.
  • Bên cạnh Multisite, có rất nhiều công cụ khác cho phép bạn quản lý nhiều trang web WordPress. Ví dụ như ManageWP và MainWP. Sự khác biệt chính giữa Multisite và các nền tảng này là chúng cho phép bạn liên kết các trang web từ các máy chủ khác nhau. Trong thực tế, điều này có nghĩa là bạn có thể quản lý một mạng lưới các trang web từ khắp nơi trên thế giới.
  • Tiết kiệm tài nguyên vì dùng một mã nguồn cho nhiều website sẽ tiết kiệm hơn là mỗi website một mã nguồn.
  • Có thể tạo ra bao nhiêu website con tùy thích và dễ dàng phân quyền, quản lý nó.
  • Dễ dàng quản lý bản cập nhật của mã nguồn và của các plugin/theme bởi vì tất cả các website con trong mạng lưới đều dùng chung một mã nguồn, một phiên bản theme và plugin.

Tuy nhiên, chúng ta nên cân nhắc không nên sử dụng WordPress Multisite khi

  • Bạn cần database riêng bởi vì tất cả các website con trong một mạng lưới sẽ dùng chung một database, chỉ là nó có những bảng dữ liệu riêng.
  • Bạn cần mỗi website là một IP riêng vì các website con cho dù có dùng tên miền riêng đi chăng nữa cũng chỉ là trỏ đến IP của website mẹ nên không thể dùng IP riêng cho các website con.

Lựa chọn cấu trúc domain cho Multisite Network

Trên WordPress multisite network, ban có thể thêm website mới bằng các sử dụng subdomain hoặc sub-directories.
Ví dụ: http://seo.bmmdigital.com/ hoặc http://bmmdigital.com/seo/
Nếu bạn lựa chọn subdomains, thì bạn phải chỉnh wildcard subdomains trên server ( cái này mình sẽ hướng dẫn ở dưới)
Còn nếu bạn chọn, sub-directories, thì bạn chỉ chọn tên không trùng lặp ngắn gọn là được..

Cài đặt Wilcard Subdomains

Nếu bạn quyết định sử dụng subdomain cho website trên multisite network, thì bạn sẽ cần cài đặt wildcard subdomain.
Đầu tiên, bạn cần login vào tài khoản quản trị Hosting của mình. Vào cPanel kéo xuống thấy khu vực Domains » Subdomains


Trong màn hình tiếp theo, bạn cần điền vào trường *tên subdomain và lựa chọn domain chính từ menu thả xuống
Cpanel sẽ tự động tìm thư mục root và sẽ hiển thị nó trong trường dưới. Giờ click vào “Creat” để thêm wildcard subdomain

Kích hoạt tính năng Multisite Network

Tính năng Multisite Network đều đi kèm với mỗi trang WordPress được cài đặt. Tất cả những gì bạn cần là cài đặt và thiết lập WordPress như bình thường. Sau đó, bạn cần kích hoạt tính năng này.
Bạn cũng có thể kích hoạt tính năng này trên tất cả trang WordPress đã có. Trước khi bạn kích hoạt Multisite, đừng quên backup lại website nhé.
Để kích hoạt Multisite, đi đến bảng điều khiển cPanel hoặc sử dụng FTP client, mở file wp-config.php để thêm dòng đoạn code sau:
Chỉ cần thêm đoạn code sau trước dòng /* That’s all, stop editing! Happy blogging. */ là được.
/* Multisite */
define( ‘WP_ALLOW_MULTISITE’, true );
Giờ lưu lại và upload lại file wp-config lên server.
Đoạn code này đơn giản là kích hoạt tích năng multisite trên trang WordPress. Bạn vẫn cần cài đặt multisite và học cách thiết lập nữa.

Cài đặt WordPress Multisite Network

Bây giờ bạn đã kích hoạt tính năng Multisite Network thành công trên trang WordPress, giờ là lúc tiến hành cài đặt
Trước khi tiến hành cài đặt, bạn sẽ cần deactivate tất cả plugin trên trang WordPress.
Đi đến Plugins » Installed Plugins chọn tất plugin. Từ khung phía trên ‘Bulk Actions’ chọn select ‘Deactivate’ và click ‘Apply’.


Bây giờ bạn có thể đi đến Tools » Network Setup để tiến hành thiết lập multisite network.


Trong màn hình cài đăt, bạn sẽ thấy thông báo rằng bạn cần Apache’s mod_rewrite module installed trên server của bạn. Module này được cài đặt và kích hoạt trên tất cả nhà cung cấp hosting tốt hiện nay.
Điều tiếp theo bạn cần làm là chọn loại cấu trúc domain nào bạn sẽ sử dụng cho network, subdomain or sub-directories
Sau đó bạn sẽ cần phải điền Network Title của bạn và đảm bảo rằng Network Admin Email là chính xác.
Cuối cùng, nhấp vào nút install để tiếp tục.
WordPress sẽ hiển thị cho bạn một sốđoạn code mà bạn cần thêm vào file wp-config.php và .htaccess.


Sử dụng FTP client hoặc copy và paste trực tiếp đoạn code trên bằng File Manager trong cPanel
Sau đó bạn sẽ cần login lại vào trang WordPress của mình.

Thiết lập Network Settings

Bây giờ bạn phải cài đặt Multisite Network, đã đến lúc thiết lập network settings
Bạn cần chuyển sang ‘Network Dashboard’ để thay đổi network settings, và thêm site mới và thiết lập những settings khác.
Khi ban đưa chuột đến ‘My Sites’ menu trong thanh admin, một popup sẽ xuất hiện. Click vào Network Admin » Dashboard


Bạn sẽ thấy các mục menu mới để quản lý trang multisite network. Bạn cũng thấy một bảng Dashboard cho phép tạo site mới và thêm người dùng mới.


Để thiết lập network settings, click vào “Settings’ trong thanh menu bên trái
Dòng đầu tiên trong network settings, để điền Title và Email

Mở Multisite Network cho người đăng ký

Phần Registration Settings trong Network setting là quan trọng nhất.
Mặc định, cả người dùng và người đăng ký sẽ không được kích hoạt trên network.
Bạn có thể lựa chọn để mở website cho người đăng ký, hay phép người dùng hiện tại tạo website mới, hay cho phép cả hai.


Nếu bạn mở multisite network của bạn cho người đăng ký, thì bạn có thể tích vào ô ‘Registration Notification‘ để nhận email mỗi khi có người dùng mới hoặc trang web mới tạo.
Nếu bạn muốn cho phép các quản trị viên trang web cá nhân có khả năng thêm người dùng mới vào trang web của họ thì bạn có thể chọn ô bên cạnh tùy chọn ‘Add New User’.


Limited Email Registration cho phép bạn giới hạn chỉ được đăng ký từ một địa chỉ email từ một tên miền cụ thể. Phần này rất hữu ích nếu bạn chỉ muốn cho phép người từ công ty của bạn để đăng ký và thêm mới người dùng hoặc website
Tương tự, Banned Email Domains giúp bạn chặn từ email tên miền nào đó

New Site Settings

Khu vực này cho phép bạn thiết lập những tính năng cơ bản cho website mới tạo trên network của bạn. Bạn có thể chỉnh sủa welcome emails và nội dung của Post, Page, comment mặc định đầu tiên

Thiết lập Upload Settings

Đây là phần quan trọng bạn cân để ý trọng việc sử dụng tài nguyên máy chủ của mình. Dưới phần Upload Settings, bạn có thể giới hạn số dung lượng tối đa có thể uploads.
Giá trị mặc định là 100MB giá trị này đủ để cho 100 hình ảnh. Bạn có thể tăng hoặc giảm giá trị này tùy thuộc vào dung lượng server bạn có.


Định dạng file mặc định là: images, audio, video, và pdf. Bạn có thể thể các định dạng khác nếu bạn muốn
Cuối cùng, bạn có thể chọn giới hạn dung lượng, vì vậy người dùng không thể upload những file quá lớn lên server.

Plugin Menu Settings

Dưới phần Menu Settings, bạn sẽ thấy lựa chọn “Enable administration menus” để bật quản lý plugin trên các trang network.
Bật tính năng này sẽ hiển thị menu plugin cho các quản trị viên trang web tương ứng. Họ có thể kích hoạt hoặc hủy kích hoạt một plugin trên các trang web cá nhân của họ, nhưng họ không thể cài đặt các plugin mới.

Thêm Website mới vào Network

Để thêm site mới vào Multisite của bạn, đơn giảm click vào thanh toolbar ở đầu My Sites » Network Admin


Trong giao diện này bạn có thể thấy được tất cả các trang con đã được cài đặt. Với mặc định, bạn chỉ thấy trang chính của mình trong list danh sách này
Để thêm site mới, click vào nút “Add New” ở trên đầu.


Sau đó đến giao diện mới, bạn cần cung cấp địa chỉ website, tiêu đề, ngôn ngữ và Email của người quản trị.

Bạn có thể thêm một địa chỉ email quản trị khác với địa chỉ mà bạn hiện đang sử dụng để quản lý multisite của bạn.
Nếu địa chỉ email hiện không được sử dụng bởi người dùng khác, thì WordPress sẽ tạo một người dùng mới và gửi mật khẩu và tên người dùng tới địa chỉ email mà bạn nhập vào.
Khi bạn đã hoàn tất, hãy nhấp vào nút ‘Add Site’.
Một trang web mới sẽ được thêm vào multisite network của bạn. Là quản trị viên network, bạn sẽ nhận được email đăng ký trang web mới.
Nếu bạn tạo một người dùng mới, người dùng đó sẽ nhận được một email với các hướng dẫn để đặt mật khẩu và đăng nhập.

Thêm Theme và Plugin mới vào Multisite Network

Mặc định, các quản trị viên của các trang con trong multisite network không thể cài đặt theme và pluign trên trang của họ.
Với người quản trị network, ban có thể cài đặt plugin và theme và khiến chúng hoạt động trên tất cả các trang còn lại.
Để thêm theme mới, đi đến My Sites » Network Admin » Themes page


Bây giờ bạn sẽ thấy danh sách tất cả theme đã cài đặt trên trang Multisite. Bạn có thể kích hoạt chúng trên các site khác bằng cách click vào ‘Enable Network’ dưới tên theme. Bạn cũng có thể vô hiệu hóa chúng bằng cách click vào ‘Disable Netwok’ dưới tên theme.
Để thêm theme mới, bạn cần click vào nút ‘Add New’ ở trên đầu và cài đặt theme như bình thường.
Một khi theme mới được cài đặt, bạn sẽ có làm nó hoạt động trên những site khác trong network
Đơn giản, bạn có thể cài đặt plugin và active chúng bằng cách đi đến My Sites » Network Admin » Plugins


Lưu ý: Nếu bạn “Enable administration menus” trong Plugin Menu Settings ở phần phía trên, thì các nhà quản trị site của họ có thể acitivate hoặc deactivate installed plugin trên trang của họ

SỬ DỤNG DOMAIN RIÊNG CHO WEBSITE CON

Mặc định mỗi website con trong mạng WordPress Multisite chỉ có 2 định dạng là subdomain hoặc subdirectory. Tuy nhiên chúng ta vẫn có giải pháp sử dụng tên domain cho từng website như một website riêng thật sự mà không cần dùng plugin nào.

Trỏ domain và thêm vào host

Trước khi thiết lập domain riêng cho website con, bạn cần phải trỏ domain về host và thêm nó vào trong host ở cùng thư mục website. Dưới đây là các cách thêm domain vào host ở từng môi trường khác nhau.

Trường hợp 1: đối với host dùng cPanel

Nếu bạn dùng host sử dụng cPanel thì hãy tìm mục Aliases (giao diện mới) hoặc Parked Domain (giao diện cũ) và thêm domain cần sử dụng cho website con vào. Lưu ý mã nguồn của website phải nằm ở thư mục public_html.


Nếu mã nguồn nằm ở một thư mục con trong public_html, hãy vào phần Addon Domain và thêm domain vào, thiết lập thư mục vào đúng thư mục đang chứa mã nguồn website.

Trường hợp 2: Đối với VestaCP

Nếu bạn dùng máy chủ riêng với VestaCP thì hãy sửa website trên VestaCP và điền tên miền cần làm tên miền riêng cho website con ở mục Aliases.

Trường hợp 3: Đối với EasyEngine

Nếu bạn dùng EasyEngine thì hãy gõ lệnh ee site edit domain.com và nhập domain cần thêm vào mục server_name. Sau đó nhớ khởi động lại NGINX.

Xong mỗi trường hợp ở trên thì bước tiếp theo bạn cần phải làm tiếp nhé.

SỬA TẬP TIN WP-CONFIG.PHP

Bây giờ bạn hãy mở tập tin wp-config.php trên host ra và tìm đoạn sau:
define(‘SUBDOMAIN_INSTALL’, true);
Sửa true thành false.
Sau đó thêm đoạn sau vào dưới nó:
define( ‘COOKIE_DOMAIN’, $_SERVER[‘HTTP_HOST’] );

SỬA TÊN MIỀN WEBSITE CON

Bây giờ bạn hãy thay đổi tên miền của các site con bằng cách vào My Sites -> Network Admin -> Sites và tìm website con cần sửa tên miền, chọn Edit.

Bạn chỉ cần thay đổi Địa chỉ trang web (URL) thành domain là được. Sau đó bạn lưu lại và hoàn thành.
Nếu bạn không thể truy cập vào cách site con theo domain thì hãy kiểm tra lại DNS và IP mà domain đó trỏ về đúng chưa nhé.

CHỨNG CHỈ SSL VÀ GIAO THỨC HTTPS CHO DOMAIN WEBSITE CON

Khi sử dụng domain cho website con thì do bản chất các domain website con là alias của domain chính nên domain chính và các domain phụ thêm vào phải chung chứng chỉ SSL nếu bạn cần sử dụng giao thức HTTPS cho các website con.

Nếu bạn dùng Let’s Encrypt tự cài thì có thể tạo chứng chỉ cho nhiều domain với lệnh giống như dưới đây:

/opt/le/letsencrypt-auto certonly –standalone -d thachpham.net -d thachpham.info

Nếu bạn đã có chứng chỉ sẵn rồi và cần thêm domain vào thì dùng lệnh giống dưới đây:

/opt/le/letsencrypt-auto certonly –standalone –agree-tos \
–email contact@thachpham.com \
–expand -d thachpham.net,www.thachpham.net,thachpham.info,www.thachpham.info

Nếu bạn dùng host cPanel có hỗ trợ Let’s Encrypt thì bạn vào mục Let’s Encrypt SSL và ấn nút Reissue hoặc Issue và chọn các alias cần tạo chứng chỉ chung là được.
Khi dùng SSL, hãy nhớ vào Admin Network -> Sites -> All Sites -> Edit website cần thiết lập -> Settings và chọn đường dẫn là https như hình dưới.

Những lỗi thường gặp trong Multisite

Một số lỗi thường xảy ra do cấu hình sai của các subdomain. Hãy chắc chắn rằng máy chủ web của bạn hỗ trợ wildcard subdomain.
Một vấn đề phổ biến nữa là khi sử dụng WordPress multisite với các thư mục con, một số người dùng không thể đăng nhập vào khu vực quản trị của các trang web của họ sau khi họ thêm đoạn mã vào tệp wp-config.php. Để khắc phục điều này, hãy thử thay thế
define(‘SUBDOMAIN_INSTALL’, false);
chèn đoạn code sau vào file wp-config.php
define(‘SUBDOMAIN_INSTALL’, ‘false’);
Hy vọng bài viết này hữu ích với bạn