Новости

Редирект на мобільну версію сайту

  1. Робимо мобільний редирект на PHP
  2. Передача міток і субаккаунтов на мобільний Лендінгем за допомогою PHP
  3. Передача UTM-міток
  4. передача субаккаунтов
  5. Мобільний редирект в .htaccess
  6. Перенаправлення на мобільну версію сайту в HTML (JavaScript)
  7. Передача міток і субаккаунтов на мобільний Лендінгем за допомогою JavaScript
  8. Передача UTM-міток
  9. передача субаккаунтов
  10. Який спосіб мобільного редиректу краще?

Робимо мобільний редирект 3-ма способами

Нещодавно одна людина написала мені з проханням підказати, як перенаправити користувачів мобільних пристроїв на іншу сторінку. Він займається арбітражем трафіку і потрібно відокремити «мобільних» відвідувачів від «немобільних» і автоматично відправити перших на адаптований Лендінгем, причому зробити це за допомогою JavaScript.

Мене ця тема зацікавила, тому що сам я, часом займаючись арбітражем, не здогадувався автоматично розділити потік трафіку виходячи з пристрою. Так що зараз розповім про 3-х способах зробити редирект на мобільну версію сайту - за допомогою php, .htaccess і html (точніше - JavaScript).

Робимо мобільний редирект на PHP

Суть тут в тому, що кожен пристрій повідомляє серверу свій т.зв. User Agent ( «юзер-агент»). У цьому юзер-агента знаходиться інформація про даний пристрій. Відповідно, за допомогою PHP ми цю інформацію витягаємо і, якщо по ній ясно, що пристрій - мобільний, робимо редирект.

У мобільних пристроїв існує просто купа різних юзер-агентів. Я знайшов код, де враховані, напевно, майже всі ці агенти:

<? Php $ uagent = $ _ SERVER [ 'HTTP_USER_AGENT']; if (preg_match ( '/ (android | bb \ d + | meego). + mobile | avantgo | bada \ / | blackberry | blazer | compal | elaine | fennec | hiptop | iemobile | ip (hone | od) | iris | kindle | 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 ', $ uagent) || preg_match (' / 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 | \ - [aw] ) | 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 ', substr ($ uagent, 0,4))) header (' location: http: // site .ru / mobile / '); ?>

Вставте код в самий початок документа, а замість http://site.ru/mobile/ підставте URL, на який повинні відлітати мобільні користувачі. Зверніть увагу, що перед цим кодом не повинно бути навіть пробільних символів і перекладів рядків - такі вже особливості редиректів на PHP.

Передача міток і субаккаунтов на мобільний Лендінгем за допомогою PHP

Зазвичай при веденні рекламних кампаній потрібно отримати якомога більше інформації про трафік. Для цього використовуються, в основному, UTM-мітки і субаккаунти для CPA-мереж . Добре б при перенаправлення відвідувача на мобільний Лендінгем передати і всі ці дані.

Передача UTM-міток

Наприклад, люди потрапляють на сторінку http://site.ru/page/?utm_source=xxx&utm_medium=yyy&utm_content=zzz. Потрібно, щоб всі мобільні користувачі пішли на http://site.ru/ mobile /? Utm_source = xxx & utm_medium = yyy & utm_content = zzz.

Для цього можна просто відрізати все, що після? і приклеїти до мобільного URL. Однак, якщо вихідна сторінка вже містить GET-параметри, то краще окремо «вицепіть» все UTM-мітки - це більш універсальний варіант. Підсумковий код виходить такий:

<? Php $ uagent = $ _ SERVER [ 'HTTP_USER_AGENT']; if (preg_match ( '/ (android | bb \ d + | meego). + mobile | avantgo | bada \ / | blackberry | blazer | compal | elaine | fennec | hiptop | iemobile | ip (hone | od) | iris | kindle | 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 ', $ uagent) || preg_match (' / 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 | \ - [aw] ) | 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 ', substr ($ uagent, 0,4))) {$ utm_source = $ _ GET [' utm_source ' ]; $ Utm_medium = $ _ GET [ 'utm_medium']; $ Utm_content = $ _ GET [ 'utm_content']; header ( 'location: http://site.ru/mobile/?utm_source='.$utm_source.'&utm_medium='.$utm_medium.'&utm_content='.$utm_content); }?>

передача субаккаунтов

Щоб зрозуміти принцип дії, почитайте статтю про UTM-мітки і субаккаунти в CPA .

Якщо партнерська посилання, по якій мобільний відвідувач повинен піти, така http://advjump.com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-xxx&subid1=yyy&subid2=zzz, то останній рядок в коді вище стає такою:

header ( 'location: http://advjump.com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-'.$utm_source.'&subid1='.$utm_medium.'&subid2='.$utm_content);

Тобто тут ми з UTM-міток отримали дані для субаккаунтов.

Мобільний редирект в .htaccess

Сенс той же - досліджуємо юзер-агент. Якщо потрібно зробити перенаправлення з http://site.ru/page/ на http://site.ru/mobile-page/, то додайте в .htaccess такий код:

RewriteCond% {HTTP_USER_AGENT} (? I: midp | samsung | nokia | j2me | avant | docomo | novarra | palmos | palmsource | opwv | chtml | pda | mmp | blackberry | mib | symbian | wireless | nokia | hand | mobi | phone | cdm | upb | audio | SIE | SEC | samsung | HTC | mot- | mitsu | sagem | sony | alcatel | lg | eric | vx | NEC | philips | mmm | xx | panasonic | sharp | wap | sch | rover | pocket | benq | java | pt | pg | vox | amoi | bird | compal | kg | voda | sany | kdd | dbt | sendo | sgh | gradi | jb | dddi | moto | iphone | android) RewriteRule ^ ([^ mobile ] *?) page /? $ http://site.ru/mobile-page/ [R = 301, L]

Ця конструкція повинна йти після рядка RewriteEngine On (якщо її немає - додайте).

Якщо ж потрібно відправити всіх мобільних відвідувачів на mobile-версію сайту (з будь-якої сторінки на http://m.site.ru/), то останній рядок з коду вище може мати такий вигляд:

RewriteRule ^. * $ Http://m.site.ru/ [R = 301, L]

Як передати UTM-мітки і субаккаунти за допомогою .htaccess я розглядати не буду, тому що багато там проблем. Та й взагалі, якщо ви не дуже розумієте представлені тут коди, то краще використовуйте варіант з PHP або JavaScript, мова про який далі.

Перенаправлення на мобільну версію сайту в HTML (JavaScript)

Іноді немає можливості щось редагувати на сайті на стороні сервера - наприклад, ви використовуєте конструктор сайтів. Тут-то і стане в нагоді редирект на HTML, а точніше - на JavaScript, тому що на простому HTML потрібні умови не прописати.

Якщо потрібно перекинути мобільних користувачів на сторінку http://site.ru/mobile/, то можна використовувати такий код:

<Script type = 'text / javascript'> if (window.innerWidth <600) location.href = 'http: //site.ru/mobile/'; </ Script>

В цьому випадку всі відвідувачі, у яких ширина екрану менше 600 px полетять на http://site.ru/mobile/. Якщо потрібна менша ширина - міняйте 600 на менше значення.

Передача міток і субаккаунтов на мобільний Лендінгем за допомогою JavaScript

При перенаправлення цим способом також можна зберегти дані про трафік.

Передача UTM-міток

Якщо потрібно, щоб всі мобільні відвідувачі, що зайшли на http://site.ru/page/?utm_source=xxx&utm_medium=yyy&utm_content=zzz перекинулися б на http://site.ru/ mobile /? Utm_source = xxx & utm_medium = yyy & utm_content = zzz, то можна використовувати наступний код:

<Script type = 'text / javascript'> if (window.innerWidth <600) {var url = 'http: //1derevo.ru/mobile/', l = location.href; var utm_source = l.match (/ utm_source = [^ &] * /); var utm_medium = l.match (/ utm_medium = [^ &] * /); var utm_content = l.match (/ utm_content = [^ &] * /); location.href = url + '?' + utm_source + '&' + utm_medium + '&' + utm_content; } </ Script>

передача субаккаунтов

Якщо нам потрібно відправити мобільного користувача за адресою com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-xxx&amp;subid1=yyy&amp;subid2=zzz> http://advjump.com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-xxx&subid1=yyy&subid2=zzz , То код трошки зміниться:

<Script type = 'text / javascript'> if (window.innerWidth <600) {var url = 'http: //1derevo.ru/mobile/', l = location.href; var utm_source = l.match (/ utm_source = ([^ &] *) /); var utm_medium = l.match (/ utm_medium = ([^ &] *) /); var utm_content = l.match (/ utm_content = ([^ &] *) /); location.href = 'http: //advjump.com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/? subid = mobile -' + utm_source [1] + '& subid1 =' + utm_medium [1] + '& subid2 =' + utm_content [1]; } </ Script>

Тобто з UTM-міток отримали субаккаунти.

Який спосіб мобільного редиректу краще?

За швидкістю перенаправлення краще PHP і .htaccess, тому що тут відвідувач навіть не бачить, що його перекидає. Однак тут все прив'язане до юзер-агенту. Якщо у відвідувача буде невідомий юзер-агент, то редиректу не відбудеться.

З JavaScript-перенаправленням юзер-агент не важливий, тому що перевіряється тільки ширина екрану. Але тут відвідувач може помітити, як спочатку потрапляє на одну сторінку, а потім його перекидає на іншу.

Так що вирішуйте самі, який вид мобільного редиректу вам більше до душі

Ru/page/?
Для цього можна просто відрізати все, що після?
Com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?
Com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?
Ru/page/?
Href = url + '?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: