【WooCommerce】商品一括登録のCSVにスラッグも含める方法

WordPress

WooCommerceで商品ページを作ると、商品のURLは自動的に商品名が使われます。
商品名が日本語の場合、URLも日本語になり、見た目も少しゴチャゴチャしてしまうことがあります。

例えば、「おしゃれなバッグ」という商品なら、URLは
https://www.example.com/おしゃれなバッグ
と表示されるわけです。これって、ちょっと見栄えが悪いですよね?

共有もしづらいし、SEOにも影響があるかもしれません。

スラッグを修正すればURLは英語になるのだが…

商品URLを英語表記にしたい場合は、スラッグを使います。

スラッグは商品名の代わりにURLに表示されるテキストのこと。
たとえば、さっきの「おしゃれなバッグ」を「fashion-bag」に変更できるというわけです。
つまりURLは、 https://www.example.com/fashion-bag となるわけです。

でも、このスラッグ、商品の設定画面で一つ一つ手動で直すしかなく、商品数が多いと面倒…。

デフォルトのCSVにスラッグが含まれてない…

WoocommerceにはCSVで大量の商品情報をインポート&エクスポートする機能が備わっています。
CSVファイルを使えば、大量の商品データを一括で管理できます。

しかし、WooCommerceのデフォルトでは、CSVファイルにスラッグが含まれていないため、一括でスラッグの編集ができません。何とかして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?

PROFILE

本間智久
MAMEプロダクションという屋号で、フリーランスのウェブデザイナーとしてお仕事しています。
 
広告や販促物のグラフィックデザイナーを務めた後、求人サイト運営会社にてウェブデザイナーとして勤務。
サイトの運営、リニューアル、特集コンテンツのディレクションや作成、SEO内部施策などの業務を担当。
2012年に独立。
 
趣味は、テレビゲームと酒場巡り。