You may be running out of SRAM. Try using the F() function to keep most of your static strings in program memory. For examples:
Serial.print(F("The server is at: "));
// and
Serial.println(F("GET caught, skipping request and printing HTML"));
This should free up some memory. Staying away from the String data types can also help.