This is tricky (+1) but being a mouse potato, I'll try my best for this!
We prefer using on when it is all about the site or the platform or for such matter even the portal. It's bigger. You see something on the Internet and so the sites on it (not just restricted to social media). I read that on the BBC Website.
On the other hand, when you write or read something within some block, you use in. You always write your message in your email and you see someone's message in your inbox. It's within that particular frame, block or whatever you say.
As a general rule, on is for some surface and in is for something inside. With a little adjustment, we can make this out. On the website and in the email.
Additional but maybe, a useful note: There could be change in the website. However, that's from a webmaster's view. That's again because when the change happens, it happens within the frame provided (Say WordPress or HTML). One may say... There is a change (to be done) in our homepage -put this element there.
On the other hand, if the visitors are talking about a change, for them, it's the change on the website. Because again, what I said, for them, it's just happening over the surface! One may say ... I see the change on this website. The element which was here is here now...