Redirecting to AMP (reader mode) for mobile

I’m not a big fan of AMP but I do have it active here on this blog using the official AMP plugin for WordPress, using it in “Reader” (aka “classic”) mode. That’s as far as I want to take it, but suppose (as was the case for an Autoptimize/ Critical CSS user I was helping out) you want to redirect all mobile traffic to AMP, then you could use below code snippet to do just that.

 add_action('init','amp_if_mobile'); function amp_if_mobile() { $_request = $_SERVER['REQUEST_URI']; if ( strpos( $_request, '?amp' ) === false && strpos( $_request, '&' ) === false && ! is_admin() && wp_is_mobile() ) { if ( strpos( $_request, '?' ) === false ) { $_amp = '?amp'; } else { $_amp = '&'; } $amp_url = home_url() . $_request . $_amp; wp_redirect( $amp_url ); exit; } } 

It might be a little rough around the edges, but it (mostly) gets the job done ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.