Wenn Ihr Blog schon ein paar Jahre alt ist und Sie irgendwann auf den Gutenberg-Editor umgestiegen sind und alle alten Beiträge im klassischen Editorformat veröffentlicht haben, möchten Sie sie vielleicht jetzt in einem Rutsch in Gutenberg-Blöcke konvertieren.
Eine solche Migration kann einige SEO- und Leistungsvorteile bieten. Diese werden am Ende dieses Beitrags erläutert.
In Blöcke umwandeln Das einzige vernünftige Plug-in , das diese Konvertierung erleichtert, ist Convert To Blocks . Installieren Sie es einfach. Es hat keine Einstellungen oder einen Verwaltungsbereich und braucht auch keinen.
Wenn Sie nun die Liste der Einträge öffnen, finden Sie rechts neben dem Titel eine neue Spalte, die Ihnen anzeigt, ob der Eintrag mit dem klassischen Editor oder dem Gutenberg-Block-Editor veröffentlicht wurde. Es fehlt jedoch eine Möglichkeit, sie zu sortieren.
Es ist nicht so toll, weil dies mit einer Funktion getan werden kann, die eine Spalte auf der rechten Seite mit "Classic" oder "Gutenberg" zu jedem Beitrag hinzufügen wird. Etwa so:
// 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');
Das Interessante an diesem Plugin ist, dass es "on the fly" konvertiert. Das heißt, wenn Sie einen Beitrag bearbeiten, wird er automatisch in Gutenberg konvertiert, wenn Sie den Editor öffnen. Wenn etwas schief geht, werden Sie in der Lage sein, es zu sehen und zu beenden, ohne zu speichern, die Änderungen zu verwerfen, um zu bearbeiten, was Sie vermuten, dass der Konvertierungsfehler verursacht hat, und es erneut zu versuchen.
Für die Konvertierung von ein paar Dutzend Beiträgen ist das in Ordnung. Es funktioniert sehr gut und konvertiert erfolgreich fast alle Beiträge, die ich getestet habe. Convert to Blocks warnt davor, dass es standardmäßig Ihre benutzerdefinierten Blöcke nicht konvertiert.
Massen- oder Stapelkonvertierung Was aber, wenn Sie, wie in meinem Fall, Hunderte oder Tausende von Beiträgen zu konvertieren haben? Hier kommt die nützlichste Funktion des Plugins ins Spiel. Es ermöglicht die Massenkonvertierung mit WP-CLI . Wenn Sie bereits wissen, wie man WP-CLI verwendet, können Sie diesen Teil überspringen, und wenn nicht, können Sie zu diesem Link gehen.
Auf ihrer GitHub-Seite finden Sie eine Liste der Befehle , die Sie verwenden können.
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.
Wenn Sie ein Shared Hosting haben oder einfach die Ladegeschwindigkeit wegen der hohen CPU-Auslastung der Konvertierung nicht verlangsamen wollen (bedenken Sie, dass nicht nur konvertiert, sondern auch alle Beiträge einzeln gespeichert/veröffentlicht werden müssen), empfehle ich Ihnen, die Konvertierung in Stapeln durchzuführen.
Ich habe die Option gewählt, eine bestimmte Anzahl von Beiträgen zu konvertieren, indem ich Blöcke von etwa 100 IDs in jedem Stapel hinzufüge.
Wir wissen, wie wir die ID eines Beitrags sehen können, da sie in der Ausgabe in der URL erscheint, aber jetzt müssen wir alle IDs der Beiträge extrahieren, die mit dem klassischen Editor veröffentlicht wurden, getrennt durch ein Komma ohne Leerzeichen.
Ich habe auch eine Funktion dafür.
// 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.
Und das ist, was Sie bekommen werden (*in der Überarbeitung habe ich hinzugefügt, dass ich auch die Zahl für den Gesamtbetrag einfüge).
Jetzt können Sie so viele IDs auswählen, wie Sie möchten, und sie in Stapeln konvertieren.
Da LucusHost WP-CLI installiert hat, habe ich vom cPanel aus das Terminal bereit, um ihm Stock zu geben.
Es öffnet sich und verbindet sich mit dem Stammverzeichnis Ihrer WP-Installation.
cd public_html/staging
Enter
Schließlich geben wir unseren Befehl mit den IDs der Beiträge ein, die wir umwandeln wollen. Beispiel:
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
Durch erneutes Drücken der Eingabetaste erhalten wir eine URL, die wir in einem neuen Fenster öffnen müssen, um den Vorgang zu starten.
Konvertieren... Jetzt müssen wir nur noch die Fertigstellung abwarten und uns die Umsetzungen ansehen, um zu sehen, ob es noch etwas zu polieren und aufzupolieren gibt.
SEO und Leistungsvorteile Es gibt immer noch viele Menschen, die dem Minimalismus des klassischen Editors treu sind, aber Gutenberg hat sich seit seiner Veröffentlichung stark verbessert, wenn auch verzweifelt langsam. Seine Verwendung hat bereits mehr Vorteile als Nachteile.
Vorteile von SEO: Erwarten Sie nicht, dass Ihre Website durch diese Umstellung von heute auf morgen ganz oben in den Suchergebnissen steht, aber jede Verbesserung macht sich bezahlt.
Bessere Strukturierung des Inhalts: Gutenberg ermöglicht es Ihnen, mit Hilfe von Blöcken (Absätze, Überschriften, Listen usw.) besser strukturierte Inhalte zu erstellen. Dies erleichtert es den Suchmaschinen, die Hierarchie und Relevanz von Inhalten besser zu verstehen. Optimierung der Überschriften (H1, H2, H3, usw.): Es ist einfacher, Überschriften hinzuzufügen und zu verwalten, was die Lesbarkeit und Organisation des Inhalts verbessert. Mehr optimierte Bilder: Gutenberg ermöglicht das Hinzufügen von Alt-Attributen, Titeln und Beschreibungen direkt zu Bildblöcken. Verwendung von spezifischen Blöcken für SEO: Wenn Sie Plugins wie Yoast SEO oder Rank Math verwenden, bieten diese spezielle Blöcke zur Verbesserung der SEO (z. B. FAQ- oder Schema-Markup-Blöcke). Mehr interaktive Inhalte: Interaktive Blöcke (Tabellen, Schaltflächen, Akkordeons) verbessern das Nutzererlebnis und verringern die Absprungrate. Lange Einträge mit vielen Elementen, die mit dem klassischen Editor veröffentlicht werden, haben in der Regel einen hohen CLS-Wert und sind auch langsamer, so dass sie schlechter indiziert werden oder ihre Positionierung verlieren. Leistungsvorteile: Sauberer und leichterer Code: Gutenberg generiert saubereres, semantischeres HTML, wodurch die Seitengröße verringert und die Ladezeiten verbessert werden. Aufgeschobene Belastung der Ressourcen: Einige Blöcke (z. B. Bilder) erlauben von Haus aus ein "Lazy Loading". Weniger Abhängigkeit von Shortcodes: Mit Gutenberg können viele Shortcodes durch effizientere native Blöcke ersetzt werden. Optimierung des sichtbaren Inhalts (above the fold): Es macht es einfach, optimierte Inhalte für den sichtbaren Teil der Seite zu erstellen, ohne zu scrollen. Weniger Plugins erforderlich: Verringern Sie die Belastung des Plugins durch die Integration von Funktionen wie Spalten, Tabellen oder Schaltflächen. Zusätzliche Vorteile:
Bessere Bearbeitungsmöglichkeiten: Es bietet ein moderneres und intuitiveres Bearbeitungserlebnis. Kompatibilität mit modernen Themes und Plugins: Viele Themes und Plugins sind bereits für Gutenberg optimiert.
Zukunft des Verlags.
Hier bin ich mir nicht so sicher. Gutenberg ist die (einzige) Zukunft von WordPress, obwohl ich nicht so sehr an FSE (Full Site Editing) denke, weil nicht alle Vorlagen FSE sind und viele der beliebtesten Vorlagen keine FSE-Versionen veröffentlicht haben. Auch sind die Mitarbeiter immer noch mit Elementor oder Bricks als Builder oder GenerateBlocks und / oder Kadence, als Unterstützung Blöcke.