Hết tách lại gộp website: kinh nghiệm rút ra từ việc gộp vài trang WordPress

Hôm nọ tôi có nói về chuyện website Kiến càng từng tách thành 3 trang theo các mảng chuyên khác nhau, lý do là vì các chủ đề tách biệt và cần tạo thương hiệu riêng.

Tuy nhiên việc tách website kéo theo các chi phí gia tăng:

  • Tăng thêm tiền mua tên miền: dù con số này không quá lớn, khoảng vài trăm ngàn / năm.
  • Tăng thêm tiền thuê hosting: so với tiền tên miền thì chi phí thuê hosting có khả năng cao hơn đáng kể, đặc biệt nếu bạn chọn dịch vụ chất lượng cao, vì đa số các dịch vụ như vậy sẽ tính chi phí theo số lượng tên miền mà chúng ta muốn host.
  • Tăng thêm chi phí bất cứ dịch vụ nào tính tiền theo số lượng tên miền, ví dụ như plugin, theme, bảo mật.
  • Cuối cùng là tăng công sức quản trị: bất kể thay đổi nào có khả năng bạn sẽ phải lặp lại thao tác y như vậy cho các website khác. Ví dụ như backup, CDN, DNS, SSL. Ngay cả khi các dịch vụ như vậy miễn phí hoặc giá rẻ, nó thường khá mất công.

Và tất nhiên rồi, khi mọi thứ có dấu hiệu quá tải, tôi nghĩ đến chuyện gộp các website lại cho đỡ mệt mỏi. Hôm nay tôi sẽ nói về cách gộp sao cho đúng bài nhất.

Từ khóa tiếng Anh cho bạn nào muốn tham khảo thêm tài liệu nước ngoài: “How to Merge Two WordPress Sites Together”.


#1. Chuẩn bị

  • Gộp website là thao tác tốn tài nguyên: đặc biệt với trang nhiều bài viết, nhiều tài nguyên media. Lúc gộp CPU tăng lên rất cao, nên nếu dùng VPS, bạn nhớ nâng cấp chỉ số này (dù chỉ là tạm thời, sau đó sẽ quay về gói nhỏ phù hợp / nhiều VPS hiện đại có chức năng nâng chỉ số tạm thời, ví dụ DigitalOcean). Điều này rất quan trọng, vì nếu nó bị “đơ” trong quá trình gộp bạn sẽ rất mất công sửa chữa (điển hình là việc thiếu tài nguyên media).
  • Có sẵn các file backup cho các website: không có gì đảm bảo là việc gộp diễn ra thuận lợi trơn tru 100%, nên bạn cần có các file backup đầy đủ, để sẵn sàng khôi phục hoặc lấy một dữ liệu nào đó khi cần. Tôi hay dùng plugin All in one WP migration để backup hoặc UpdraftPlus, nó rất nhanh và tiện.
  • Nghĩ kỹ về tên miền mà bạn muốn gộp lại làm một: thường nó sẽ là tên miền gốc ban đầu hoặc website hiện đang lớn mạnh nhất của bạn. Quy về trang có chỉ số SEO tốt nhất có khả năng là lựa chọn khôn ngoan nhất, tuy nhiên không có gì tuyệt đối, nếu bạn thích một tên miền nào đó hơn (vì nó đẹp hơn chẳng hạn), thì gộp về đó cũng là lý do chính đáng. Ngoài ra còn một điều nữa nên cân nhắc, quá trình gộp sẽ êm ái hơn nếu bạn gộp các trang “nhẹ” về một trang “nặng”. Chẳng hạn bạn có trang 2GB dữ liệu và hai trang 500MB và 200MB dữ liệu, thì chuyển trang 500MB và 200MB về trang 2GB sẽ dễ dàng hơn cho chúng ta.

#2. Thực hiện một số kiểm tra về tính tương thích

Các website sau khi tách ra có thể đi theo các hướng phát triển khác nhau, nó cài nhiều plugin khác biệt. Nhưng khi quy về một mối nó sẽ dùng chung nền tảng, vì thế bạn cần kiểm tra xem các khác biệt có tương thích không. Ví dụ plugin bài viết liên quan, mục lục, CSS tùy chỉnh,… trên từng website sẽ ảnh hưởng trực tiếp đến chức năng và giao diện của trang sẽ tác động như thế nào khi gộp lại. Trong nhiều trường hợp bạn sẽ phải chọn plugin khác phù hợp với tất cả hoặc/và cài thêm plugin cho trang đích (nhưng không cài hai plugin cho cùng mục đích trên một trang duy nhất).

Một việc có thể hơi nhỏ nhưng đáng quan tâm là kiểm tra tên các thư mục có trùng nhau không, ý tôi là tên dạng URL, bởi trên các trang khác nhau bạn có thể gán cho nó các ý nghĩa khác nhau. Ví dụ tôi viết về CSS vs JS trên hai website, nhưng một cái là vấn đề về tối ưu tốc độ cho trang, còn một cái về lập trình, URL mà tôi để trên hai website giống nhau, nhưng khi gộp tôi sẽ phải sửa lại để tránh sai ý nghĩa khi chúng cùng nằm trên một website.


#3. Thống kê trước các thông tin của từng website

Cụ thể thì bạn cần nắm các thông tin sau của từng trang:

  • Số lượng post, page.
  • Số lượng comment.
  • Số lượng tài nguyên media (thường là ảnh).
  • Số lượng categories (thư mục), tags (thẻ).

Thông tin này để làm gì? Nó sẽ giúp bạn dự đoán được việc gộp có chính xác không, bởi website sau khi gộp phải có số lượng post, page, tài nguyên media, categories, tags bằng tổng các trang thành viên (nếu chúng không bị trùng nhau, ví dụ mỗi ảnh trên mỗi trang là duy nhất, hay nói cách khác không có ảnh cùng tên abc.jpg nào đó nằm trong hai trang).


#4. Các bước gộp website

Giả sử bạn định gộp trang A về trang B.

  • Ở website A, bạn vào Tools > Export (tính năng có sẵn của WP, bạn không cần cài thêm plugin nào), chọn All content (tất cả nội dung), rồi nhấn Download Export File. Nó sẽ tải xuống file XML, tùy theo dung lượng của trang mà nó sẽ nặng từ vài trăm KB cho đến vài chục MB. Ủa, sao nhẹ vậy? Có gì sai chăng? Không bạn đừng lo, nó nhẹ vậy vì nó chỉ chứa dữ liệu text và bao gồm đường link ảnh. Sau khi nhập vào website B, nó mới tải các ảnh này thông qua link ảnh trong dữ liệu.
  • Ở website B, bạn vào Tools > Import > Install Now chỗ WordPress > Run Importer > chọn tệp > Upload file and Import.
  • Có hai lựa chọn cho Import author: một là bạn gán bài viết từ trang A chuyển đến cho một user mới của website, hai là bạn gán bài viết cho user hiện đang có trên website.
  • Rất quan trọng ở phần Import Attachments, bạn nhớ tick chọn thì nó mới tải tài nguyên media từ trang A về trang B được. Nếu dung lượng lớn, quá trình import có thể khá lâu.
  • Sau khi import xong, bạn thấy chữ All done. Have fun! nghĩa là bạn xong việc rồi đó.

Một số lưu ý:

  • Bạn có thể up lại chính file XML đó sau lần run đầu tiên để dự phòng trường hợp lần run đầu nó chưa chạy hết. Với dữ liệu lần run đầu đã nạp vào, thì lần run thứ hai sẽ biết và không nạp lại nữa nên chúng ta không sợ trùng dữ liệu.
  • Bạn hoàn toàn có thể gộp nhiều website hơn về cùng một trang. Ví dụ tôi có cả website C và tôi cũng muốn gộp về B thì tôi làm hoàn toàn tương tự.

#5. Chuyển hướng 301 từ website A về website B

Cách đơn giản nhất là thông qua chỉnh file .htaccess, để redirect tên miền cũ về tên miền mới. Bên dưới là mã mẫu, bạn nhớ thay tenmiencuaban.com bằng tên miền thực tế của bạn (website B).

#Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ https://tenmiencuaban.com/$1 [R=301,L]

Thao tác này sẽ đảm bảo SEO cho bạn, sau một thời gian, các chỉ mục sẽ xuất hiện trên máy tìm kiếm. Trong một số trường hợp, để tiết kiệm, sau một thời gian chúng ta sẽ hủy không gia hạn tiếp tên miền cũ nữa. Nhưng để an toàn cho SEO (và cho cả người truy cập cũ của bạn), tôi khuyên bạn nên để tối thiểu 12 tháng từ lúc chuyển thì mới hủy.


#6. Những rắc rối có thể xảy ra

A. Thiếu bài viết, categories, tags

Điều này hiếm khi xảy ra, vì việc chuyển, gộp dữ liệu văn bản diễn ra hết sức thuận lợi. Tuy nhiên nó vẫn có thể xảy ra nếu bạn để trùng URL, tức là các bài, thư mục, tags trùng URL. Cá nhân tôi không bị chuyện này nên không rõ thực tế WP sẽ xử lý thế nào, có khả năng nó sẽ tạo đường dẫn mới, tuy nhiên như vậy sẽ ảnh hưởng đến SEO và nhầm lẫn nội dung (khách định truy cập vào bài xyz trên website B nhưng lại vào bài xyz có đường dẫn giống thế trên website A) do vậy tốt nhất nên kiểm tra kỹ từ đầu, dù việc trùng có thể rất thấp.

B. Thiếu nội dung media

Đây là lỗi thường gặp! Nguyên nhân là vì media là tài nguyên có dung lượng lớn, và việc truyền tải có thể không thuận lợi. Ngay cả khi bạn cộng media của hai trang lại thấy khớp, chưa chắc nó đã tải hết (ngược lại, nếu bạn cộng mà thấy thiếu thì gần như chắc chắn là nó không tải về hết!). Trong phần tiếp theo tôi sẽ chỉ cách khắc phục.

C. Lỗi giao diện

Bạn thấy nội dung trên website B không giống trên website A ở cùng bài viết. Cái này khả năng cao do website B chưa cài plugin nào đó mà website A dùng trước đây để tạo nội dung, bạn chỉ cần cài lại và có các setting giống như ban đầu là hầu hết sẽ khắc phục được.

Giờ chúng ta sẽ nói về lỗi khó chịu nhất và cách sửa.


#7. Sửa lỗi thiếu tài nguyên media

Trước tiên chúng ta cần biết nó thiếu tài nguyên gì. Plugin mà tôi khuyên dùng là Borken Link Checker, nó sẽ tìm tất cả các liên kết gãy trên trang, bao gồm cả liên kết nội bộ website (html, ảnh, vv) và liên kết ngoài. Phần này ta tập trung vào liên kết nội bộ, chủ yếu là ảnh, vì bài viết thì hiếm khi nó gộp thiếu.

Ví dụ, sau khi gộp nó phát hiện tôi có rất nhiều ảnh bị thiếu (404 Not Found – tài nguyên ở website A đã không chuyển về website B):

lỗi ảnh khi gộp website

Nếu quy mô lớn thì thường nó sẽ có quy luật, như hình trên, bạn có thể thấy tôi mất thư mục ảnh cho một tháng cụ thể trong năm, do vậy cách sửa dễ nhất là vào thư mục wp-content của website cũ, lấy thư mục ảnh này và up nó ngược lên website mới (bằng phần mềm FTP như FileZilla chẳng hạn), nó sẽ đỡ mất công hơn nhiều vào từng bài sửa.

Lưu ý:

(1) Broken Link Checker có thể mất đến 12 tiếng để kiểm tra khoảng 10 ngàn liên kết (trong một website cỡ 1000 bài viết). Bạn nên chịu khó đợi nó kiểm tra xong rồi sửa cả lượt. Thời gian hoàn thành nhanh hay chậm còn phụ thuộc vào sức mạnh của máy chủ web của bạn. Nếu máy chủ web đủ khỏe, bạn có thể vào phần setting của plugin để nâng chỉ số cho phép ảnh hưởng đến máy chủ, mặc định là 25%, bạn có thể nâng nó lên thành 35 – 40% nếu OK.

(2) Sau khi BLC tìm ra đầy đủ các liên kết gãy (và cả những cái như chuyển hướng), nếu muốn lọc nhanh các URL bị gãy (404) bạn nên dùng tính năng search của Broken Link Checker (góc ngoài cùng bên trên tay phải) để lọc ra những thứ có từ trang của bạn:

tìm kiếm nhanh các liên kết gãy

Trong trường hợp vào từng bài sửa, có mẹo là bạn dùng plugin Auto Upload Images. Bạn sửa lại đường link ảnh thành website cũ, sau đó nhấn Save để lưu bài viết, plugin sẽ tự động tải các ảnh này về website mới và thay thế chúng vào đường dẫn.

Cuối cùng, sau khi sửa xong các tài nguyên media, bạn hãy để plugin Broken Link Checker kiểm tra lại lần nữa, để nó phát hiện những cái còn bỏ sót. Khi mọi thứ hoàn tất thì bạn nên vô hiệu hóa BLC đi, vì đây là plugin ăn tài nguyên, chỉ dùng vào vài dịp trong năm thôi.

PS: vì lỗi thiếu tài nguyên media hay gặp, bạn nên đợi khắc phục xong hãy bật CDN (nếu website của bạn có dùng).


#8. Các cách khác khi muốn tìm liên kết gãy?

Các công cụ trực tuyến tìm quét liên kết nhanh hơn plugin nhưng thường có giới hạn, do vậy các kiểm tra sẽ không toàn diện:

  • Ví dụ deadlinkchecker.com có tốc độ kiểm tra rất nhanh, nhưng giới hạn 2000 liên kết, một con số tương đối nhỏ so với website đã phát triển.
  • Hay như brokenlinkcheck.com có khả năng tìm kiếm tới 3000 trang (một trang có thể bao gồm nhiều liên kết), tức về mặt số lượng có thể đáp ứng được hầu hết các website, nhưng lại không tìm các liên kết gãy dạng ảnh, mà đây lại là vấn đề hay gặp khi gộp website.

Nếu bạn đang dùng phần mềm SEO mạnh như Screaming Frog, thì đây sẽ là công cụ vừa nhanh, vừa đầy đủ để tìm các liên kết gãy trên trang.


#9. Đợi các thông báo từ Google Search Console Tools

Gộp trang là hoạt động tác động mạnh đến nội dung của website. Có thể có hàng ngàn liên kết mới xuất hiện trên website “về chung một nhà”, do vậy bạn cần để ý đến các báo cáo từ công cụ quản trị tìm kiếm của Google. Nó sẽ phát hiện các vấn đề có thể xuất hiện trên trang, bao gồm (nhưng không giới hạn):

  • Các liên kết 404;
  • Các liên kết bị chặn chỉ mục;

Dĩ nhiên là chúng ta sẽ cố gắng phát hiện các vấn đề sớm bằng công cụ khác (như mấy cái kiểm tra liên kết gãy ở trên) rồi sửa luôn, nhưng không phải mọi cái sẽ đều tìm ra được ngay và luôn.

Hy vọng là với các chia sẻ này bạn sẽ đỡ vất vả hơn khi gộp website lại với nhau. Xin chào & hẹn gặp lại.

Leave a Comment