Ha a blogod néhány éves, és valamikor áttértél a Gutenberg-szerkesztőre, és az összes régi bejegyzést a klasszikus szerkesztő formátumában tetted közzé, akkor lehet, hogy most egy csapásra át akarod konvertálni őket Gutenberg blokkokká.
Ez a migráció számos SEO és teljesítménybeli előnnyel járhat. Ezeket a bejegyzés végén ismertetjük.
Átalakítás blokkokká Az egyetlen tisztességes plug-in , amely ezt a konverziót megkönnyíti, a Convert To Blocks . Csak telepítse. Nincsenek beállításai vagy rendszergazdai szekciója, és nincs is szüksége rá.
Ha most megnyitja a bejegyzések listáját, a címtől jobbra egy új oszlopot lát, amely jelzi, hogy a bejegyzést a Classic Editor vagy a Gutenberg Block Editor használatával tették közzé. Hiányzik azonban a rendezés lehetősége.
Ez nem olyan nagyszerű, mert ez egy olyan funkcióval is megoldható, amely minden egyes bejegyzéshez hozzáad egy oszlopot a jobb oldalon "Classic" vagy "Gutenberg" felirattal. Valami ilyesmi:
// 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');
A plugin érdekessége, hogy "menet közben" konvertál. Ez azt jelenti, hogy ha szerkesztesz egy bejegyzést, az automatikusan Gutenbergre konvertálódik, amikor megnyitod a szerkesztőt. Ha valami rosszul megy, akkor ezt látva mentés nélkül bezárhatod, elvetheted a módosításokat, hogy szerkeszthesd azt, amiről gyanítod, hogy az átalakítási hibát okozta, és újra megpróbálhatod.
Ez néhány tucat üzenet konvertálásához megfelelő. Nagyon jól működik, és szinte az összes általam tesztelt üzenetet átalakítja. A Convert to Blocks figyelmeztet, hogy alapértelmezés szerint nem konvertálja az egyéni blokkokat.
Tömeges vagy kötegelt konverzió De mi van akkor, ha több száz vagy több ezer hozzászólást kell átalakítania, mint az én esetemben? Itt jön a plugin leghasznosabb funkciója. Lehetővé teszi a tömeges konvertálást a WP-CLI segítségével. Ha már tudod, hogyan kell használni a WP-CLI-t, akkor ezt a részt átugorhatod, ha pedig nem, akkor erre a linkre kattintva.
A GitHub-oldalukon megtalálod a használható parancsok listáját .
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.
Ha megosztott tárhelye van, vagy csak nem akarja lelassítani a betöltési sebességet a konverzió magas CPU-használata miatt (ne feledje, hogy nem csak konvertál, hanem az összes üzenetet egyesével elmenti/kiadja), akkor azt javaslom, hogy a konverziót kötegekben végezze el.
Azt a lehetőséget választottam, hogy bizonyos számú üzenetet alakítok át úgy, hogy minden egyes tételben kb. 100 azonosítóból álló blokkokat adok hozzá.
Tudjuk, hogyan láthatjuk egy poszt azonosítóját, mert az URL-ben a kiadásban szerepel, de most ki kell nyernünk a klasszikus szerkesztővel közzétett posztok összes azonosítóját, vesszővel elválasztva, szóközök nélkül.
Erre is van egy funkcióm.
// 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.
És ez az, amit kapunk (*az átdolgozásnál hozzátettem, hogy a teljes összeget is feltüntettem).
Most már annyi azonosítót választhat ki, amennyit csak akar, és tetszés szerinti tételekben konvertálhat.
Mivel a LucusHost telepítette a WP-CLI-t, a terminál készen áll, hogy a cPanelből vesszőt adjak neki.
Megnyílik és csatlakozik a WP telepítés gyökér elérési útvonalához.
cd public_html/staging
Enter
Végül írjuk be a parancsunkat a konvertálni kívánt üzenetek azonosítóival. Példa:
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
Ha ismét megnyomjuk az Entert, akkor egy új ablakban megnyíló url-t kapunk a folyamat elindításához.
Átváltoztatni... Most már csak meg kell várnunk, hogy elkészüljön, és meg kell néznünk az átalakításokat, hogy lássuk, van-e még mit javítani és csiszolni rajta.
SEO és teljesítménybeli előnyök Még mindig sokan vannak, akik hűek maradnak a klasszikus szerkesztő minimalizmusához, de a Gutenberg sokat fejlődött, bár kínzóan lassan, a megjelenése óta. Használatának már most is több előnye van, mint hátránya.
A SEO előnyei: Ne várd, hogy ez az átalakítás egyik napról a másikra a keresési találati lista élére juttatja a webhelyedet, de minden egyes javulás összeadódik.
A tartalom jobb szerkezete: A Gutenberg lehetővé teszi a strukturáltabb tartalom létrehozását blokkok (bekezdések, címsorok, listák stb.) használatával. Ez megkönnyíti a keresőmotorok számára, hogy jobban megértsék a tartalom hierarchiáját és relevanciáját. A címsorok (H1, H2, H3 stb.) optimalizálása: Könnyebb a címsorok hozzáadása és kezelése, ami javítja az olvashatóságot és a tartalom rendszerezését. További optimalizált képek: A Gutenberg segítségével az alt attribútumok, címek és leírások közvetlenül hozzáadhatók a képblokkokhoz. Speciális blokkok használata a SEO érdekében: Ha olyan bővítményeket használsz, mint a Yoast SEO vagy a Rank Math , ezek speciális blokkokat kínálnak a SEO javítására (pl. GYIK blokkok vagy Schema Markup). Több interaktív tartalom: Az interaktív blokkok (táblázatok, gombok, harmonikák) javítják a felhasználói élményt és csökkentik a visszafordulási arányt. A klasszikus szerkesztővel közzétett hosszú, sok elemet tartalmazó bejegyzéseknek gyakran magas a CLS-értéke, és lassabbak is, ami miatt rosszabbul indexelődnek vagy elveszítik a pozíciójukat. Teljesítménybeli előnyök: Tisztább és könnyebb kód: A Gutenberg tisztább, szemantikusabb HTML-t generál, csökkentve az oldal méretét és javítva a betöltési időt. Források halasztott adóztatása: Egyes blokkok (például a képek) természetüknél fogva lustán töltődhetnek be. Kevésbé függ a rövidkódoktól: A Gutenberg segítségével számos rövidkódot hatékonyabb natív blokkokkal lehet helyettesíteni. A látható tartalom optimalizálása (a hajtás felett): Ez megkönnyíti az oldal látható részére optimalizált tartalom létrehozását görgetés nélkül. Kevesebb plugin szükséges: Csökkentse a bővítmény terhelését olyan funkciók, mint oszlopok, táblázatok vagy gombok integrálásával. További előnyök:
Jobb szerkesztési élmény: Korszerűbb és intuitívabb szerkesztési élményt nyújt. Kompatibilitás a modern témákkal és bővítményekkel: Számos téma és bővítmény már optimalizálva van a Gutenbergre.
A könyvkiadás jövője.
Itt nem vagyok benne olyan biztos. A Gutenberg a WordPress (egyetlen) jövője, bár az FSE-t (Full Site Editing) nem tartom annyira fontosnak, mert nem minden sablon FSE, és a legnépszerűbb sablonok közül sokan nem adtak ki FSE verziót. Emellett a hozzászólók még mindig az Elementort vagy a Bricks-et használják építőként, vagy a GenerateBlocks és/vagy a Kadence-t, mint támogató blokkokat.