Mega + Wifi shield get request timeout

A couple things. The GET should have only the page in the request, and the domain should go in the Host parameter.

if (client.connect(server, 80)) {
    Serial.println("connected to server");
    // Make a HTTP request:
    client.println("GET /page-traffic-light/ HTTP/1.0");
    client.println("Host: energyelephant.com");
    client.println("Connection: close");
    client.println();
  }

You should read until the server closes the connection like this. This is the "Perfect World" version. The "Real World" version has a timeout feature to prevent a lockup if the connection breaks or the server stalls.

while(client.connected() {
  while (client.available()) {
     char c = client.read();
     Serial.write(c);
   }
}

edit: Oops! I forgot the protocol in the GET line. HTTP/1.0