|
|
本帖最后由 yang。 于 2021-7-15 23:15 编辑
8 k2 i* v% Y/ H0 \& d# k/ C' X* _& p( |- ^( p- _/ H, n6 l, a
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。9 T( k" ?: m7 R- o" M! ?
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。- T; t- _1 j. z) Q% b2 D
, C5 A% |* L+ o* m1 [$ p另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。; k2 A- j* d( |% Y; s3 \5 [
% D# P& m K( R- F
具体做法是:6 _! s" z8 u, {$ z
3 s+ P2 ` x( Y) G. b/ A# {& m
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。) N" h% J+ n* K2 @6 E$ q" _5 w& b
假设前置页面的访问路径为 http://www.xxx.com/+ p& O1 w. a4 n5 l& ~
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html # v' _6 A& x; R( `4 W! r1 Z
http://www.xxx.com/iphone/02/index.html
$ O1 X+ ]% g0 o7 [3 ]那么我们在追踪器中设置的LP访问路径为7 z K( u- z; T% \. c$ D6 K5 T
http://www.xxx.com/?offerUrl=iphone&landUrl=01
8 S2 b. ]: H" M! n3 j+ ghttp://www.xxx.com/?offerUrl=iphone&landUrl=029 o# ]9 X! m7 b! G
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理* w( g8 q' e1 z1 z
/ T; U8 n9 y1 H) Z# f
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。6 Q; A$ K0 O( r( b z8 J9 \" C
& z" p, T0 S9 E" f/ x1 J$ i2 X; O; _, z2 C1 _1 U* g9 ?9 L( p
2.前置页面内容如下9 J# @; s& s, u, N* O
- <!DOCTYPE html>
3 g$ c* @4 @( C# F1 s6 H - <html lang="en">
/ G, Y" S' l1 d: H H7 @ - <head>% P6 {& u: a8 R( i @# g5 O
- <meta charset="UTF-8">2 {' L. S. T3 M* e/ p
- <title>Loading</title>
3 }+ s( P% S1 j, ~9 ^; c2 L$ p0 g- D - </head>
v6 G* y# m" u5 w2 I# ^ - <body>3 _! J" s2 j: ?9 N3 x
- Loading...) E- m3 a; p- J$ @. P! _
- </body>% o' R8 {( O- U4 L
, ~% r2 r& Y7 [9 }; R5 n- <script>
/ M9 ^' K3 |# d( x1 z0 d& q$ s - //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成* j# Y/ [. J9 z" q u- F9 \! a9 Z# J
- //iphone. m1 u$ U2 h) U# T0 R
- //01 http://xxx/iphone/01/index.html
7 B& Q$ X8 C& b - //02 http://xxx/iphone/02/index.html
G7 n f6 S7 W Q - //以此类推
5 u4 T8 a& R5 g: Q1 t5 p0 ? - ( Z! ~. S: d4 e1 H* \
-
- t6 @+ @& C4 {( v9 ^ - & X- H2 | b) n! E- x& F4 R' t
- //这里假设我们的offer访问路径是 http://xxx/iphone/01/index.html
7 B' E# a+ i1 _1 C$ R1 k' l1 o0 W3 w - //那么我们的offerUrl = iphone,landUrl = 015 y3 ~0 A0 Y" @5 L3 X: n1 L: y
-
% s! @7 b4 L' j( _ - //从url参数中获取设置好的访问参数& [2 t4 i) O% \3 B; r1 }* A5 N' b% T
- const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");" \8 q3 z3 |6 `! i* E
- const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");- @% L8 y1 y( e" F5 o. ]
- 8 }" m/ q( z3 V1 n I
- //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
- U( i0 m" k' [) |+ \/ f* m - const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
( I& Z Q3 Y! y) ]& ^ - if(b){* D0 W' v6 }# w# _; R
- setTimeout(function() {
]6 q: _0 A1 q, z9 \3 M - var params = funcUrlDel(['offerUrl','landUrl']);* z& k0 g& ^. f O& ~3 _
- // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
" K( u# C2 u) I4 @7 s) k - window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
% {5 e$ m5 @% ~$ a - }, 300);
2 h+ K5 H: h5 ? - }else{
复制代码 , R, I- s1 H/ n$ B) ?& A) n
3 ?) h8 N0 g% F8 f0 _1 @
5 E: ]/ v3 ]2 t只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。! n6 y: y7 {- Q8 f; E3 y" u
9 w( l6 F9 M3 `7 d4 {) t$ {
3 Z5 E8 l6 c9 J1 ~; A1 s# n* D
V7 W8 m( M2 p* n$ u2 ?: O
6 g. F% e0 o1 I/ r8 z i4 R3 A
2 T4 c$ q x$ Z0 G/ ^9 a# z' Q
( n* y1 g' k$ i7 V; N; M+ `# F |
|