diff --git a/doc/production-hosting.md b/doc/production-hosting.md
index 970aa298b4a6d340945bf37625c6ca0d0264d624..4ecfaeb6ab9bed12a1025bea030af84ba3a14445 100644
--- a/doc/production-hosting.md
+++ b/doc/production-hosting.md
@@ -40,10 +40,6 @@ Production hosting is managed by the Shields ops team:
 | UptimeRobot                   | Account owner                   | @paulmelnikow                                                   |
 | More metrics                  | Owner                           | @RedSparr0w                                                     |
 
-There are [too many bottlenecks][issue 2577]!
-
-[issue 2577]: https://github.com/badges/shields/issues/2577
-
 ## Attached state
 
 Shields has mercifully little persistent state:
@@ -134,6 +130,13 @@ the server. It's generously donated by [Sentry][sentry home]. We bundle
 [sentry home]: https://sentry.io/shields/
 [sentry configuration]: https://github.com/badges/shields/blob/master/doc/self-hosting.md#sentry
 
+## URLs
+
+The canonical and only recommended domain for badge URLs is `img.shields.io`. Currently it is possible to request badges on both `img.shields.io` and `shields.io` i.e: https://img.shields.io/badge/build-passing-brightgreen and https://shields.io/badge/build-passing-brightgreen will both work. However:
+
+- We never show or generate the `img.`-less URL format on https://shields.io/
+- We make no guarantees about the `img.`-less URL format. At some future point we may remove the ability to serve badges on `shields.io` (without `img.`) without any warning. `img.shields.io` should always be used for badge urls.
+
 ## Monitoring
 
 Overall server performance and requests by service are monitored using