Trang chủ » Làm sao để duplicate page WordPress?

Làm sao để duplicate page WordPress?

by KDATA

Nội dung trùng lặp không phải là điều bạn muốn có thường xuyên trên trang web của mình. Tuy nhiên, tạo các bản sao của trang – tức là duplicate page WordPress – để đảm bảo tính nhất quán là một thói quen thông minh. Mối quan tâm duy nhất của bạn là làm cách nào để thực hiện điều đó.

Làm sao để duplicate page WordPress?

May mắn thay, có một số cách để nhân bản một trang trong WordPress, điều này rất phù hợp cho một nền tảng linh hoạt như vậy. Hơn nữa, có một phương pháp phù hợp, bất kể kinh nghiệm của bạn.

Trong bài viết này, chúng ta sẽ xem qua bốn cách để nhân bản trang trong WordPress. Tuy nhiên, trước khi bắt đầu, hãy tìm hiểu lý do tại sao bạn muốn làm điều này ngay từ đầu.

BlackFriday2024

Sự khác biệt giữa nhân bản trang trong WordPress và nội dung trùng lặp

Trước khi đi vào lý do cụ thể, đáng để thảo luận sự khác biệt giữa việc nhân bản trang trong WordPress và nội dung trùng lặp.

Nội dung trùng lặp liên quan đến tối ưu hóa công cụ tìm kiếm (SEO). Nội dung trùng lặp có nghĩa là phần lớn hoặc tất cả nội dung trên một trang trên trang web của bạn hoàn toàn giống với một trang khác trên web. Mặc dù đây có thể là một yếu tố tiêu cực, công cụ tìm kiếm thường không phạt bạn ngay lập tức vì điều này.

Tuy nhiên, điều này khác với “nội dung sao chép”, đây là một nỗ lực rõ ràng để “gian lận” công cụ tìm kiếm và xếp hạng cao hơn. Hình phạt cho việc này nghiêm trọng hơn nhiều vì nó bị coi là hành động cố ý.

Ngược lại với tất cả những điều trên, việc nhân bản trang chỉ đơn giản là sao chép định dạng, cấu trúc, bố cục và nội dung. Ý tưởng là sử dụng trang được nhân bản này làm nền tảng cho một trang mới và sẽ không ảnh hưởng đến SEO nếu sử dụng vì lý do này. Hãy cùng bàn về lý do bạn muốn làm điều này ở phần tiếp theo.

Lý do bạn muốn nhân bản trang trong WordPress

Thành thật mà nói, bạn có thể sẽ biết khi nào bạn cần nhân bản một trang trong WordPress. Tuy nhiên, phương pháp hiện tại của bạn trong việc tạo bài đăng và trang có thể sẽ hiệu quả hơn với một cách tiếp cận nhanh chóng hơn. Ví dụ:

  • Bạn có một bố cục cụ thể trong tâm trí cho trang hiện tại mà có thể tìm thấy ở nơi khác trên trang của bạn.
  • Bạn có thể tạo các “bản nháp” của trang mà bạn thường sử dụng lại khi tạo nội dung mới (ví dụ, các bài đăng trên blog).
  • Có HTML hoặc CSS tùy chỉnh trong một bố cục mà bạn muốn sử dụng trong một trang mới.
  • Bạn có thể muốn làm việc trên phiên bản mới của một trang và không có chức năng thử nghiệm (staging) để thực hiện (mặc dù có những cách tốt hơn để làm điều này).

Tất cả những tình huống này đều có thể được thực hiện nhanh hơn bằng cách nhân bản trang của bạn. Do đó, hãy xem qua các giải pháp mà chúng tôi khuyến nghị trong phần tiếp theo.

Cách duplicate page WordPress (4 phương pháp)

Trong bốn phương pháp dưới đây, chúng tôi sẽ đi từ dễ đến khó vừa phải, tùy thuộc vào kinh nghiệm của bạn. Dưới đây là những gì chúng tôi sẽ đề cập:

  • Cách sao chép và dán nội dung của bạn thủ công (và lý do tại sao không nên).
  • Sử dụng Trình Soạn Thảo Khối để sao chép nội dung.
  • Cài đặt plugin để nhân bản trang.
  • Thêm mã vào tệp functions.php để nhân bản trang.

Khi hoàn thành, chúng tôi sẽ đưa ra một số lời khuyên để bạn lựa chọn cách tốt nhất để nhân bản trang trong WordPress.

1. Sao chép và dán nội dung thủ công (và lý do tại sao không nên)

Đầu tiên, hãy nói về cách tiếp cận truyền thống mà nhiều người sẽ chọn. Cách làm “thô” để nhân bản trang trong WordPress là chỉ cần sao chép nội dung và dán vào một bản nháp mới.

Nếu bạn thấy cách này quá dễ dàng, có thể bạn thuộc một trong các trường hợp sau:

  • Trang web của bạn có ít trang và sử dụng ít trường SEO hoặc phân loại.
  • Trang mà bạn muốn nhân bản không thể truy cập từ giao diện quản trị của trang web.
  • Bạn chưa tìm ra cách nhanh hơn.

Nếu bạn đồng ý với hai điểm đầu tiên, thì sao chép và dán có thể là cách tốt nhất để tiến hành.

Tuy nhiên, mặc dù việc sao chép và dán thủ công là đơn giản và dễ thực hiện, có một số nhược điểm. Cách tiếp cận này sẽ không sao chép chính xác hình ảnh, các loại chuyên mục và thẻ, mô tả meta, liên kết cố định, hoặc bất kỳ yếu tố ẩn nào của trang web như HTML tùy chỉnh.

Bước 1. Sao chép văn bản từ bài viết gốc

CTRL-A là phím tắt của bạn ở đây, và các bước thực hiện cũng không phức tạp:

  • Truy cập trang web.
  • Chọn và sao chép văn bản.
  • Dán vào bản nháp mới.

Điều này nên dễ dàng thực hiện ngay cả với những người ít am hiểu về công nghệ nhất. Tuy nhiên, bước tiếp theo sẽ hơi phức tạp hơn.

Bước 2. Loại bỏ thẻ HTML

Lưu ý rằng tùy thuộc vào bài viết gốc và bài viết mới, bạn có thể cần áp dụng lại các định dạng tiêu đề và cũng loại bỏ các thẻ HTML không cần thiết từ phần quản trị. Để làm điều này, truy cập vào trình soạn thảo mã của trang sau khi đã sao chép nội dung. Người dùng Classic Editor nên nhấp vào tab “Text”…

Sao chép và dán nội dung thủ công (và lý do tại sao không nên)

…và người dùng Block Editor sẽ muốn đi đến phần Code editor:

Sao chép và dán nội dung thủ công (và lý do tại sao không nên)

Từ đây, bạn nên loại bỏ các thẻ hoặc <span> mà bạn tìm thấy. Lời khuyên của chúng tôi là hãy xem một trang không bị nhân bản và làm theo cấu trúc và bố cục của mã.

Với khối lượng công việc, phương pháp này có thể mất thời gian cho nhiều trang và mỗi lần sao chép thủ công đều có khả năng gây ra lỗi.

Thay vào đó, tốt hơn là cân nhắc một trong những phương pháp khác trong danh sách này nếu bạn muốn nhân bản trang trong WordPress một cách nhanh chóng mà không gặp lỗi và mất thời gian.

2. Xem xét việc sử dụng chức năng của Trình chỉnh sửa khối để giúp bạn nhân bản trang

Sử dụng Trình chỉnh sửa khối để nhân bản trang trong WordPress là một phương pháp “bán thủ công”, vì hầu hết các nhược điểm vẫn còn tồn tại.

Tuy nhiên, nếu bạn có một trang trên trang web WordPress của mình mà bạn muốn nhân bản, hãy mở trang đó và nhìn vào menu Công cụ & Tùy chọn ở góc trên bên phải của màn hình:

Xem xét việc sử dụng chức năng của Trình chỉnh sửa khối để giúp bạn nhân bản trang

Sau khi mở menu này, di chuyển đến phần Công cụ và nhấp vào Sao chép tất cả nội dung. Từ đây, bạn có thể dán nội dung vào một bản nháp mới và bắt đầu chỉnh sửa nó. Tuy nhiên, đây vẫn chưa phải là cách hiệu quả nhất để duplicate page WordPress.

3. Sử dụng plugin để duplicate page WordPress

Hầu hết mọi thứ trong WordPress đều có thể thực hiện được bằng plugin, và việc nhân bản trang cũng không ngoại lệ.

Việc đầu tiên của bạn ở đây là chọn một plugin phù hợp. Bạn sẽ muốn tìm các plugin được cập nhật trong vòng sáu tháng qua, hoạt động với phiên bản WordPress của bạn và có đánh giá tốt (ít nhất là bốn sao).

Có một vài plugin được đề xuất ở đây. Yoast Duplicate Post và Duplicate Page hoặc Post đều được đánh giá cao và được bảo trì thường xuyên. Tuy nhiên, chúng tôi sẽ đưa ra ví dụ với plugin Duplicate Page, vì nó có lẽ là giải pháp tốt nhất hiện có:

Sử dụng plugin để duplicate page WordPress

Sau khi cài đặt và kích hoạt, vào màn hình Pages > All Pages trong WordPress. Tại đây, di chuột qua trang bạn muốn nhân bản và tìm liên kết Duplicate This:

Sử dụng plugin để duplicate page WordPress

Nhấp vào đây sẽ sao chép trang mà bạn muốn – xong việc!

4. Thêm mã vào tệp functions.php của bạn để duplicate page WordPress

Phương pháp cuối cùng này có lẽ là khó nhất để thực hiện nhưng mang lại sự linh hoạt và khả năng tùy chỉnh cao. Thêm mã vào tệp functions.php là cách tuyệt vời cho nhiều tác vụ, bao gồm cả việc nhân bản trang trong WordPress.

Bạn có thể thêm một liên kết trực tiếp vào màn hình bảng điều khiển Trang của mình, có nghĩa là nó sẽ luôn ở đó khi bạn cần. Tuy nhiên, trước khi bắt đầu, bạn cần chuẩn bị một số thứ:

  • Một trình soạn thảo văn bản phù hợp. Atom, Sublime Text, hoặc Notepad++ đều miễn phí (hoặc có phiên bản dùng thử), và thậm chí một trình soạn thảo văn bản mặc định cũng có thể sử dụng.
  • Một công cụ FTP. FileZilla hoặc CyberDuck là các lựa chọn tuyệt vời và sẽ cung cấp cho bạn một cách tốt để truy cập trang web của mình. Nhà cung cấp dịch vụ lưu trữ của bạn cũng có thể cung cấp Trình quản lý tệp, hoạt động tương tự.
  • Quyền truy cập vào máy chủ của trang web. Thông tin đăng nhập này thường có thể tìm thấy trong bảng điều khiển lưu trữ của bạn hoặc thông qua một email gửi khi bạn mua tài khoản.
  • Kỹ năng quản lý trang web qua FTP. Nếu bạn cần tìm hiểu thêm về điều này, trang web Make WordPress có hướng dẫn FileZilla có thể điều chỉnh cho các công cụ khác.
  • Một theme con dựa trên theme chính của bạn hiện tại. Điều này giúp bảo toàn các thay đổi của bạn khi cập nhật và chúng tôi đã thảo luận về cách làm điều này trước đây. Sau khi bạn đã chuẩn bị sẵn sàng, mở công cụ FTP của bạn và làm theo!

Bước 1. Mở tệp functions.php của bạn

Đầu tiên, đăng nhập vào trang web của bạn thông qua công cụ FTP và tìm thư mục wp-content > themes:

Mở tệp functions.php của bạn

Bên trong thư mục này sẽ là thư mục theme con của bạn chứa tệp functions.php. Nếu không có, bạn sẽ cần phải tạo nó trước. Tiếp theo là chỉnh sửa tệp.

Bước 2. Thêm mã vào tệp functions.php của bạn

Sau khi mở tệp functions.php, bạn sẽ thêm mã sau. Mã này nên đặt sau tất cả mã khác có sẵn trong tệp đó:

/* Chức năng nhân bản bài viết và trang. Nhân bản xuất hiện dưới dạng bản nháp và người dùng được chuyển đến màn hình Chỉnh sửa. */
function rd_duplicate_post_as_draft(){
global $wpdb;
if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) {
wp_die('Không có bài viết nào để nhân bản đã được cung cấp!');
}

/* Xác minh Nonce */if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) )
return;

/* Lấy ID của bài viết hoặc trang gốc */$post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );

/* …rồi lấy dữ liệu bài viết gốc. */$post = get_post( $post_id );

/* Để chọn một người dùng khác làm tác giả, sử dụng $new_post_author = $post->post_author;. Ngược lại… */$current_user = wp_get_current_user();
$new_post_author = $current_user->ID;

/* Nếu dữ liệu bài viết tồn tại, tạo bản sao */if (isset( $post ) && $post != null) {
/* Tạo một mảng dữ liệu bài viết mới */$args = array(
'comment_status' => $post->comment_status,
'ping_status' => $post->ping_status,
'post_author' => $new_post_author,
'post_content' => $post->post_content,
'post_excerpt' => $post->post_excerpt,
'post_name' => $post->post_name,
'post_parent' => $post->post_parent,
'post_password' => $post->post_password,
'post_status' => 'draft',
'post_title' => $post->post_title,
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
'menu_order' => $post->menu_order
);

/* Thêm bài viết bằng wp_insert_post() */$new_post_id = wp_insert_post( $args );

/* Lấy tất cả thuật ngữ hiện có của bài viết rồi gán chúng cho bản nháp mới */$taxonomies = get_object_taxonomies($post->post_type);
foreach ($taxonomies as $taxonomy) {
$post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
}

/* Nhân bản tất cả metadata của bài viết */$post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");

if (count($post_meta_infos)!=0) {
$sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
foreach ($post_meta_infos as $meta_info) {
$meta_key = $meta_info->meta_key;

if( $meta_key == '_wp_old_slug' ) continue;
$meta_value = addslashes($meta_info->meta_value);
$sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
}

$sql_query.= implode(" UNION ALL ", $sql_query_sel);
$wpdb->query($sql_query);
}

/* Chuyển hướng đến màn hình Chỉnh sửa bài viết mới */wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
exit;
} else {
wp_die('Tạo bài viết không thành công, không thể tìm thấy bài viết gốc: ' . $post_id);
}
}

add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' );

/* Thêm liên kết nhân bản vào danh sách hành động cho post_row_actions */function rd_duplicate_post_link( $actions, $post ) {
if (current_user_can('edit_posts')) {
$actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Nhân bản mục này" rel="permalink">Nhân bản</a>';
}
return $actions;
}

add_filter('post_row_actions', 'rd_duplicate_post_link', 10, 2);

add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Sau khi thêm mã, lưu thay đổi và thoát khỏi kết nối FTP của bạn.

Bước 3. Kiểm tra bạn có thể nhân bản một trang

Cuối cùng, làm mới bảng điều khiển và vào màn hình Trang của bạn. Bạn sẽ thấy liên kết nhân bản xuất hiện như trước:

Kiểm tra bạn có thể nhân bản một trang

Với kiến thức phù hợp, bạn có thể dễ dàng biến điều này thành một plugin và mở rộng chức năng hơn nữa, mặc dù nó hoạt động tuyệt vời khi nằm trong tệp functions.php của theme con của bạn.

Cách chọn phương pháp phù hợp để duplicate page WordPress

Khi muốn nhân bản trang, lựa chọn giải pháp nhanh nhất thường hợp lý. Tuy nhiên, theo ý kiến của chúng tôi, bạn có thể xem xét một tùy chọn phức tạp hơn tùy thuộc vào nhu cầu của bạn.

Đối với hầu hết người dùng chỉ cần nhân bản một trang trong WordPress, plugin là lựa chọn tốt nhất. Bạn có thể cài đặt và kích hoạt khi cần, và nó sẽ cung cấp cho bạn chức năng bạn cần (và thậm chí nhiều hơn trong một số trường hợp).

Tuy nhiên, nếu bạn là người “nhân bản nhiều”, có thể có nhu cầu phức tạp, thì việc mã hóa giải pháp để nhân bản trang trong WordPress hoàn toàn hợp lý. Nó sẽ luôn ở đó và mang lại trải nghiệm tùy chỉnh dựa trên nhu cầu của bạn.

Tất nhiên, có thể có mối quan tâm về ngân sách tùy thuộc vào nhu cầu đó, nhưng nếu bạn nhận được chức năng mong muốn, đó là khoản đầu tư đáng giá.

Kết luận

Thoạt nhìn, một nhiệm vụ như duplicate page WordPress nên chỉ là một nút nhấn. Tùy vào kinh nghiệm và kiến thức của bạn, một số cách có thể trông phức tạp hơn nhiều.

Trong bài viết này, chúng tôi đã xem xét bốn cách để nhân bản một trang trong WordPress với các mức độ khó khác nhau. Hãy cùng điểm qua nhanh:

  • Sao chép và dán nội dung thủ công của bạn, mặc dù cần chuẩn bị dành thời gian nếu bạn có nhiều trang.
  • Sử dụng chức năng tích hợp của Trình chỉnh sửa khối – mặc dù một giải pháp mạnh mẽ hơn sẽ tốt hơn.
  • Sử dụng plugin phổ biến để nhân bản trang của bạn, chẳng hạn như Duplicate Page.
  • Mở trình soạn thảo văn bản và thêm mã vào tệp functions.php của WordPress.

Bài viết liên quan