Yesod 1.6 was released in February of this year. This new version changes how subsites are implemented, which breaks most Yesod web applications. I did not find many good resources describing how to migrate web applications to 1.6, so I am documenting the steps I took to fix my website. It was not immediately obvious what changes needed to be made, so hopefully this is helpful for others.
My website was originally running on Stackage LTS 9.2, so I upgraded to LTS 12.2 by updating my stack.yaml
file:
resolver: lts-12.2