Hướng dẫn từng bước

Cách bàn giao WordPress site hoàn thiện cho khách mà không bị lock-in

Đội ngũ GrabWP
· 7 min read · Đã kiểm duyệt bởi Đội ngũ GrabWP

Việc xây dựng website cho khách hàng ngay trên hệ thống WordPress của bạn thì rất tiện và nhanh. Nhưng đến khâu bàn giao thì nhiều freelancer lại hay gặp rắc rối. Khách hàng thường muốn website đã hoàn thiện phải chạy trên hosting của họ và do họ kiểm soát, trong khi bạn cũng không muốn làm một nhà cung cấp hosting miễn phí mãi mãi. Nếu quy trình bàn giao lộn xộn, bạn sẽ phải tự mình migrate website thủ công, hì hục sửa các URL bị hỏng và đi trả lời email support cho một dự án mà bạn không còn quản lý nữa.

Bài viết này sẽ hướng dẫn một quy trình bàn giao cực kỳ gọn gàng. Bạn chỉ việc export client site from multi-tenant wordpress thành một file nén duy nhất, gửi nó cho khách hàng, và để họ tự restore lên bất kỳ bản cài WordPress tiêu chuẩn nào mà không bị lock-in. Quy trình này là bước tiếp theo của luồng công việc nhân bản website mẫu, giúp giải quyết bài toán ở đầu còn lại của dự án: tạo website mới cho khách siêu tốc.

Vì sao việc bàn giao thường rất vất vả

Với cách làm truyền thống của freelancer, khâu offboarding thường khó nhằn hơn cả onboarding:

  • Website bị kẹt chung với các dự án khác. Nếu mọi khách hàng đều dùng chung một bản cài đặt, bạn không thể cứ thế xuất database ra mà không làm lộ dữ liệu của người khác.
  • Migrate thủ công rất dễ gặp lỗi. Phải hì hục export file, dump database, sửa lại table prefix, tìm và thay thế domain cũ, rồi ngồi fix đống dữ liệu serialize bằng tay vừa chậm lại vừa dễ sai sót.
  • Bị lock-in khiến cả hai bên đều không vui. Một khách hàng không thể tự do mang website của họ đi nơi khác sẽ khó lòng tin tưởng bạn hoàn toàn. Việc bàn giao suôn sẻ phải là một điểm cộng để chốt sale chứ không phải là gánh nặng.

Mục tiêu của chúng ta là một quy trình hand off wordpress site to client chỉ mất vài phút, gói gọn đúng dữ liệu của một khách hàng, và giúp họ có thể tự chạy website độc lập trên hosting của riêng mình.

Quy trình bàn giao tối giản

Quy trình này gồm hai nửa. Đầu tiên, bạn export đúng một tenant của khách từ hệ thống GrabWP Tenancy Pro của mình. Sau đó, khách hàng sẽ đem file đó đi restore lên bản cài WordPress của họ bằng plugin miễn phí GrabWP Restore.

Bước 1: Export tenant của khách hàng

Export một tenant của khách hàng thành file backup archive trong GrabWP Tenancy

Từ dashboard GrabWP Tenancy Pro của bạn, hãy chạy backup cho đúng tenant mà bạn muốn bàn giao. Tính năng backup tenant của bản Pro sẽ tạo ra một file archive độc lập thông qua quy trình từng bước, bao gồm toàn bộ database, uploads, nội dung và cấu hình của tenant đó. Bạn có thể theo dõi tiến độ hoàn thành thông qua giao diện AJAX trực quan.

Nhờ cơ chế cô lập của mỗi tenant, file export này chỉ chứa đúng dữ liệu website của khách hàng đó và không có gì khác. Bạn không phải đau đầu dump một cái database dùng chung rồi phập phồng ngồi xóa dữ liệu của những người khác đi. Gói gọn một tenant, xuất ra đúng một file archive.

Kết quả bạn nhận được là một file ZIP duy nhất. File này chính là toàn bộ sản phẩm bàn giao của bạn, bao gồm cả database, uploads, plugin và theme cho riêng website đó.

Bước 2: Chuẩn bị bản cài đặt đích cho khách hàng

Khách hàng cần có một bản cài WordPress mới tinh để tiếp nhận website và migrate wordpress site to client hosting một cách trọn vẹn. Bản cài này có thể nằm trên hosting riêng của họ, trên một subdomain, hoặc do nhà cung cấp hosting mới cấp phép (provisioning). Họ không cần phải cấu hình Multisite hay cài GrabWP Tenancy gì cả.

Bạn cần nói rõ với khách hàng một điều: quá trình restore sẽ thay thế toàn bộ website đích. Tính năng này được thiết kế cho các bản cài mới tinh hoặc không dùng đến, chứ không phải dành cho website đang có sẵn nội dung quan trọng mà họ muốn giữ lại.

Bước 3: Restore với plugin miễn phí GrabWP Restore

Import một file archive của tenant vào một website độc lập bằng plugin miễn phí GrabWP Restore

Trên bản cài đặt đích, khách hàng sẽ cài GrabWP Restore, một plugin miễn phí độc lập với nhiệm vụ duy nhất là restore file ZIP export từ GrabWP vào một website WordPress thông thường. Họ chỉ việc vào Tools > GrabWP Restore, upload file ZIP lên, xác nhận rằng họ đã backup các dữ liệu quan trọng trên bản cài đích, và bắt đầu restore.

Ở bên dưới, plugin sẽ tự động xử lý những khâu migrate chán ngắt:

  • Viết lại table prefix để database được import khớp với bản cài đặt đích.
  • Import SQL dạng streaming giúp xử lý các database lớn mà không bị nghẽn bởi giới hạn dung lượng upload.
  • Tìm và thay thế URL trên toàn bộ database, bao gồm cả dữ liệu serialize và dữ liệu mã hóa của theme. Đồng thời, nó tự động cập nhật site URL để đảm bảo mọi đường link và cấu hình đều trỏ về domain mới của khách thay vì địa chỉ tenant cũ của bạn.
  • Chiến lược đổi tên thành .old an toàn giúp đổi tên các thư mục plugin, theme và uploads hiện có của bản cài đích trước khi tiến hành ghi dữ liệu mới. Nhờ vậy, không có dữ liệu nào bị âm thầm xóa mất.

Khi quá trình này kết thúc, khách hàng có thể đăng nhập bằng tài khoản admin từ website đã export. Sau khi kiểm tra mọi thứ hoạt động trơn tru, họ có thể dọn dẹp các thư mục .old còn sót lại.

Bước 4: Kiểm tra và hoàn tất bàn giao

Khi khách hàng xác nhận website đã được restore thành công trên hosting của họ, bạn có thể xóa tenant tương ứng trên hệ thống của mình. Lúc này, khách hàng đã hoàn toàn tự chủ, chạy website trên hạ tầng của họ với tài khoản của riêng họ. Bạn không còn phải đóng vai trò là người cung cấp hosting nữa, và đây chính là điểm mấu chốt của toàn bộ quy trình wordpress freelancer offboarding này.

Vì sao cách này tốt hơn migrate thủ công

Một quy trình migrate thủ công đồng nghĩa với việc bạn phải export file qua SFTP, dump và sửa SQL, căng mắt dò đúng table prefix, và chạy các công cụ tìm kiếm thay thế để fix lỗi URL cũng như dữ liệu serialize. Bất kỳ thao tác nào trong số này cũng có thể làm hỏng website. Tệ hơn nữa là bạn thường phải làm những việc này trực tiếp trên môi trường production trong khi khách hàng đang hối thúc.

Với quy trình export và restore, bạn thu gọn tất cả chỉ còn hai thao tác đơn giản. Bạn export một tenant độc lập, khách hàng restore file archive đó, và những vấn đề hay gây đau đầu nhất như đổi table prefix hay thay URL đều được xử lý tự động. Vì plugin restore hoàn toàn miễn phí và độc lập, nên để chạy được website, khách hàng không bao giờ bị phụ thuộc vào license hay nền tảng multi-tenancy của bạn.

Bàn giao suôn sẻ là một lợi thế cạnh tranh

Việc cung cấp một giải pháp bàn giao gọn gàng, không lock-in sẽ thay đổi cách khách hàng nhìn nhận về bạn. Thay vì lo lắng rằng hợp tác với bạn đồng nghĩa với việc bị trói buộc mãi mãi, họ biết rằng website này là tài sản của họ và có thể di dời bất cứ lúc nào. Sự tin tưởng đó giúp bạn dễ dàng thuyết phục khách hàng chốt dự án hơn, đồng thời biến công đoạn bàn giao thành một điểm nhấn chuyên nghiệp thay vì một mớ bòng bong.

Để xem luồng công việc ở giai đoạn đầu của dự án, bạn có thể tham khảo cách xây dựng một website mẫu và nhân bản cho mọi khách hàng. Việc kết hợp giữa onboarding nhanh chóng và bàn giao sạch sẽ giúp bạn dễ dàng quản lý một lượng lớn website khách hàng trên cùng một bản cài đặt, và chia tay êm đẹp khi dự án kết thúc.

Bạn đang quản lý website cho khách hàng và muốn có tính năng backup cho từng tenant, database riêng biệt cùng quy trình export mạnh mẽ đứng sau bài viết này? Gói Pro có giá bắt đầu từ $9.99/month.

Câu hỏi thường gặp

Tôi có thể giao website cho khách mà không để lộ dữ liệu của các khách hàng khác không?
Có. Bạn chỉ export duy nhất một tenant đó thành một file ZIP nén chứa trọn vẹn database, uploads, plugin và theme của riêng họ. Không có dữ liệu nào của các tenant khác bị lẫn vào, nên khách hàng chỉ nhận được đúng website của họ.
Khách hàng có cần mua bản GrabWP Tenancy Pro để nhận website không?
Không. Khách hàng sẽ dùng GrabWP Restore, một plugin miễn phí độc lập, để import file ZIP export từ GrabWP vào một bản cài WordPress thông thường. Họ không cần license Pro hay hệ thống multi-tenancy của bạn để chạy website sau đó.
Các đường link và URL có bị hỏng khi chuyển sang domain của khách không?
Không. GrabWP Restore sẽ tự động đổi table prefix cho khớp với database đích và quét toàn bộ database để tìm và thay thế URL, kể cả các dữ liệu đã bị serialize. Sau đó plugin sẽ cập nhật site URL tự động để đảm bảo mọi link và cấu hình đều trỏ về domain mới.
Có an toàn khi chạy quy trình này trên một website đang có sẵn nội dung không?
Quá trình restore sẽ ghi đè và thay thế toàn bộ website hiện tại, nên tốt nhất bạn hãy làm trên một bản cài WordPress mới tinh hoặc không quan trọng. Trước khi ghi dữ liệu mới, plugin sẽ đổi tên các thư mục plugin, theme và uploads cũ thành .old để bạn có thể khôi phục lại trạng thái trước đó nếu cần.

Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.