In the CMS, you can make a page not show up in searches.
Alternatively, you could create a subclass of SearchForm, where you override searchEngine() to something like:
public function searchEngine($keywords, $numPerPage = 10, $sortBy = "Relevance DESC", $extraFilter = "", $booleanSearch = false, $alternativeFileFilter = "", $invertedMatch = false) {
return parent::searchEngine($keywords, $numPerPage, $sortBy, "SiteTree.ParentID = 0", $booleanSearch, $alternativeFileFilter, $invertedMatch);
}
Then use that class instead of SearchForm.