Just tried to deploy new salesforce custom site via Metadata API (ant tool) and also tried Eclipse but target org returns the following message:
The Force.com Site subdomain has not been set in the organization
I have modified Metadata and specified username and unique sub-domain name. Example of Custom Site metadata file is below:
Is it generally possible to create Force.com site via Metadata API – did not find any evidence in documentation.
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sites.htm
Also can not find Force.com Site among unsupported components
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_unsupported_types.htm
Best Answer
Do not find a way to register force.com site domain through Metadata API/Migration tool.
Most likely in order to be able to deploy Site configuration you need to register your force.com site sub-domain first, manually, through salesforce interface (see screenshot attached)