もしあなたのブログが数年前のもので、ある時点でGutenbergエディタに切り替えたが、古い記事はすべてクラシックエディタ形式で公開されたままになっている場合、今すぐ一気にGutenbergブロックに変換したほうがいいかもしれない。
この移行を行うことで、いくつかのSEOとパフォーマンスの利点が得られます。これらについては、この記事の最後で説明します。
ブロックに変換 この変換を容易にする 唯一まともなプラグインがConvert To Blocks だ。インストールするだけでいい。設定や管理エリアはありませんし、必要ありません。
エントリーのリストを開くと、タイトルの右側に新しい列が表示され、そのエントリーがクラシックエディターとグーテンベルグ・ブロックエディターのどちらを使って公開されたかがわかる。しかし、ソートする方法がありません。
これは、各投稿に「Classic」または「Gutenberg」を表示するカラムを右側に追加する機能で行うことができるので、それほど素晴らしいものではありません。こんな感じ:
// 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');
このプラグインの面白いところは、「その場で」変換してくれることだ。つまり、投稿を編集すると、エディタを開いたときに自動的にGutenbergに変換される。 何か問題が発生した場合は、それを確認することができ、保存せずに終了することができます。変換エラーの原因と思われる部分を編集するために変更を破棄し、もう一度やり直してください。
これは数十件の投稿を変換するのに適しています。非常にうまく動作し、私がテストした投稿のほとんどすべてを変換することに成功しました。Convert to Blocksは 、デフォルトではカスタムブロックを変換しないと警告しています。
一括または一括変換 しかし、私の場合のように、変換すべき投稿が何百、何千とある場合はどうだろう?そこで、このプラグインの最も便利な機能が登場する。WP-CLIを使って 一括変換できるのだ。WP-CLIの使い方をすでに知っている場合は、この部分を読み飛ばしてもいいし、知らない場合は、このリンクに 進んでほしい。
GitHubのページには、使用できる コマンドのリストが 掲載されている。
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.
共有ホスティングを利用している場合や、単に変換のCPU使用率が高いために読み込み速度を落としたくない場合(変換だけでなく、すべての投稿を1つずつ保存/公開する必要があることを覚えておいてください)には、一括で行うことをお勧めします。
私は、各バッチに約100のIDのブロックを追加して、一定数の投稿を変換するオプションを選択しました。
投稿のIDを見る方法は、エディションではURLに表示されるので知っていますが、今度は、クラシックエディタで公開された投稿のIDを、スペースなしのカンマで区切ってすべて抽出する必要があります。
そのための機能も持っている。
// 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.
そして、これがあなたが手にするものである(※改訂版では総額の数字も加えている)。
これで好きなだけIDを選択し、好きなだけ一括変換できる。
LucusHostには WP-CLIがインストールされているので、cPanelからターミナルを用意して彼に杖を渡す。
WPインストールのルートパスを開き、接続する。
cd public_html/staging
Enter
最後に、変換したい投稿のIDをコマンドに入力します。例
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
もう一度エンターキーを押すと、プロセスを開始するために新しいウィンドウで開く必要があるURLが表示されます。
変換... あとは完成を待ち、コンバージョンを見て、磨きをかけるべき点がないかどうか確認するだけだ。
SEOとパフォーマンスの利点 クラシックエディターの ミニマリズムに忠実な人はまだ大勢いるが、グーテンベルグはリリース以来、絶望的にスローペースとはいえ、かなり改善されている。すでに欠点よりも利点の方が多い。
SEOの利点: この変換を行うことで、あなたのサイトが一夜にして検索結果リストのトップになるとは思わないでください。
より良いコンテンツ構成: Gutenbergでは、ブロック(段落、見出し、リストなど)を使って、より構造化されたコンテンツを作成できる。 これにより、検索エンジンはコンテンツの階層と関連性をより理解しやすくなる。 見出しの最適化(H1、H2、H3など): 見出しの追加や管理が容易になり、コンテンツの読みやすさや構成が改善されます。 より最適化された画像: Gutenbergでは、alt属性、タイトル、説明文を画像ブロックに直接追加することができます。 SEOのための特定ブロックの使用: Yoast SEOやRank Mathの ようなプラグインを使用している場合、SEOを改善するための特定のブロック(FAQブロックやSchema Markupなど)を提供している。 よりインタラクティブなコンテンツ: インタラクティブブロック(テーブル、ボタン、アコーディオン)は、ユーザーエクスペリエンスを向上させ、直帰率を下げる。 クラシックエディターで公開された多くの要素を含む長いエントリーは、CLSが高くなりがちで、また速度も遅くなるため、インデックスが悪くなったり、ポジショニングが失われたりします。 パフォーマンスの利点: よりクリーンで軽量なコード: Gutenbergは、よりクリーンでセマンティックなHTMLを生成し、ページサイズを縮小し、ロード時間を改善します。 資源の繰延ローディング: 一部のブロック(画像など)では、ネイティブで遅延読み込みが可能です。 ショートコードへの依存度が低い: Gutenbergでは、多くのショートコードをより効率的なネイティブブロックに置き換えることができます。 目に見えるコンテンツ(フォールドより上)の最適化: スクロールすることなく、ページの見える部分に最適化されたコンテンツを簡単に作成できる。 必要なプラグインが少ない: カラム、テーブル、ボタンなどの機能を統合することで、プラグインの負荷を軽減します。 その他のメリット
より良い編集体験: 最新のテーマやプラグインとの互換性: 多くのテーマやプラグインはすでにGutenbergに最適化されている。
出版社の将来
私はそうは思わない。GutenbergはWordPressの(唯一の)未来だが、FSE (Full Site Editing)については、すべてのテンプレートがFSEに対応しているわけではないし、人気のあるテンプレートの多くはFSEバージョンをリリースしていないので、それほどではないと思う。また、スタッフはまだビルダーとしてElementorやBricks、サポートブロックとしてGenerateBlocksやKadenceを使っている。