Craft CMS の slug はタイトルの内容をみてデフォルトではいい感じに自動でセットされる。

日本語だとそのまま入ったりするので必要に応じて半角英数に変えたりする。

半角スペースはデフォルトでは ハイフン - に置き換えられる。

これの初期値は slugWordSeparator で設定ができる

General Config Settings | Craft 3 Documentation
https://docs.craftcms.com/v3/c...

というのを知った。

config/general.php に

'slugWordSeparator' => '_',

と設定することで、 アンダースコア _ が自動で入るようになる。

ハイフンをいれてもアンダースコアに変換される

自分で slug の値を変更した場合はその変更が優先されるっぽい。
あとはこの辺の動作は新規作成時のみに動いてる気がする。

URLについてはセクションの設定で決めれば良いので、自動変換がきになるようなら、別にURL用のフィールドを用意してそちらを利用するといったことでも良いとは思う。

MTのアーカイブマッピングみたいな感じで、柔軟に設定できる。