When Google announced the “Mobilegeddon” or mobile friendly algorithm update, I knew it was time to purchase WPtouch WordPress plugin and get all my websites mobile friendly. So, I have purchased WPtouch and installed it on all my websites, but to my surprise even after installing WPtouch, two of my WordPress websites keep on showing the desktop version on mobiles.
Since this is the first time I am working with WPtouch, I am not sure what was the reason for this issue. I have researched for several hours about this issue and finally I have found that WPtouch will only work on websites having W3 Total cache, if you configure it properly. Since only few people have posted all the necessary configuration details, I am going to teach you how to configure W3 Total cache properly so that it will work with WPtouch without any issues.
Configure W3 Total Cache To Work With WPtouch WordPress Plugin

How To Configure W3 Total Cache To Work With WPtouch

1) To get started, log into your WordPress admin Panel, click on Performance and then click on “Browser Cache“. In the “Browser Cache” options, make sure that you have unchecked the box next to “Set Expires Header“.
Disable Set Expires Header W3 Total Cache
This will prevent the Mobile and desktop version switching issue. Once done, scroll down to the end of the page and click “Save All Settings“.
2) Next, click on “Page Cache” settings in the W3 Total Cache main settings. In the “Page Cache” options, scroll down until you see the “Rejected User Agents“. Once you are in there, copy and paste the following user agents one by one.
iPhone
iPod
Android
BB10
BlackBerry
webOS
IEMobile/7.0
IEMobile/9.0
IEMobile/10.0
MSIE 10.0
iPad
PlayBook
Xoom
P160U
SCH-I800
Nexus 7
Touch
Rejected User Agents W3 Total Cache WPtocuh
Once you have entered all these agents under “Rejected User Agents“, scroll down to the end of the page and click on “Save All Settings“.
3) Now, click on “Minify” in the W3 Total Cache main settings. In the “Minify” settings page, scroll down to “Rejected User Agents” and copy & paste the following user agents.
iPhone
iPod
Android
BB10
BlackBerry
webOS
IEMobile/7.0
IEMobile/9.0
IEMobile/10.0
MSIE 10.0
iPad
PlayBook
Xoom
P160U
SCH-I800
Nexus 7
Touch
Rejected User Agents Minify W3 Total Cache
Once done, click on “Save all Settings“.
4) If you are using CDN for your website and configured it with W3 Total cache, click on CDN settings under the “Performance” tab, scroll down to the “Rejected User Agents” option and copy and paste the user agents given in Step 3. If you are not using CDN, then you won’t have to worry about this setting.
5) Now, click on “Dashboard” under the Performance tab and once you are in W3 Total Cache main Dashboard, click on “Empty All Caches“.
W3 Total Cache Empty All Caches
6) Next, go to WPtouch Settings -> Core Settings -> Compatibility and make sure that “W3 Total Cache” is enabled to be loaded for mobile requests.
W3 Total Cache Enabled WPtouch
That’s it. Now you have successfully configured W3 Total cache and it will work perfectly with WPtouch WordPress plugin. If you encounter desktop / mobile version switching issues after following this tutorial, do let me know via comments.