Jika blog Anda sudah berumur beberapa tahun dan pada titik tertentu Anda beralih ke editor Gutenberg, meninggalkan semua postingan lama yang diterbitkan dalam format editor klasik, Anda mungkin ingin mengonversinya sekarang ke blok Gutenberg sekaligus.
Melakukan migrasi ini dapat memberikan beberapa manfaat SEO dan kinerja. Hal ini akan dijelaskan di bagian akhir artikel ini.
Konversi ke Blok Satu-satunya pengaya yang layak untuk memfasilitasi konversi ini adalah Convert To Blocks . Instal saja. Tidak ada pengaturan atau area admin, dan juga tidak membutuhkannya.
Sekarang, ketika Anda membuka daftar entri, Anda akan menemukan kolom baru di sebelah kanan judul yang memberi tahu Anda apakah entri tersebut diterbitkan menggunakan Editor Klasik atau Editor Blok Gutenberg. Namun, tidak ada cara untuk mengurutkannya.
Hal ini tidak terlalu sulit, karena hal ini bisa dilakukan dengan fungsi yang akan menambahkan kolom di sebelah kanan yang menunjukkan "Classic" atau "Gutenberg" pada setiap postingan. Seperti inilah tampilannya:
// Añadir la columna personalizada en la lista de entradas que muestre si fueron publicadas con el editor Clásico o Gutenberg
function add_editor_type_column($columns) {
$columns['editor_type'] = 'Editor';
return $columns;
}
add_filter('manage_posts_columns', 'add_editor_type_column');
// Mostrar el contenido de la columna personalizada
function display_editor_type_column($column_name, $post_id) {
if ($column_name === 'editor_type') {
$content = get_post_field('post_content', $post_id);
if (strpos($content, '<!-- wp:') !== false) {
echo 'Gutenberg';
} else {
echo 'Clásico';
}
}
}
add_action('manage_posts_custom_column', 'display_editor_type_column', 10, 2);
// Hacer que la columna sea ordenable
function make_editor_type_column_sortable($columns) {
$columns['editor_type'] = 'editor_type';
return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'make_editor_type_column_sortable');
// Modificar la consulta para ordenar por el tipo de editor
function sort_posts_by_editor_type($query) {
if (!is_admin() || !$query->is_main_query()) {
return;
}
if ($query->get('orderby') === 'editor_type') {
$query->set('meta_key', '_editor_type');
$query->set('orderby', 'meta_value');
}
}
add_action('pre_get_posts', 'sort_posts_by_editor_type');
// Guardar el tipo de editor como metadato al guardar el post
function save_editor_type_metadata($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
$content = get_post_field('post_content', $post_id);
$editor_type = (strpos($content, '<!-- wp:') !== false) ? 'gutenberg' : 'classic';
update_post_meta($post_id, '_editor_type', $editor_type);
}
add_action('save_post', 'save_editor_type_metadata');
Hal yang menarik dari plugin ini adalah plugin ini mengonversi "dengan cepat". Artinya, jika Anda mengedit postingan apa pun, maka secara otomatis akan dikonversi ke Gutenberg ketika Anda membuka editor. Jika terjadi kesalahan, Anda bisa melihatnya dan keluar tanpa menyimpan, membuang perubahan untuk mengedit apa yang Anda duga menyebabkan kesalahan konversi dan mencoba lagi.
Ini bagus untuk mengonversi beberapa lusin postingan. Ini bekerja dengan sangat baik dan berhasil mengonversi hampir semua postingan yang saya uji. Konversi ke Blok memperingatkan bahwa secara default tidak akan mengonversi blok kustom Anda.
Konversi massal atau batch Tetapi bagaimana jika Anda memiliki ratusan atau ribuan, seperti kasus saya, postingan yang harus dikonversi? Di sinilah fitur yang paling berguna dari plugin ini berperan. Plugin ini memungkinkan konversi massal menggunakan WP-CLI . Jika Anda sudah tahu cara menggunakan WP-CLI, Anda bisa melewati bagian ini dan jika belum, Anda bisa membuka tautan ini .
Pada halaman GitHub mereka, Anda dapat menemukan daftar perintah yang dapat Anda gunakan.
NOMBRE
wp convert-to-blocks start
DESCRIPCIÓN
Inicia una nueva Migración. El comando imprime la URL que debe abrirse en un navegador para conectarlo a la CLI de WP.
SYNOPSIS
wp convert-to-blocks start [--post_type=<post_type>] [--per_page=<per_page>] [--page=<page>] [--only=<only>] [--catalog] [--reset]
OPCIONES
[--post_type=<post_type>]
Lista opcional delimitada por comas de los tipos de entrada a migrar. Por defecto post,page
[--per_page=<per_page>]
Número opcional de posts a migrar por lote. Por defecto no hay límite. Combinar con --page para paginar.
[--page=<page>]
Número de página opcional desde el que iniciar la migración. Por defecto es 1.
[--only=<only>]
Lista opcional delimitada por comas de ID de post a migrar.
[--catalog]
Bandera opcional para migrar sólo las entradas etiquetadas del editor clásico. Requiere que el plugin Block Catalog esté presente y haya sido indexado.
[--reset]
Detiene cualquier migración en curso y restablece el estado de la migración.
NOMBRE
wp convert-to-blocks stop
DESCRIPCIÓN
Detiene la migración en curso si está activa.
NOMBRE
wp convert-to-blocks status
DESCRIPCIÓN
Imprime el estado de la migración en curso.
Jika Anda memiliki hosting bersama atau tidak ingin memperlambat kecepatan pemuatan karena penggunaan CPU yang tinggi dari konversi (perlu diingat bahwa itu tidak hanya mengkonversi, tetapi juga harus menyimpan/mempublikasikan semua posting satu per satu) saya menyarankan Anda untuk melakukannya secara bertahap.
Saya memilih opsi untuk mengonversi sejumlah posting dengan menambahkan blok sekitar 100 ID dalam setiap batch.
Kita tahu cara melihat ID sebuah postingan karena dalam edisi ini ID tersebut muncul di URL, tetapi sekarang kita perlu mengekstrak semua ID postingan yang diterbitkan dengan editor klasik yang dipisahkan oleh koma tanpa spasi.
Saya juga memiliki fungsi untuk itu.
// Función para obtener los IDs de posts creados con el editor clásico
function obtener_ids_posts_editor_clasico() {
global $wpdb;
// Consulta para obtener los IDs de los posts que NO contienen bloques de Gutenberg
$query = "
SELECT ID
FROM {$wpdb->posts}
WHERE post_content NOT LIKE '%<!-- wp:%'
AND post_status = 'publish'
AND post_type = 'post' -- Solo posts, excluye páginas y otros tipos
AND post_content != '' -- Excluye posts vacíos
AND post_title != '' -- Excluye posts sin título
AND post_name != '' -- Excluye posts sin slug válido
";
$results = $wpdb->get_col($query);
// Convierte el array de IDs en una cadena separada por comas
$ids_comma_separated = implode(',', $results);
return $ids_comma_separated;
}
// Shortcode para mostrar el listado de IDs y el número total de posts con el editor clásico
add_shortcode('listado_ids_clasico', function() {
// Obtener la lista de IDs
$ids_posts_clasico = obtener_ids_posts_editor_clasico();
// Contar el número total de IDs
$total_posts = count(explode(',', $ids_posts_clasico));
// Mostrar el contador y la lista de IDs
return 'Total de posts creados con el editor clásico: ' . $total_posts . '<br>IDs de posts: ' . $ids_posts_clasico;
});
Uso:
1. Copia el código en el archivo functions.php de tu tema o en un plugin personalizado.
2. Inserta el shortcode [listado_ids_clasico] en cualquier página o entrada de WordPress no hace falta que la publiques. Te bastará hacer una vista previa del borrador.
3. El shortcode mostrará el número total de posts creados con el editor clásico y una lista de sus IDs.
- Este código lista solo los posts publicados que no contienen bloques de Gutenberg.
- Excluye páginas, revisiones, posts vacíos, posts sin título y posts sin slug válido.
- Si necesitas incluir otros tipos de contenido (por ejemplo, páginas), cambia `post_type = 'post'` por `post_type IN ('post', 'page')`.
- Si quieres excluir otros tipos de contenido no deseado, agrega más condiciones a la consulta SQL.
Dan inilah yang akan Anda dapatkan (*dalam revisi saya telah menambahkan bahwa saya juga menyertakan angka untuk jumlah total).
Sekarang Anda bisa memilih sebanyak mungkin ID yang Anda inginkan dan mengonversi secara bertahap sesuai keinginan.
Karena LucusHost telah menginstal WP-CLI, dari cPanel saya memiliki terminal yang siap untuk memberinya tongkat.
Ini akan membuka dan terhubung ke jalur root instalasi WP Anda.
cd public_html/staging
Enter
Terakhir, kita mengetikkan perintah kita dengan ID postingan yang akan kita konversi. Contoh:
wp convert-to-blocks start --only=3017,3100,3145,3281,3357,4121,4505,4564,4586,4623,4647,4665,4688,4706,4712,4727,4793,16019,50411,87386
Menekan enter sekali lagi akan memberi kita url yang harus kita buka di jendela baru untuk memulai prosesnya.
Mengubah... Sekarang kita tinggal menunggu sampai selesai dan melihat konversinya untuk melihat apakah ada yang perlu dipoles dan disempurnakan.
Manfaat SEO dan kinerja Masih banyak orang yang setia dengan minimalisnya editor klasik , tetapi Gutenberg, meskipun dengan kecepatan yang sangat lambat, telah berkembang pesat sejak dirilis. Menggunakannya sudah memiliki lebih banyak manfaat daripada kekurangannya.
Manfaat SEO: Jangan berharap situs Anda akan berada di puncak daftar hasil pencarian dalam semalam dengan melakukan konversi ini, tetapi setiap peningkatan akan terus bertambah.
Struktur konten yang lebih baik: Gutenberg memungkinkan Anda membuat konten yang lebih terstruktur dengan menggunakan blok (paragraf, judul, daftar, dll.). Hal ini memudahkan mesin pencari untuk lebih memahami hierarki dan relevansi konten. Optimalisasi judul (H1, H2, H3, dll.): Lebih mudah untuk menambahkan dan mengelola judul, meningkatkan keterbacaan dan pengaturan konten. Gambar yang lebih dioptimalkan: Gutenberg memungkinkan atribut alt, judul dan deskripsi ditambahkan langsung ke blok gambar. Penggunaan blok khusus untuk SEO: Jika Anda menggunakan plugin seperti Yoast SEO atau Rank Math , mereka menawarkan blok khusus untuk meningkatkan SEO (misalnya blok FAQ atau Schema Markup). Konten yang lebih interaktif: Blok interaktif (tabel, tombol, akordeon) meningkatkan pengalaman pengguna dan mengurangi rasio pentalan. Entri panjang dengan banyak elemen yang diterbitkan dengan editor klasik cenderung memiliki CLS yang tinggi dan juga lebih lambat, sehingga indeksnya lebih buruk atau kehilangan posisi. Manfaat kinerja: Kode yang lebih bersih dan ringan: Gutenberg menghasilkan HTML yang lebih bersih dan lebih semantik, mengurangi ukuran halaman dan meningkatkan waktu muat. Pemuatan sumber daya yang ditangguhkan: Beberapa blok (seperti gambar) memungkinkan pemuatan malas secara bawaan. Mengurangi ketergantungan pada kode pendek: Gutenberg memungkinkan banyak kode pendek diganti dengan blok asli yang lebih efisien. Optimalisasi konten yang terlihat (di atas lipatan): Ini memudahkan untuk membuat konten yang dioptimalkan untuk bagian halaman yang terlihat tanpa menggulir. Lebih sedikit plugin yang dibutuhkan: Kurangi beban plugin dengan mengintegrasikan fungsionalitas seperti kolom, tabel, atau tombol. Manfaat tambahan:
Pengalaman pengeditan yang lebih baik: Aplikasi ini menawarkan pengalaman penyuntingan yang lebih modern dan intuitif. Kompatibilitas dengan tema dan plugin modern: Banyak tema dan plugin yang sudah dioptimalkan untuk Gutenberg.
Masa depan penerbit.
Di sini saya tidak begitu yakin. Gutenberg adalah (satu-satunya) masa depan WordPress, meskipun menurut saya tidak terlalu banyak FSE (Pengeditan Situs Penuh) karena tidak semua templat menggunakan FSE dan banyak templat yang paling populer belum merilis versi FSE. Selain itu, para staf masih menggunakan Elementor atau Bricks sebagai pembangun atau GenerateBlocks dan/atau Kadence, sebagai blok pendukung.