Klasikiniu redaktoriumi paskelbto turinio konvertavimas į "Gutenberg" blokus

No comments

 

Jei jūsų tinklaraštis yra kelerių metų senumo ir tam tikru metu perėjote prie "Gutenberg" redaktoriaus, palikdami visus senus įrašus, paskelbtus klasikinio redaktoriaus formatu, galbūt norėsite juos dabar vienu ypu konvertuoti į "Gutenberg" blokus.

Ši migracija gali būti naudinga SEO ir našumui. Jie paaiškinti šio pranešimo pabaigoje.

Konvertuoti į Blokai

Vienintelis tinkamas papildinys, kuris palengvina šį konvertavimą , yra " Convert To Blocks". Tiesiog jį įdiekite. Jame nėra jokių nustatymų ar administratoriaus srities, o ir nereikia.

Dabar, kai atidarysite įrašų sąrašą, pavadinimo dešinėje rasite naują stulpelį, kuriame bus nurodyta, ar įrašas paskelbtas naudojant klasikinį redaktorių, ar "Gutenberg" blokų redaktorių. Tačiau trūksta būdo juos surūšiuoti.

Klasikiniu redaktoriumi paskelbto turinio konvertavimas į "Gutenberg" blokus

Tai nėra taip puiku, nes tai galima padaryti naudojant funkciją, kuri pridės stulpelį dešinėje, rodantį "Klasikinis" arba "Gutenberg" prie kiekvieno pranešimo. Kažkas panašaus į tai:

// 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');

Įdomu tai, kad šis įskiepis konvertuoja "skrydžio metu". Tai reiškia, kad jei redaguojate bet kokį įrašą, jis automatiškai konvertuojamas į "Gutenberg", kai atidarote redaktorių. Jei kažkas negerai, galite tai pamatyti ir išeiti neišsaugoję, atmesdami pakeitimus, kad galėtumėte redaguoti tai, kas, kaip įtariate, sukėlė konvertavimo klaidą, ir pabandyti dar kartą.

Tai tinka konvertuoti keliasdešimt pranešimų. Ji veikia labai gerai ir sėkmingai konvertuoja beveik visus mano išbandytus pranešimus. Konvertuoti į blokus įspėja, kad pagal numatytuosius nustatymus ji nekonvertuos jūsų pasirinktinių blokų.

Masinis arba paketinis konvertavimas

Tačiau ką daryti, jei turite šimtus ar tūkstančius pranešimų, kaip buvo mano atveju, kuriuos reikia konvertuoti? Štai čia atsiranda naudingiausia įskiepio funkcija. Ji leidžia atlikti masinį konvertavimą naudojant WP-CLI. Jei jau žinote, kaip naudotis WP-CLI, galite praleisti šią dalį, o jei nežinote, pereikite prie šios nuorodos.

"GitHub" puslapyje galite rasti komandų, kurias galite naudoti, sąrašą .

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.

Jei turite bendrą prieglobą arba tiesiog nenorite sulėtinti krovimo greičio dėl didelio procesoriaus naudojimo konvertuojant (nepamirškite, kad jis ne tik konvertuoja, bet ir turi išsaugoti / paskelbti visus pranešimus po vieną), patariu tai daryti partijomis.

Pasirinkau galimybę konvertuoti tam tikrą pranešimų skaičių, į kiekvieną partiją įtraukdamas maždaug 100 ID blokų.

Mes žinome, kaip pamatyti įrašo ID, nes leidime jis rodomas URL, bet dabar mums reikia išgauti visus su klasikiniu redaktoriumi paskelbtų įrašų ID, atskirtų kableliu be tarpų.

Taip pat turiu tam skirtą funkciją.

// 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.

Štai ką gausite (*pataisyme pridėjau, kad taip pat nurodžiau bendrą sumą).

Klasikiniu redaktoriumi paskelbto turinio konvertavimas į "Gutenberg" blokus 1

Dabar galite pasirinkti tiek ID, kiek norite, ir konvertuoti partijomis, kiek norite.

Kaip LucusHost turi WP-CLI įdiegta, iš cPanel aš turiu terminalas pasiruošęs duoti jam nendrių.

Ji atidaroma ir prisijungiama prie WP diegimo šakninio kelio.


cd public_html/staging
Enter

Galiausiai įveskite komandą su pranešimų, kuriuos ketiname konvertuoti, ID. Pavyzdys:

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

Dar kartą paspaudę Enter, gausime url adresą, kurį turėsime atidaryti naujame lange, kad pradėtume procesą.

Konvertuoti...

Klasikiniu redaktoriumi paskelbto turinio konvertavimas į "Gutenberg" blokus 2

Dabar belieka laukti, kol jis bus baigtas, ir pažvelgti į konversijas, kad pamatytume, ar yra ką patobulinti ir nušlifuoti.

SEO ir našumo privalumai

Vis dar yra daug žmonių, ištikimų klasikinio redaktoriaus minimalizmui, tačiau "Gutenberg", nors ir beviltiškai lėtai, nuo išleidimo labai patobulėjo. Jo naudojimas jau dabar turi daugiau privalumų nei trūkumų.

SEO nauda:

Nesitikėkite, kad atlikę šį pakeitimą per vieną naktį jūsų svetainė atsidurs paieškos rezultatų sąrašo viršuje, tačiau kiekvienas patobulinimas yra svarbus.

  1. Geresnė turinio struktūra:
  • "Gutenberg" leidžia kurti labiau struktūruotą turinį naudojant blokus (pastraipas, antraštes, sąrašus ir kt.).
  • Paieškos sistemoms lengviau suprasti turinio hierarchiją ir svarbą.
  1. Antraščių (H1, H2, H3 ir kt.) optimizavimas:
  • Lengviau pridėti ir tvarkyti antraštes, taip pagerinant turinio skaitomumą ir organizavimą.
  1. Daugiau optimizuotų vaizdų:
  • "Gutenberg" leidžia pridėti alt atributus, pavadinimus ir aprašymus tiesiai į paveikslėlių blokus.
  1. Specialių blokų naudojimas SEO optimizavimui:
  • Jei naudojate tokius įskiepius kaip "Yoast SEO" arba " Rank Math", juose siūlomi specialūs blokai SEO optimizavimui pagerinti (pvz., DUK blokai arba "Schema Markup").
  1. Daugiau interaktyvaus turinio:
  • Interaktyvūs blokai (lentelės, mygtukai, akordeonai) pagerina naudotojo patirtį ir sumažina atmetimo dažnį.
  • Ilgi įrašai su daugybe elementų, paskelbti naudojant klasikinį redaktorių, paprastai turi aukštą CLS ir yra lėtesni, todėl blogiau indeksuojami arba praranda poziciją.

Našumo privalumai:

  1. Švaresnis ir lengvesnis kodas:
  • "Gutenberg" generuoja švaresnį, semantinį HTML, sumažina puslapio dydį ir pagerina įkėlimo laiką.
  1. Atidėtas išteklių įkrovimas:
  • Kai kuriuose blokuose (pvz., paveikslėliuose) tingus įkėlimas leidžiamas natūraliai.
  1. Mažiau pasikliaukite trumpaisiais kodais:
  • "Gutenberg" leidžia daugelį trumpųjų kodų pakeisti efektyvesniais vietiniais blokais.
  1. Matomo turinio optimizavimas (virš raukšlės):
  • Tai leidžia lengvai kurti optimizuotą turinį matomoje puslapio dalyje, jo netolstant.
  1. Reikia mažiau įskiepių:
  • Sumažinkite įskiepių apkrovą integruodami tokias funkcijas kaip stulpeliai, lentelės ar mygtukai.

Papildomi privalumai:

  1. Geresnė redagavimo patirtis:
  • Joje siūloma modernesnė ir intuityvesnė redagavimo patirtis.
  1. Suderinamumas su šiuolaikinėmis temomis ir įskiepiais:
  • Daugelis temų ir įskiepių jau yra optimizuoti "Gutenberg".

Leidėjo ateitis.

Čia nesu toks tikras. Gutenberg yra (vienintelė) WordPress ateitis, nors manau, kad ne tiek daug FSE (Full Site Editing), nes ne visi šablonai yra FSE, o daugelis populiariausių šablonų nėra išleidę FSE versijų. Be to, darbuotojai vis dar naudoja Elementor arba Bricks kaip konstruktorių arba GenerateBlocks ir (arba) Kadence, kaip pagalbinius blokus.

Suscripción por email

Susiję straipsniai

Parašykite komentarą

Este blog se aloja en LucusHost

LucusHost, el mejor hosting