Try our conversational search powered by Generative AI!

Changing Link type for Mobile and Desktop

Vote:
 

Hi,

Is it possible in EPIServer 6 to set the Link Type upon loading? What I want to achive is when the user is using desktop, the link type should be "Link to this page". But if they are using mobile, I want to change it to "Shortcut to page in EPIServer CMS". I'm thinking this is faster than recreate our website into a responsive site. Any help will be appreciated.

Thanks.

#120712
Apr 23, 2015 5:30
Vote:
 

Hi,

First of all it's not necessary to create three threads for the same question :)

It's not clear what you're trying to achieve here. Do you want to change the default value in the 'Shortcut' property for editors, or do you want to change the behaviour for visitors? If you want to change the behaviour for visitors, can you be a bit more specific about what you want to change and why?

There is no good solution to check whether a visitor is using a mobile (or small screen) or desktop, other than checking the useragent string, which is not recommended.

#120713
Apr 23, 2015 8:38
Vote:
 

If you need a dirty fix which is not 100% reliable, you can use the following code:

<%@ Import Namespace="System.Text.RegularExpressions" %>
<%
    string u = Request.ServerVariables["HTTP_USER_AGENT"];
    Regex b = new Regex(@"(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|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|xda|xiino", RegexOptions.IgnoreCase | RegexOptions.Multiline);
    Regex v = new Regex(@"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\-", RegexOptions.IgnoreCase | RegexOptions.Multiline); %>

<% if ((b.IsMatch(u) || v.IsMatch(u.Substring(0, 4)))) { %>
<a href="#">Shortcut to page in EPIServer CMS</a>
<% } %>
<% else { %>
<a href="#">Link to this page</a>
<% } %>

Source: http://detectmobilebrowsers.com/

#120720
Edited, Apr 23, 2015 10:00
Vote:
 

Hi Johan,

Sorry about posting 3x. :)

I want to change the behavior for visitors. My problem is this: We have a website that is created with desktop and mobile version. For example: http://mysite/en-us for desktop and http://mysite/en-us/mobile for mobile. Our client don't want to have different URLs as it affects SEO. Best solution I think is to recreate the whole site and make it responsive, but I'm not yet suggesting that since it will take time and it requires a huge change with our current set up.

So I'm looking for an alternative and I thinking of the "Link type" option in EPIServer.

 

Is there a way in the code to change the Link type value of a page? Sample http://mysite/en-us , if visitor is using desktop, the link type will be the default 'Link to this page'. But if they are using mobile, same URL http://mysite/en-us but link type will be set to 'Shortcut to page in EPIServer' and internal shortcut will be the mobile version of that page.

 

If only I know how EPIServer determines what to display. I can't see it on our code. :(

#120766
Apr 24, 2015 3:23
Vote:
 

Don't worry about duplicate content, it's easy to fix with a canonical url meta element. I don't see how Link type would fix any of these issues.

#120772
Apr 24, 2015 8:27
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.