The Search FoRM Dilemma || The Search form Templating

Checking if showing Search Results

The conditional statement you want is is_search() documented here.

Search.php and Content-search.php

Search.php is the template file that corresponds to displaying results from a search form request. If it is not present in the theme (meaning there is no search.php) then wordpress defaults to index.php and uses that.

Changes to search.php will not affect index.php.

In a similar way, content-search.php will be looked for, and if not found, then content.php will be used.

Read about Template Hierarchy here.

Customizing

That said, if you are not already, be sure you are using a Child Theme when customizing.

Codex: About Child Themes.

After you have created your child theme, you can create a copy of the parent theme’s search.php and place it in the child theme directory.

From here, you can create a copy of either content.php and place it in your child theme, or copy it and rename it content-search.php.

Depending on where the items you are trying to remove are located, you may have to perform edits to both of your newly created child theme files (search.php and content.php OR content-search.php) to achieve what you want.


But in regards to your concern for best practices, the specific templates help reduce conditional statements in theme files. Child themes keep you from losing customizations when themes are updated by developers.
Hope that helps.