|
本帖最后由 yang。 于 2021-7-15 23:15 编辑
Q# s. O3 W1 U' d$ U* K
4 z3 q2 e/ g" s. z' J9 K在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
/ g& G1 k7 o1 l5 H但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
/ T9 A; k7 f$ K& }1 ?( v$ Q: U* }
R8 G* e m0 C5 }. H; ~. v另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
( m; Y& I5 h8 Y! q( O: c! I6 n8 J. }
具体做法是:
9 c$ T( E) H* F, w
8 Y+ \" Y3 P" H! k0 R# k# W$ X0 [1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。" J( ^! | ]: B
假设前置页面的访问路径为 http://www.xxx.com/
$ _( k8 E4 U1 }5 ~2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html 5 o; O0 ~0 `+ a
http://www.xxx.com/iphone/02/index.html2 K; N' G3 x# F- L, I5 H3 S
那么我们在追踪器中设置的LP访问路径为
( e9 J; p& E5 s- z2 B Jhttp://www.xxx.com/?offerUrl=iphone&landUrl=01. ~: C, a' _' A9 D4 Y( j
http://www.xxx.com/?offerUrl=iphone&landUrl=020 B2 C( g, C% L, m6 T5 t8 r: t
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理" v; R, m' L _* S! \9 _: M- p* ^+ S5 W
: F5 l1 Y; I$ Z: ]
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
- N0 J# K" h' \2 t, g; x% i1 {. V" Q) n/ N
9 b2 c9 D- ^- ~# w$ q% u1 T
2.前置页面内容如下1 I0 W3 ~4 h4 R& ~- X
- <!DOCTYPE html>
8 k1 ?: [! I8 N5 ?' y - <html lang="en">
, ~1 I( B; |# e - <head>- g2 V, v% P9 B5 u
- <meta charset="UTF-8"># M# O& b- U( l6 F+ ?- _
- <title>Loading</title>$ S8 E! c# @1 ]+ h. ?
- </head>4 q$ S: D, ^* O3 B Y6 x5 M
- <body>
6 y" L. `/ L9 [ r% u3 s - Loading...
$ ^& J4 ?6 c4 @$ e4 E- U* W- } - </body>
2 p0 _# ]- s$ S+ e - 9 l2 ?( @+ f1 s' H
- <script>
+ X' i" d: b2 ^6 H) @6 @7 W2 w - //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
* o% ]- O. G4 |3 m! |( i - //iphone, v3 j3 |4 k) p3 t/ l9 J1 o/ {
- //01 http://xxx/iphone/01/index.html
0 t! O1 |# ~/ b& g7 [: T - //02 http://xxx/iphone/02/index.html1 c* p& d% o Z1 P
- //以此类推" o5 }8 K$ a* e
-
: e( }$ _" ?4 Z' H+ x% g - 1 c( Y/ S# j+ y; S% [7 }) p% z
-
* k: F* B) h6 x4 L! o - //这里假设我们的offer访问路径是 http://xxx/iphone/01/index.html
0 R* l/ d5 ?5 W' s - //那么我们的offerUrl = iphone,landUrl = 01
% T0 y1 a( T' G+ O- w - ' N+ {* M# N/ O/ J5 x. A e, `7 @
- //从url参数中获取设置好的访问参数- |. w7 M) f9 T4 p+ R/ `+ n/ ^
- const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
. N( ]8 N) f$ ^" N7 c0 ] - const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");, v- H8 b& B- i q: Q1 a
- 9 k5 Y) Y( Q( M( p7 r
- //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径$ N* x) i& ~# B3 [6 ^: m# J& J
- const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);9 T; V/ e7 o" f; e: K/ l3 K
- if(b){
% Z( M2 d$ K0 o K" e. z - setTimeout(function() {7 i% l! u M& J2 p; Q7 _0 N2 t( a
- var params = funcUrlDel(['offerUrl','landUrl']);3 K6 X* D3 Y' M- s& ?& A
- // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
- w9 a8 C: R; U2 k" \ - window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);8 }5 d1 ~- I2 {1 Q1 j$ \
- }, 300);" ]9 v1 U; W$ R. }& p- k
- }else{
复制代码
8 e/ K+ p- P' [) n' q% s4 x; K: k3 f6 ]) h/ t
6 E1 I( v2 F8 x2 g+ y) q
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。! B: `( K/ D) ~3 p( ^* O
# ~3 R x% E# O4 t$ P* ~$ y* B' Y* [* }! x) ^
+ m9 r0 v$ X' L; T# P3 o( J: |. O3 s+ p
6 W7 w* Z; Y' I: E; O: e
% R* [3 a2 K" v |
|