WordPress được chọn vì nhanh: một theme, vài plugin — và sau một giờ đã có white page, pre-lander hoặc landing hoàn chỉnh. Plugin cloaking WordPress cũng đơn giản như vậy: thay vì sửa file bằng tay, bạn cài plugin, nhập key và chọn luồng. Nhưng chính trên WordPress hay gặp tình huống «đã cấu hình xong mà bot vẫn thấy offer», và gần như lúc nào thủ phạm cũng không phải bộ lọc mà là cache. Hãy đi lần lượt qua cài đặt, cấu hình và kiểm tra.
Vì sao cần plugin riêng khi đã có thẻ JS và file PHP
ArtisanClo có hai cách kết nối cơ bản: thẻ JS ở dòng đầu tiên trong <head> và file PHP đón khách ngay trên máy chủ. Cả hai được mô tả chi tiết trong bài cách kết nối cloaker với website.
Trên WordPress, dùng chúng không tiện:
- File PHP giả định file được đặt ở thư mục gốc với tên
index.php, còn landing được đổi tên. Trong WordPress,index.phplà lõi của hệ thống, không được thay thế. - Thẻ JS phải được chèn đúng dòng đầu tiên trong
<head>. Phần lớn plugin «chèn mã vào header» xuất mã qua hook tiêu chuẩn, sau CSS và script của theme — như vậy là đã muộn.
Plugin giải quyết cả hai vấn đề: nó chạy bên trong WordPress và hỏi quyết định trước khi theme bắt đầu xuất trang. Website vẫn ở trên hosting của bạn — ArtisanClo không host gì và không lấy tên miền của bạn.
Plugin WordPress có từ gói Professional. Trong thời gian dùng thử, website được kết nối bằng thẻ JS hoặc file PHP. Chi tiết về các gói xem trên trang bảng giá.
Trước khi cài: cần chuẩn bị gì
- Luồng trong tài khoản. Tạo luồng trong mục Luồng → Tạo luồng: chế độ, nguồn, địa chỉ offer, White Page, quốc gia và mức độ kiểm tra. Cách làm có trong bài cài đặt cloaker từng bước.
- API key của tài khoản. Key được tạo trong menu dưới ảnh đại diện, mục Tích hợp API. Mỗi tài khoản một key; mức quyền truy cập được chọn khi tạo.
- Quyền quản trị WordPress — để tải lên và kích hoạt plugin.
- Danh sách plugin cache và bảo mật trên website — bạn sẽ cần đến ở bước kiểm tra.
Cài plugin cloaking trên WordPress
- Trong tài khoản ArtisanClo, mở Luồng → dòng của luồng → Thêm → Kết nối và mở rộng phương thức cho WordPress.
- Bấm Tải plugin — một file nén sẽ được tải về.
- Trong trang quản trị WordPress, vào «Plugin» → «Cài mới» → «Tải plugin lên», chọn file nén và cài đặt.
- Bấm «Kích hoạt».
- Mở «Cài đặt» → ArtisanClo.
- Dán API key và chọn luồng mà website này thuộc về.
- Lưu cài đặt.
- Nếu website có plugin cache — xóa cache.
Xong. Từ giờ mỗi lượt truy cập vào trang sẽ được kiểm tra theo quy tắc của luồng đã chọn: người thật thấy offer, còn bot, trình quét và công cụ spy thấy White Page.
Cache — kẻ thù số một của cloaker trên WordPress
Cache trang tăng tốc website chính bằng cách không chạy PHP cho khách truy cập lặp lại: máy chủ trả về HTML đã lưu sẵn. Với cloaker, đó là thảm họa. Nếu lượt đầu tiên là người thật, trang offer sẽ được lưu — và tất cả những lượt sau, kể cả bot và công cụ spy, đều nhận được nó. Nếu bot đến trước, người mua cũng sẽ thấy White Page.
Các triệu chứng cho thấy điều này:
- ai cũng thấy trang, kể cả bot;
- trong nhật ký click có ít lượt truy cập hơn số click trong tài khoản quảng cáo;
- quyết định không thay đổi ngay sau khi sửa luồng.
Tìm cache ở đâu
| Tầng | Ví dụ | Cần làm gì |
|---|---|---|
| Plugin cache | Plugin cache trang và tối ưu hóa | Loại trừ địa chỉ landing khỏi cache |
| Cache của hosting | Cache máy chủ tích hợp sẵn ở nhiều hosting | Tắt cho website hoặc loại trừ trang qua bảng điều khiển hay bộ phận hỗ trợ |
| CDN | Cache HTML phía CDN | Không cache HTML của landing |
| Object cache | Redis, Memcached cho WordPress | Thường không ảnh hưởng: nó cache dữ liệu, không cache trang hoàn chỉnh |
Sau mọi thay đổi, hãy xóa cache ở tất cả các tầng và kiểm tra link trong một cửa sổ ẩn danh mới.
Mẹo. Các plugin tối ưu script có gộp và trì hoãn JavaScript cũng có thể gây trở ngại — đặc biệt nếu bạn chèn thẻ JS thủ công. Hãy loại trừ mã cloaker khỏi việc gộp và tải trì hoãn, hoặc chuyển sang dùng plugin.
Plugin bảo mật và hosting: khi kiểm tra nhận lỗi 403
Plugin bảo mật và bộ lọc bảo vệ của hosting (WAF, ModSecurity) đôi khi coi các yêu cầu kỹ thuật của trang kiểm tra là tấn công và trả về 403. Biểu hiện bên ngoài: một phần lượt truy cập không đến được cả offer lẫn White Page, và trong nhật ký xuất hiện những lượt từ chối lạ.
Cần làm gì:
- thêm địa chỉ landing vào danh sách ngoại lệ của plugin bảo mật;
- nếu bộ lọc nằm ở hosting — nhờ bộ phận hỗ trợ tắt nó cho website này;
- kiểm tra xem hosting có chặn yêu cầu HTTPS đi ra từ máy chủ không: plugin, giống như file PHP, cần liên lạc với dịch vụ — đó là cách mọi cloaker cloud vận hành.
Nếu không dùng được plugin: thẻ JS trong template theme
Nếu gói của bạn chưa có plugin hoặc bạn thích cách thủ công, hãy chèn thẻ JS trực tiếp vào template:
- Sao chép mã từ cửa sổ Kết nối.
- Mở file header của theme (thường là
header.php; tốt nhất làm trong child theme để bản cập nhật không xóa mất chỉnh sửa). - Chèn mã ngay sau
<head>, trước mọi<link>,<script>và lời gọi hook header tiêu chuẩn. - Lưu, xóa cache và bấm Kiểm tra trang của tôi.
Đừng chèn thẻ qua Google Tag Manager, đừng thêm async hay defer: script sẽ chạy muộn hơn và trang kịp hiển thị cho mọi người trước khi có quyết định.
Thẻ JS có những giới hạn: nó không thể thay đổi mã phản hồi của máy chủ, còn chế độ «Tracker» và chế độ shadow không áp dụng cho nó — luồng lọc như một cloaker thông thường.
Cách kiểm tra cloaker trên WordPress
- Trong tài khoản, bấm Kiểm tra trang của tôi. Các kết quả có thể có: «Đã tìm thấy kết nối trên trang của bạn», «Trang đã mở nhưng phương thức kết nối này không phản hồi» hoặc «Không mở được trang của bạn». Kết quả cuối không phải lúc nào cũng nghĩa là lỗi: một số hosting không cho phép kiểm tra tự động.
- Mở link quảng cáo trong cửa sổ ẩn danh.
- Tìm lượt truy cập trong Nhật ký click — nó sẽ có quyết định và lý do.
- Để tự mình thấy offer, hãy thêm địa chỉ của bạn vào whitelist IP ở bước 4 của luồng («Thêm IP của tôi»).
Nếu mọi lượt truy cập trong nhật ký đều đến từ cùng một IP — đó là địa chỉ proxy của hosting chứ không phải của khách. Hãy nhờ hosting chuyển địa chỉ thật (real IP / mod_remoteip). Nếu không, bộ lọc sẽ đánh giá máy chủ của bạn chứ không phải con người.
Trình tự chẩn đoán chi tiết có trong bài cloaker không hoạt động: cách kiểm tra, còn giải thích các lý do trong nhật ký nằm trong bài vì sao click bị chuyển sang White Page.
WordPress làm White Page và làm landing
Trên WordPress người ta thường dựng không chỉ landing offer mà cả white page. Vài lưu ý thực tế:
- White Page không nhất thiết phải nằm trên WordPress của bạn. Trong luồng có thể chọn trang dựng sẵn từ danh mục của ArtisanClo trong danh sách «Hoặc để chúng tôi hiển thị trang của mình, không cần địa chỉ» — nó sẽ mở tại địa chỉ quảng cáo của bạn.
- White Page cũng phải là một trang bình thường: có các mục thật, thông tin liên hệ, chính sách bảo mật. Đôi khi người thật cũng bị bộ lọc chặn, ví dụ khi dùng VPN, và một theme mẫu với «Hello world» cùng chuyên mục trống trông như website bị hỏng.
- Landing có offer phải tuân thủ quy định của nền tảng. Lời hứa, tuyên bố miễn trừ, chính sách bảo mật và thông tin liên hệ trên trang mà người dùng nhìn thấy là yêu cầu của chính nền tảng, không phải hình thức. Phân tích chi tiết trong các bài chính sách quảng cáo Meta và chính sách Google Ads.
- Theo dõi tên miền: website WordPress để lâu không cập nhật đôi khi bị đưa vào danh sách trang nguy hiểm. ArtisanClo kiểm tra tên miền của các luồng đang hoạt động và gửi thông báo nếu tên miền bị trình duyệt đánh dấu.
Landing nằm trong một website lớn
Nhiều khi website WordPress không phải trang đơn mà là blog hoặc cửa hàng với hàng chục trang, và chỉ một trong số đó dùng cho quảng cáo. Vài quy tắc giúp tránh bất ngờ:
- Tách một trang riêng cho quảng cáo. Không menu, không sidebar, không link tới phần còn lại của website: người mua không bị phân tâm khỏi offer, còn thống kê của luồng chỉ phản ánh traffic quảng cáo.
- Chỉ loại trừ đúng trang đó khỏi cache. Phần còn lại của website có thể cache như bình thường — nó không cần quyết định của cloaker.
- Một luồng — một chiến dịch. Nếu từ một website chạy chiến dịch trên nhiều nền tảng hoặc GEO khác nhau, nên dùng các trang khác nhau và luồng khác nhau: khi đó lý do quyết định và báo cáo thuộc về một quảng cáo.
- Kiểm tra địa chỉ trong quảng cáo. Quảng cáo phải dùng địa chỉ của chính trang đã gắn luồng, không phải trang chủ.
Cập nhật WordPress, theme và plugin
WordPress cập nhật thường xuyên, và mỗi lần cập nhật là một điểm có thể gây hỏng:
| Thứ được cập nhật | Có thể hỏng gì | Cần kiểm tra |
|---|---|---|
| Theme | Thẻ JS chèn thủ công trong template header | Mã vẫn còn và đứng đầu tiên trong <head> |
| Plugin cache | Các ngoại lệ bị đặt lại | Landing vẫn không bị cache |
| Plugin bảo mật | Quy tắc chặn mới | Kiểm tra không nhận lỗi 403 |
| Lõi WordPress | Thường không có gì | Kiểm tra kết nối định kỳ |
Sau mỗi lần cập nhật, hãy bấm Kiểm tra trang của tôi và mở link quảng cáo trong cửa sổ ẩn danh. Việc này mất một phút và cứu bạn khỏi tình huống bot vào offer suốt một tuần, ngốn ngân sách, chỉ vì theme đã ghi đè template.
Mẹo. Nếu sửa template header thủ công, hãy làm trong child theme: khi theme cha cập nhật, mã của bạn không bị mất.
Lỗi thường gặp khi kết nối cloaker với WordPress
- Không xóa cache sau khi cài — nguyên nhân phổ biến nhất của «không hoạt động».
- Chèn thẻ JS qua plugin header — mã được xuất quá muộn.
- Chọn nhầm luồng trong cài đặt plugin — lượt truy cập đi vào luồng khác, và chỉnh sửa trong tài khoản «không có tác dụng».
- Quên plugin bảo mật — một phần kiểm tra nhận lỗi 403.
- Để luồng tạm dừng hoặc ở dạng nháp — ở trạng thái này mọi khách đều thấy White Page, và trong nhật ký sẽ có lý do «Luồng không chạy».
Tóm lại
Cloaker cho WordPress được kết nối bằng plugin: tải về trong cửa sổ «Kết nối», tải lên và kích hoạt, vào «Cài đặt → ArtisanClo» dán API key và chọn luồng. Ngay sau đó hãy xóa cache — trên WordPress đây là bước bắt buộc chứ không phải hình thức. Nếu plugin chưa có trong gói của bạn, hãy chèn thẻ JS ở dòng đầu tiên trong template header. Kiểm tra kết quả trong cửa sổ ẩn danh và qua nhật ký click, còn toàn bộ khả năng của dịch vụ xem trên trang tính năng.



