How to "use Search by Page as its own entity"?
If it suits your workflow you could just deny access to those two search pages using hook_menu_alter():

function MYMODULE_menu_alter(&amp;$items) {
  $items['search/node']['access callback'] = FALSE;
  $items['search/user']['access callback'] = FALSE;
}


If you still need to provide access to those paths under normal circumstances, and just hide the tabs on the search-by-page page, you can provide a function for the access callback that does a quick check on the current URL:

function MYMODULE_menu_alter(&amp;$items) {
  $items['search/node']['access callback'] = 'MYMODULE_search_page_access';
  $items['search/user']['access callback'] = 'MYMODULE_search_page_access';
}

function MYMODULE_search_page_access($name) {
  // Deny access when on a search-by-page page
  if (arg(0) == 'search' &amp;&amp; arg(1) == 'search_by_page') {
    return FALSE;
  }

  // Otherwise return the default access callback
  return _search_menu($name);
}