Hỏi cách import dữ liệu lớn vào wordpress

Discussion in 'Thảo Luận Chung' started by PhamThang, Dec 19, 2022.

  1. PhamThang

    PhamThang Tân Thủ Thôn

    website em giờ cũng khá nhiều bài viết, từ trước giờ em vẫn làm file xml import dữ liệu dần vào web bằng chức năng import mặc định của wordpress. Nhưng giờ khi database nặng dần thì import rất khó khăn. Trước thì em chia 1 file xml là 20 post thì import đều ok, nhưng dần dần lại phải giảm xuống chia còn 15 post một file xml. Nó import được lúc là cloudflare báo về lỗi 503 thì phải, kiểu chờ phản hồi lâu quá. Web nào database còn nhẹ thì ko thấy lỗi này. Tuy rằng querry đó vẫn chạy và import đủ bài nhưng em thấy nó bị lâu hơn bình thường, mà mỗi lần import cả mấy trăm bài nên cứ từ từ import thấy lâu quá. Các bác trên này toàn thấy import toàn cả triệu post thì là các bác làm như nào vậy. Ai biết chia sẻ em với.

    Rất cảm ơn các bác đã hướng dẫn, và cuối cùng mình đã sử dụng phương pháp dùng plugin WP All Import. Tiện đây mình cũng chia sẻ luôn plugin này bản pro mới nhất dùng cho import dữ liệu:

    https://www.mediafire.com/file/f3aj23h4scivqti/wp-all-import-pro.zip/file

    Để sử dụng mọi người cần tạo ra 1 file xml có cấu trúc như sau:

    <?xml version="1.0" encoding="UTF-8"?>
    <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:wp="http://wordpress.org/export/1.2/" version="2.0">
    <channel>
    <item>
    <title><![CDATA[Nội dung title]]></title>
    <content><![CDATA[Nội dung content]]></content>
    <category><![CDATA[Tên category]]></category>
    <tag><![CDATA[Nội dung thẻ Tag1, Nội dung thẻ Tag2, ...]]></tag>
    <slug><![CDATA[Nội dung slug]]></slug>
    <rank_math_permalink><![CDATA[KeywordA]]></rank_math_permalink>
    <rank_math_focus_keyword><![CDATA[Keyword A, Keyword B,...]]></rank_math_focus_keyword>
    </item>
    ....
    ....
    <channel>
    </rss>

    Sau đó sử dụng plugin trên và upload file xml của mọi người lên. Kéo thả các thẻ tương ứng giống như hình dưới đây:

    Lưu ý: các bác nên lưu lại mẫu template này vào plugin để lần sau ko phải kéo thả nữa.

    [​IMG]

    Chuyển sang Step 4, click auto detect, với kiểu nhận dạng là Title bài viết, lựa chọn option là import 5 bài 1 lần hoặc có thể nhiều hơn tùy theo nhu cầu của mỗi người.

    Các bác nên dùng thêm 1 plugin hỗ trợ tạo ảnh đầu tiên trong bài viết làm ảnh bìa thì khi import xong sẽ có sẵn ảnh bìa, còn không thì các bác tự cấu hình thêm vào file xml.
     
    Last edited: Dec 20, 2022
    Mochiru likes this.
  2. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Tự viết script riêng để import hoặc import trực tiếp bằng file csv
     
  3. PhamThang

    PhamThang Tân Thủ Thôn

    import bằng csv đỡ hơn hả bác. Còn vụ viết script riêng thì cái này em lại ko biết làm rồi
     
  4. Nai

    Nai MiddleMan Staff Member

    Dùng plugin Wpallimport thử xem. Nếu vẫn chậm thì dùng API. Mà vẫn chậm nữa thì nghiên cứu database wordpress rồi import qua ssh là nhanh nhất
     
    PhamThang likes this.
  5. PhamThang

    PhamThang Tân Thủ Thôn

    @Nai bác có thể hướng dẫn cách sử dụng API hoặc import qua ssh được không ?
     
  6. Nai

    Nai MiddleMan Staff Member

    Mochiru and PhamThang like this.
  7. Tạ hơi nặng

    Tạ hơi nặng Bang Chúng

    E mới import 500k post xong

    Bật screen lên cho nó chạy, chia data ra chừng 500mb 1 file
     
    PhamThang likes this.
  8. chamchich

    chamchich Sơ Nhập Giang Hồ

    Khi database lớn, bác cần chia nhỏ ra, em nhớ có script, bác tìm lại xem.
     
  9. Nai

    Nai MiddleMan Staff Member

    Em tưởng cụ chơi hệ hơn hơn chục nghìn post thôi chứ, hahaha
     
  10. PhamThang

    PhamThang Tân Thủ Thôn

    Bác cho em hỏi là tại sao trên forum em thấy có nhiều người import toàn 500k-1 triệu post vào web, data đó là data dữ liệu cũ hả bác, có xào nấu gì ko mà thấy các bác như là từ 1 data lớn rồi clone ra nhiều web hay sao vậy, với dữ liệu cũ và clone ra nhiều web thế mà site vẫn lên hả bác
     
  11. Tạ hơi nặng

    Tạ hơi nặng Bang Chúng

    Chắc có 2-3 site lớn vậy chứ e có site vài k post thui nai @@
    cả mấy chục triệu post cũng có nhé, e là bét bảng forum rồi
     
  12. PhamThang

    PhamThang Tân Thủ Thôn

    Nhưng những web triệu post của bác là data đó là cũ hay mới vậy, mỗi ngày bác publish có nhiều ko
     
  13. longhcm

    longhcm Sơ Nhập Giang Hồ

    Chia sẻ thêm cái này đi ACE
     
  14. Nai

    Nai MiddleMan Staff Member

    Ko nói tới site ecommerce. Chỉ nói tới việc đăng bài viết lên wordpress thì bác sẽ cần import Post bao gồm:
    Title, content, desc, tags, categories và featured image
    1/ Title, content, desc sẽ nằm trong table nào?
    2/ Tags, categories sẽ nằm trong table nào?
    3/ Table nào để tạo quan hệ cho 1/ và 2/ với nhau?

    Riêng featured imaged thì khỏi tìm hiểu vì có thể dùng code mặc định lấy ảnh đầu tiên làm thumb luôn nên sẽ tiết kiệm data cũng đỡ nhức đầu phần này.
    Sau khi trả lời 3 câu trên xong rồi thì tiến hành gen data sang file .mysql rồi import thôi.
     
  15. Tạ hơi nặng

    Tạ hơi nặng Bang Chúng

    Site đó từ 2020 rồi bác

    500k post thui, hồi đầu bơm ít bài, sau này publish cả cũng được
     
  16. PhamThang

    PhamThang Tân Thủ Thôn

    Thế hiện giờ bác còn làm các web số lượng post nhiều vậy nữa ko, hay ít hơn rồi
     
  17. Tạ hơi nặng

    Tạ hơi nặng Bang Chúng

    ko còn nhé bro, giờ làm có lên đâu mà làm lớn chi :D chừng vài trăm tới 1k post thui
     
    PhamThang likes this.
  18. wpresources

    wpresources Bang Chúng

    Import bằng cách của thớt khá phức tạp.Cột content lưu trong xml rất dễ bị lỗi nếu có ký tự đặc biệt.Để dễ dàng thì cứ lưu dữ liệu thành dạng sql(sql chuyển sang csv cũng rất dễ dàng vì các tool sql đa phần đều có) hoặc csv.

    Nếu dùng csv để import thì học qua cái "load infile mysql" nhìn phức tạp nhưng làm thử thì không khó lắm đâu.
     
  19. PhamThang

    PhamThang Tân Thủ Thôn

    Ai dùng được thì dùng thôi, mình cũng chỉ chia sẻ lại cách mình dùng, còn về sql thì bên wordpress mình thấy các bảng nó rối quá, nên cũng ngại sử dụng. Bạn có thể chia sẻ 1 file sql dùng để import 1 bài viết dạng draf mà có sử dụng rankmath được không ?
     
  20. wpresources

    wpresources Bang Chúng

    Mình chỉ gợi ý thôi.Wordpress không phù hợp với mình nên không có