You can also serve a registration page directly from the shard itself; Spin up an HttpListener on a different port and have it serve a registration.html page from the local /web folder.
The listener can also handle form submissions for processing the user's input and creating the account - it's just a case of deserializing the input values and using them to create the account, with the Email property then being set on the newly created account object.
You'll need to push the registration through the same logic that auto account creation uses, to ensure that things like IP limits, bans, etc, are honoured properly.
When you have your page set up, simply use an <iframe> on your website to display the registration form from your shard's http://<IP>:<PORT>