WooCommerceで商品ページを作ると、商品のURLは自動的に商品名が使われます。
商品名が日本語の場合、URLも日本語になり、見た目も少しゴチャゴチャしてしまうことがあります。
例えば、「おしゃれなバッグ」という商品なら、URLは
https://www.example.com/おしゃれなバッグ
と表示されるわけです。これって、ちょっと見栄えが悪いですよね?
共有もしづらいし、SEOにも影響があるかもしれません。
商品URLを英語表記にしたい場合は、スラッグを使います。
スラッグは商品名の代わりにURLに表示されるテキストのこと。
たとえば、さっきの「おしゃれなバッグ」を「fashion-bag」に変更できるというわけです。
つまりURLは、 https://www.example.com/fashion-bag となるわけです。
でも、このスラッグ、商品の設定画面で一つ一つ手動で直すしかなく、商品数が多いと面倒…。
WoocommerceにはCSVで大量の商品情報をインポート&エクスポートする機能が備わっています。
CSVファイルを使えば、大量の商品データを一括で管理できます。
しかし、WooCommerceのデフォルトでは、CSVファイルにスラッグが含まれていないため、一括でスラッグの編集ができません。何とかしてCSVでスラッグを一括修正できるようにしたいところです。
そこで、商品CSVにスラッグも含めるためのカスタマイズを行います。
やり方はとってもシンプルで、WordPressのfunctions.php
ファイルに少しコードを追加するだけです。
add_filter( 'woocommerce_product_export_column_names', 'add_slug_export_column' );
add_filter( 'woocommerce_product_export_product_default_columns', 'add_slug_export_column' );
function add_slug_export_column( $columns ) {
$columns['slug'] = 'Slug';
return $columns;
}
add_filter( 'woocommerce_product_export_product_column_slug' , 'add_export_data_slug', 10, 2 );
function add_export_data_slug( $value, $product ) {
$value = $product->get_slug();
return $value;
}
add_filter( 'woocommerce_csv_product_import_mapping_options', 'add_slug_import_option' );
function add_slug_import_option( $options ) {
$options['slug'] = 'Slug';
return $options;
}
add_filter( 'woocommerce_csv_product_import_mapping_default_columns', 'add_default_slug_column_mapping' );
function add_default_slug_column_mapping( $columns ) {
$columns['Slug'] = 'slug';
return $columns;
}
add_filter( 'woocommerce_product_import_pre_insert_product_object', 'process_import_product_slug_column', 10, 2 );
function process_import_product_slug_column( $object, $data ) {
if ( !empty( $data['slug'] ) ) {
$object->set_slug( $data['slug'] );
}
return $object;
}
このコードを追加するだけで、商品CSVにスラッグのカラムが表示されるようになります。
スラッグに任意の文字を入力してインポートすることで、商品名のURL部分をまとめて編集できるようになります。
スラッグをCSVで一括編集できるようにすることで、大量の商品管理がぐっと楽になります。
URLもきれいに整理できるので、見た目も良くなるし、SEOにも良い影響が期待できるはずです。
手軽にできるカスタマイズなので、ぜひ試してみてください!
こちらの記事が参考になりました。Thanks!
How to export and import WooCommerce product slugs?