should tests be run on the same machine/server the website being tested is located on? Selenium testing
Are there any rules or articles which discuss where tests should ideally be run? Specifically smoke tests. Smoke tests should run quickly after someone checks in new code. If you are looking for fast turnaround time from a test, I would think it is best to have the tests execute/run on the same on which your website and website-server are located (especially if the website being testing is not the production server ... specifically created for running tests against).
If the tests were specifically testing lag time between the client and server machine, maybe it would be necessary to put the tests on a separate machine then; but the tests are not testing latency issues or network issues.
Was just looking for any advice, opinions or links to articles pertaining to where to run tests in relation to the site being tested.
No, but they could.
Typically the test-runner runs on a build-server agent. The build-server builds a build, deploys it to a test-environment and runs the end-to-end tests against the environment. If the agents and the test-environment are in the same network/cloud the network overhead is probably irrelevant anyways.
I would advice the simplest thing that might work, and make it complexer when needed. So if you now deploy your application and run the tests from the same machine and it works for you, keep doing it.