Can Collections Default to A-Z order instead of Best Selling

Topic summary

Main issue: Collections in Shopify default to “Best selling,” which is impractical for new merchandise. The poster has hundreds/thousands of collections and notes you can’t set the default sort until a collection finishes processing (can take ~10 minutes), requiring a return later.

Proposed workaround: Use the Shopify Admin API via a private app. A Python script fetches all custom collections and updates their sort_order to “alpha-asc” (A–Z), and can be scheduled to run regularly.

Implementation details: Script calls Admin API endpoints for custom_collections (example uses API version 2021-04). It only updates collections not already set to A–Z.

Perspectives: The poster questions the value of “Best selling” for new items and claims customers distrust such lists. No rationale for Shopify’s default was provided.

Outcome/status: Concrete API-based solution offered to enforce A–Z post-creation; no built-in setting to default new collections to A–Z was provided in the thread. The question of why Shopify defaults to “Best selling” remains unanswered.

Note: The Python code snippet is central to the solution.

Summarized with AI on December 25. AI used: gpt-5.

Before everyone gets all excited and explains how to go into a collection and change the sort, we all know that.

What I want to know is why does it default to best selling. We have 100s, if not 1000s of collections.

Also when we make a collection, you can’t set the default sort until its down processing.

You could be waiting 10 minutes or need to go back.

I want a new collection to DEFAULT to A-Z order.

What is the point of “Best Selling” if its new merchandise.

Customers don’t care about “best selling” lists. They know they are fake.

Hi,

You can use Shopify Admin API

  1. You need to create private app to get API credentials

  2. Python script to fetch collections and update sort order.

Example of Script

import requests
import json

# Replace with your actual values
API_KEY = 'your_api_key'
PASSWORD = 'your_api_password'
SHOP_NAME = 'your_shop_name'
API_VERSION = '2021-04'

def get_collections():
    url = f"https://{API_KEY}:{PASSWORD}@{SHOP_NAME}.myshopify.com/admin/api/{API_VERSION}/custom_collections.json"
    response = requests.get(url)
    return response.json()['custom_collections']

def update_collection_sort_order(collection_id):
    url = f"https://{API_KEY}:{PASSWORD}@{SHOP_NAME}.myshopify.com/admin/api/{API_VERSION}/custom_collections/{collection_id}.json"
    data = {
        "custom_collection": {
            "id": collection_id,
            "sort_order": "alpha-asc"
        }
    }
    response = requests.put(url, json=data)
    return response.json()

def main():
    collections = get_collections()
    for collection in collections:
        if collection['sort_order'] != 'alpha-asc':
            update_collection_sort_order(collection['id'])
            print(f"Updated collection {collection['id']} to A-Z order")

if __name__ == "__main__":
    main()
  1. Schedule script to run at regular intervals.

Hope this will help