Hide the Drupal /user/register form from spam, but leave open registration to Commerce/Ubercart
Basically you can keep user registration functionality, notification emails etc.. and prevent access to the user register page by either altering the registration form, or better yet, the page callback for the entire page.

e.g:

/** 
 * Implements hook_menu_alter
 **/
function MODULE_menu_alter(&amp;$items) {
  // Deny all access to the user/register page.
  // Administrators can still create user accounts via admin &gt; people
  // Notification emails etc.. are still operational
  // and Commerce / Ubercart can create user accounts following checkout etc..
  $items['user/register'] = array(
    'access callback' =&gt; FALSE,
  );
}