2 arduinos 1 shield

You can have one webserver arduino that serves pages from its local SD card, and logging messages are send (e.g. over I2C) to a second arduino that has only an SD Card (cheaper) to log them.