Di chuyển WordPress từ subdomain lên root domain đúng cách

1 ngày ago, Hướng dẫn WordPress, Views
Di chuyển WordPress từ subdomain lên root domain đúng cách

Giới thiệu về việc chuyển WordPress từ Subdomain lên Root Domain

Việc di chuyển website WordPress từ subdomain (ví dụ: blog.example.com) lên root domain (ví dụ: example.com) là một công việc phổ biến, đặc biệt khi bạn bắt đầu mở rộng quy mô website hoặc muốn cải thiện SEO. Quá trình này đòi hỏi sự cẩn trọng để đảm bảo dữ liệu không bị mất mát và website hoạt động trơn tru sau khi chuyển đổi. Bài viết này sẽ cung cấp hướng dẫn chi tiết từng bước để bạn có thể thực hiện việc chuyển đổi một cách chính xác.

Chuẩn bị trước khi di chuyển

Trước khi bắt đầu quá trình di chuyển, bạn cần thực hiện một số chuẩn bị quan trọng để giảm thiểu rủi ro và đảm bảo thành công.

  • Sao lưu (Backup) toàn bộ website: Bao gồm cơ sở dữ liệu (database) và các file trên server. Điều này cực kỳ quan trọng để bạn có thể khôi phục lại website trong trường hợp có sự cố xảy ra.
  • Tạo bản sao (staging site): Tốt nhất là bạn nên tạo một bản sao của website trên một môi trường thử nghiệm để thực hiện di chuyển trước. Điều này giúp bạn kiểm tra mọi thứ hoạt động tốt trước khi thực hiện trên website chính thức.
  • Xác minh quyền truy cập: Đảm bảo bạn có quyền truy cập đầy đủ vào cả subdomain và root domain, bao gồm quyền truy cập vào hosting, database và quản lý DNS.

Các bước thực hiện di chuyển WordPress từ Subdomain lên Root Domain

Dưới đây là các bước chi tiết để di chuyển website WordPress từ subdomain lên root domain:

Bước 1: Sao lưu dữ liệu website

Sử dụng một plugin sao lưu WordPress phổ biến như UpdraftPlus, BackupBuddy hoặc BlogVault để tạo bản sao lưu đầy đủ của website. Đảm bảo bạn tải bản sao lưu này xuống máy tính cá nhân để đề phòng trường hợp cần thiết.

Bước 2: Di chuyển các file WordPress lên Root Domain

Có nhiều cách để di chuyển các file WordPress lên root domain:

  • Sử dụng FTP: Kết nối đến server bằng FTP client (ví dụ: FileZilla) và tải tất cả các file từ thư mục subdomain lên thư mục root domain.
  • Sử dụng File Manager trên hosting: Hầu hết các hosting provider đều cung cấp File Manager. Bạn có thể sử dụng nó để di chuyển các file từ thư mục subdomain sang thư mục root domain.
  • Sử dụng SSH: Nếu bạn có quyền truy cập SSH, bạn có thể sử dụng lệnh `mv` để di chuyển các file. Ví dụ: `mv /home/user/public_html/subdomain/* /home/user/public_html/`.

Lưu ý: Thư mục root domain thường là `public_html` hoặc `www`. Hãy chắc chắn bạn di chuyển các file vào đúng thư mục.

Bước 3: Xuất và Nhập Cơ sở dữ liệu (Database)

Bạn cần xuất cơ sở dữ liệu từ subdomain và nhập vào cơ sở dữ liệu mới (hoặc đã có) của root domain.

  1. Xuất cơ sở dữ liệu: Sử dụng phpMyAdmin (thường có sẵn trong cPanel) để xuất cơ sở dữ liệu của subdomain. Chọn định dạng SQL.
  2. Tạo cơ sở dữ liệu mới (nếu cần): Tạo một cơ sở dữ liệu mới trên hosting cho root domain. Ghi lại tên cơ sở dữ liệu, username và password.
  3. Nhập cơ sở dữ liệu: Sử dụng phpMyAdmin để nhập file SQL bạn vừa xuất vào cơ sở dữ liệu của root domain.

Bước 4: Cập nhật thông tin Database trong file wp-config.php

File `wp-config.php` chứa thông tin kết nối đến cơ sở dữ liệu. Bạn cần cập nhật file này với thông tin cơ sở dữ liệu mới của root domain.

Mở file `wp-config.php` (nằm trong thư mục root domain) và tìm các dòng sau:

define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );

Thay thế các giá trị này với thông tin cơ sở dữ liệu mới.

Bước 5: Cập nhật URL website trong Database

Bạn cần cập nhật các URL trong cơ sở dữ liệu để trỏ đến root domain. Có nhiều cách để thực hiện việc này:

  • Sử dụng phpMyAdmin: Chạy các truy vấn SQL để cập nhật các bảng `wp_options` và `wp_posts`.
  • Sử dụng WP-CLI: Nếu bạn có quyền truy cập WP-CLI, bạn có thể sử dụng lệnh `wp search-replace` để thay thế URL.
  • Sử dụng plugin: Có nhiều plugin như Better Search Replace giúp bạn thực hiện việc này một cách dễ dàng.

Ví dụ sử dụng plugin Better Search Replace:

  1. Cài đặt và kích hoạt plugin Better Search Replace.
  2. Truy cập Tools -> Better Search Replace.
  3. Nhập URL của subdomain (ví dụ: `blog.example.com`) vào ô “Search for”.
  4. Nhập URL của root domain (ví dụ: `example.com`) vào ô “Replace with”.
  5. Chọn tất cả các bảng.
  6. Bỏ chọn “Run as dry run?”.
  7. Nhấn “Run Search/Replace”.

Quan trọng: Luôn sao lưu database trước khi thực hiện bất kỳ thay đổi nào.

Bước 6: Cập nhật file .htaccess

File `.htaccess` (nằm trong thư mục root domain) chứa các quy tắc rewrite URL. Bạn có thể cần cập nhật file này để đảm bảo các liên kết hoạt động đúng cách.

Thông thường, WordPress sẽ tự động cập nhật file `.htaccess` khi bạn thay đổi permalinks. Tuy nhiên, bạn nên kiểm tra lại để đảm bảo không có lỗi.

Để kiểm tra file `.htaccess`, hãy vào Settings -> Permalinks và lưu lại permalinks. Điều này sẽ buộc WordPress cập nhật file `.htaccess`.

Bước 7: Cập nhật DNS records

Bạn cần cập nhật các DNS records (A record và CNAME record) để trỏ domain về server mới. Thời gian cập nhật DNS có thể mất từ vài phút đến 48 giờ (propagation time).

  • A record: Trỏ root domain (example.com) đến địa chỉ IP của server.
  • CNAME record: Trỏ `www` subdomain (www.example.com) đến root domain (example.com).

Liên hệ với nhà cung cấp domain của bạn để được hướng dẫn chi tiết về cách cập nhật DNS records.

Bước 8: Kiểm tra và Test website

Sau khi hoàn thành các bước trên, hãy kiểm tra kỹ lưỡng website để đảm bảo mọi thứ hoạt động đúng cách.

  • Kiểm tra tất cả các trang và bài viết.
  • Kiểm tra các liên kết nội bộ và liên kết ngoài.
  • Kiểm tra các form liên hệ và chức năng tìm kiếm.
  • Kiểm tra tốc độ tải trang.
  • Kiểm tra khả năng tương thích trên các trình duyệt và thiết bị khác nhau.

Bước 9: Thiết lập Redirect 301

Để đảm bảo SEO không bị ảnh hưởng, bạn cần thiết lập redirect 301 từ subdomain sang root domain. Điều này sẽ thông báo cho các công cụ tìm kiếm rằng website đã được chuyển đến một địa chỉ mới.

Bạn có thể thiết lập redirect 301 bằng cách thêm đoạn code sau vào file `.htaccess` của subdomain:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

Thay thế `blog.example.com` bằng tên subdomain của bạn và `example.com` bằng tên root domain của bạn.

Kết luận

Việc chuyển website WordPress từ subdomain lên root domain đòi hỏi sự chuẩn bị kỹ lưỡng và thực hiện cẩn thận từng bước. Bằng cách làm theo hướng dẫn chi tiết trong bài viết này, bạn có thể thực hiện việc chuyển đổi một cách thành công và đảm bảo website của bạn hoạt động trơn tru sau khi di chuyển. Luôn nhớ sao lưu dữ liệu trước khi thực hiện bất kỳ thay đổi nào và kiểm tra kỹ lưỡng sau khi hoàn thành.