|
|
本帖最后由 yang。 于 2021-7-15 23:15 编辑 ) L3 x; c* {3 y" S) [1 L9 l3 T9 O3 I
' Y* v- r! v6 a, r: r
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。" C4 e" `/ X6 R9 ~" ]4 m
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
/ F2 ?$ P- v5 k+ |' T0 N3 a/ M: K9 Z3 F# a4 z: F
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
, {+ J V7 u5 x! a
, \9 d# l" g) P, f具体做法是:
4 Q" y; _) x! B4 R
8 Q: w2 a. F' ^% H3 k# C) D! d% [1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
2 T) U! {% `+ B4 p& K2 l4 \2 j假设前置页面的访问路径为 http://www.xxx.com/7 t0 \5 _, n: f2 g# r5 M5 ]. h
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html 9 N: F r3 q' b9 a7 ~/ \! h
http://www.xxx.com/iphone/02/index.html0 _% F9 L* M& S- I% |; K0 V# h
那么我们在追踪器中设置的LP访问路径为
|. O4 j6 f F* ^! {% H) K; k/ Vhttp://www.xxx.com/?offerUrl=iphone&landUrl=01& X0 O& r2 T1 M. a
http://www.xxx.com/?offerUrl=iphone&landUrl=02: g6 ^& v1 K2 O/ ^! R& a+ g# i
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理6 g( @* P; n# Q4 @9 i8 X' F, m
& I2 o+ b1 F6 Y! U# S4 ]! x- p这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
- T8 {: C( d* |8 w! j2 o; p. P8 M: e, i3 q) w) Q
' V6 P! e# d; x0 M7 e& \! I% b0 n
2.前置页面内容如下
6 Y6 o4 O, b6 Z4 P, Y) F- <!DOCTYPE html>; ^7 s& l7 E' F9 U$ T1 _4 s3 M
- <html lang="en">
o: r( p. r! P! \ - <head>5 v" _: E9 n7 c% r3 ~" A
- <meta charset="UTF-8">
8 i4 r+ D# f# k" o - <title>Loading</title>
1 I7 @6 c( U7 M; F. _: u. x8 \ - </head>
. f! c* e+ F/ o9 z, R4 n' S - <body>
( g+ G4 x: T# Q8 M* Y4 v/ L - Loading...7 Z7 r. F1 t8 X/ R$ m- e% ]0 a
- </body>9 h- [4 ~3 n( \# j
- & E& q% ]! Z& n4 b, d! z" p
- <script>
: [3 c* o* q* s& M B4 D0 ~ - //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成. ?, ~3 q, `7 }% C5 |6 K- m* p8 [
- //iphone* F+ R5 g4 E5 T5 m
- //01 http://xxx/iphone/01/index.html
, r+ A4 }. p% }( [! t6 {( y0 H - //02 http://xxx/iphone/02/index.html' V6 H; \" a6 [7 v# @
- //以此类推
! p, d# |$ u" v6 R -
9 V# }( H" h7 M1 H6 l - / u& N0 x- m: L! Z# P3 Q- u% h/ {
-
: A* R* J' ~! O. e+ A8 O/ _: L" a - //这里假设我们的offer访问路径是 http://xxx/iphone/01/index.html, W+ Z8 w4 a4 }/ `' u5 n
- //那么我们的offerUrl = iphone,landUrl = 01: m- ], _1 m: K0 H, ` x0 o
-
' ]* J+ n/ g! U! e - //从url参数中获取设置好的访问参数2 I, l( K9 m7 h; F4 |
- const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");8 l8 C" \9 c! z# o
- const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
0 ]. f1 j9 f& H' u/ q8 C" U - 5 I6 c; {5 W" O% X7 o# U
- //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径) G/ ^/ Q1 g4 y) U' Q& t- E
- const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
7 L1 k2 I+ A! F- `9 R$ }; t6 {6 X - if(b){
% C( ~/ o$ w% _ - setTimeout(function() {
! B) G& i) t/ p/ s V - var params = funcUrlDel(['offerUrl','landUrl']);5 K: y6 U- t D( I9 V
- // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤: x& K( y6 w& N# z
- window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);0 ?; [4 K5 K, t- R3 N1 e p
- }, 300);
6 r' T5 g! r9 [2 f' D - }else{
复制代码
+ A+ U q W+ L1 g) F
+ `* O+ v% Q# d6 |5 D
: T% x- d& f5 r3 Q# _只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。) d4 u. B: J- H D; X
' Y/ ~3 `( b( I0 d! q) G- P
& Q( u' o: I; K! z5 V$ ?5 w: N5 F/ Y+ E! f
; E4 O! d" V/ `' ]0 Y/ ]3 h; P
7 Q' ], k; o" l8 {) j) Q6 W( g* G
: ]: ?- c/ ~0 a5 i6 {; b
|
|