Normally when devs require a way to modify the output of an archive or taxonomy etc, WP_Query is used, which creates an extra query instead of just modifying the default loop output. To get around this, use pre_get_posts, as below:
```
function tax_custom_query( $query ) {
if ( !is_admin() && $query->is_tax() && $query->is_main_query() ) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query->set( 'posts_per_page', get_option('posts_per_page') );
$query->set( 'paged', $paged );
$query->set( 'meta_key', 'featured' );
$query->set( 'orderby', 'meta_value' );
$query->set( 'order', 'desc' );
$query->set( 'facetwp', true );
}
}
add_filter( 'pre_get_posts', 'tax_custom_query' );
```
The `!is_admin()` is important, otherwise you may find that the admin area page listings are modified. There is also a question mark over whether `is_main_query` actually does anything whatsover, so that could be ommited.