The Shop page for WooCommerce is generated automatically and overrides the page that you choose for displaying products. The thing is the <title> of the Shop page always equals “Products – Your site name”, no matter what title your selected page has.

Default <title> for the Shop page

Some time we might want to change the <title> from “Products” to something different, e.g. “Catalog” or “My Store”. And we can do it using add_filter() function.

Replaced <title>

Add this code to the functions.php of your theme and voila:

 * Change the Shop archive page title.
 * @param  string $title
 * @return string
function wc_custom_shop_archive_title( $title ) {
    if ( is_shop() && isset( $title['title'] ) ) {
        $title['title'] = 'My Store';

    return $title;
add_filter( 'document_title_parts', 'wc_custom_shop_archive_title' );