When I have some basic data going onto an ethernet shield, the IP address only works on computers/tablets at home. Elsewhere, it doesn't. How can I get the address to work elsewhere? I'm guessing this is related to having a static IP, perhaps?
No you don't need a static ip necessarily although that makes life a lot easier.
The main thing is that you need to forward a port on your router, and then in your sketch, use that port number in this line:
EthernetServer server(8085); //server port
Then you do need to know what your router ip is of course, and there are various ways of doing that. One easy way is to look next to your posts here on the forum and it will tell you!
If you go to PortForward there's a utility to test if a particular port is open on your address. There's also info on how to do port forwarding for various makes of router: it of course varies across makes. Beware that it's often called "Virtual Server" which is what my brand of router calls it.
I couldn't use port 80 for some reason (probably to do with my isp) so I use 8085.
A compromise between having to search for your ip somehow or other each time you want to access your router, and getting a static ip, is to use a dynamic dns company such as dyn.com who will give you a url and they keep that linked to your ever-changing ip, under the hood. You need to set that up on your router as well.
You can see my simple site here.
edit: I suggested to mods that they move this thread to Networking.