AFAIK, out-of-the-box WordPress does not include taxonomies, such as tags and categories, in it's search, only post titles & content.
I'm sure this has always been the case, so I'm a little confused as to why it 'used to work'. Perhaps the pages have been modified, and used to contain the search terms themselves, but no longer do?
UPDATE: Taking a look at your
functions.php, I see three possible troublemakers;
- Line 572,
- Line 597,
- Line 776,
add_filter('posts_groupby', 'group_by_post_type' );
I suggest, one at a time, commenting out the line (prepend the line with
//) and then testing a search. If there are no improvements, try all three commented out and work your way backwards. Either way you should be able to isolate the problem.
Also, two minor improvement suggestions (off-topic);
- Remove the line
add_action('init', 'my_init_method'); (it's worthless)
- Remove the two
update_option calls at the top (unneccessary database writes on every request).