2

I have a mobile optimized Blogger site: https://www.thetrueperspective.com.

The problem is that when I share a link from the mobile version of the site, it automatically shares the ?m=1 version of the link. This causes anyone on a desktop browser to view the mobile version of the site on their desktop.

Is there any way to:

  1. Stop blogger from sharing the ?m=1 link?

  2. To automatically have the website show the desktop version when viewing on a desktop browser?

Your help in this regard will be highly appreciated!

Prayag Verma
  • 5,500
  • 3
  • 27
  • 53
Hamza
  • 21
  • 3

1 Answers1

0

The best method would be to completely remove the ?m=1 query parameter from the sharing URLs so that this problem doesn't occur in the first place. Based on individual themes, every instance where ?m=1 is present in the URL in the mobile theme code, will need to be replaced by the canonical URL.

If only the sharing URL needs to be changed, as the website utilizes AddThis sharing button, then adding the following code will help -

<script type="text/javascript">
    var addthis_share = {
        url: "<data:view.url.canonical/>",
    }
</script> 

Otherwise, if you want to implement the logic for always opening the desktop version (?m=0 version) when the visitor is viewing the website from a desktop user agent, then the code will be as follows -

<b:if cond='data:blog.isMobileRequest'>
    <script>
        var isMobile = false;
        // device detection
        if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { 
            isMobile = true;
        }
        if(!isMobile){
            window.location.href = window.location.href.replace('m=1','m=0')
        }
    </script>
</b:if>

Mobile Test Condition reference - What is the best way to detect a mobile device in jQuery?

Prayag Verma
  • 5,500
  • 3
  • 27
  • 53
  • thanks so much! I'm a little hesitant to change the sharing URL because that would only work when the AddThis buttons are used for sharing. If a user on mobile decides to copy + paste the link from the browser bar, that would also include the `?m=1` and the end and cause the mobile site to load on the desktop. – Hamza Apr 27 '18 at 17:54
  • Thanks for sharing the script for forcing `?m=0` on desktop. I'll test it out and update if there are any errors. However, I'm currently using the following code to force `?m=0` redirects on desktop: `` Which code do you recommend I should be using here? – Hamza Apr 27 '18 at 17:58