Here is a list of tips on how to make sure your game takes the least amount of space possible, so that your players can experience fast first-time load times.
You may also turn on the Combine All Script Files and Compress Script & Data Files to reduce size further. On some webservers (i.e. nginx) you may need to keep the uncompressed files as well, so you should tick Keep Uncompressed Files.
Turning off Generate Reflection Metadata will also reduce the output size, although you won't be able to use reflection. If you do not care about reflection, we suggest keeping this off.
Using Generate IE9 Files will generate an additional data file, however that file will only be loaded instead of the normal data file on IE9, so it will not cause your load time to suffer on all other browsers in any way.
Once you are done building your game, you can open the Modules tab on the Export2Canvas Settings window and start excluding modules which you are not using. Don't be afraid to untick something. Once you try rebuilding your game you will likely get an error if you unticked the wrong module. The less modules your game uses, the smaller it will be.
Try to avoid using the Box2D module (avoid using Rigidbody2D), unless absolutely necessary. The Box2D module takes up a lot of space and often time you may just need a simple circle-to-circle collision check which is very easy to implement. If you exclude the Box2D module you will still be able to use 2D colliders and raycasts, as that functionality is separate from the physics engine.
Use built-in JSON
Use the built-in JsonUtility static class instead of using a 3rd-party JSON plugin. JSON plugins often take up a lot of space and some of them might not even be compatible. JsonUtility however is implemented using the already browser built-in JSON object, hence comes at nearly no cost.