Фильтрация в WordPress без указания параметров в ссылке?
Если objects - это постоянная страница, то все get параметры можно сделать в виде ЧПУ. Об этом подробно расписано тут с примерами.
А вот код, который решает Вашу проблему:add_action('init', 'rewrite_rule_my');
function rewrite_rule_my(){
	add_rewrite_tag('%metro%', '([^&]+)');
	add_rewrite_rule('^(objects)/([^/]*)/?', 'index.php?pagename=$matches[1]&metro=$matches[2]', 'top');
}
Вставляется в functions.php. После вставки обязательно идём в админку -> Настройки ЧПУ и просто жмём "Сохранить", чтобы новые правила вступили в силу. В шаблоне страницы objects получаем значение так (3 способа):get_query_var('metro') // рекомендуемый
$wp_query->query_vars['metro']
$wp_query->query['metro']
а там уже используете его по назначению.
Можно. Добавьте произвольное rewrite_rule которое будет транслироваться в нужные переменные:/**
 * Custom rewrite rules for filters:
 * /objects/%metro%/
 */
function custom_rewrite_rules() {

	add_rewrite_rule(
		'objects/([^/]+)/?$',
		'index.php?pagename=objects&page=&metro=$matches[1]',
		'top'
	);

}
add_action( 'init', 'custom_rewrite_rules' );
В строчке где идет index.php? в примере подставлено правило на базе страницы (pagename=objects). Если у вас там custom post type - модифицируйте URL соответственно.
Что касается роботов - если на эти виртуальные страницы фильтров есть ссылки, то роботы их проиндексируют. Еще можно добавить / убедиться что они есть в sitemap.xml. Если наоборот, не нужно чтобы они индексировались - применяйте стандартные приемы - nofollow, noindex, исключайте из карты сайта.