How can I remove a spam page from my website index?

You can disavow all you want, it won’t stop this. Every shop is experienced thousand or millions of new indexed pages daily, as you can see across these boards. It’s an exploit that Shopify is choosing to ignore rather than address.

The only solution that I’ve found so far from @Jizo_Inagaki is to do the following:

Go to the theme.liquid file and enter the following code in the section:

{%- if request.path == ‘/collections/vendors’ and collection.all_products_count == 0 -%}

{%- endif -%}

This should add a ‘noindex’ tag to the collection/vendors pages being exploited. As your site is crawled in the future, it will remove current pages and stop future ones from being indexed on your site.

Shopify is choosing to ignore this, so hopefully that stops the bleeding for now.