The solution that's the easiest ald very likely also the most flexible and reliable has already been suggested:
Use a "stadard" Arduin Ethernet Shield and connect it per Ethernet Cable to a small WiFi router. e.g. the TP-Link TL WR703n (or use the 702n or the 3020).
The benefits of this approacha are:
- less expensive than a single Arduino WiFi Shield
- You can use all the libraries and Sketches that are written for the Ethernet Shield.
If it has to be small I'd use a CC3000 from Adafruit, but makle sure you'll evaluate what what you want to achieve in detail (what protocols to use etc.) and compare with specs and available libraries.
I use a Teensy++2 and a WIZ812MJ as well as a Teensy 3 connected to a WIZ820io connected to a TP-Link TL WR703n in my projects and it has not let me down.