Cách xem trang web của bạn từ một quốc gia khác
Mục lục

- Trang web dùng gì để xác định quốc gia của bạn?
- Vì sao chỉ một proxy là chưa đủ?
- Làm sao thiết lập một hồ sơ Chrome cho mỗi thị trường?
- Một lần kiểm tra theo khu vực nên ghi lại những gì?
- Vì sao địa chỉ tĩnh tốt hơn địa chỉ xoay vòng cho các lần kiểm tra lặp lại?
- Khi nào VPN là đủ, và khi nào không?
- ProxyJam phù hợp ở đâu?
- Trả lời nhanh
Tóm lại: Một trang web thường xác định quốc gia của bạn từ địa chỉ IP, rồi điều chỉnh nội dung hiển thị theo ngôn ngữ trình duyệt, múi giờ, cookie và tài khoản đang đăng nhập. Để xem trang web của chính bạn từ một quốc gia khác, tất cả những thứ đó đều phải khớp với thị trường. Nghĩa là cần một proxy ở quốc gia đó cho địa chỉ, và một hồ sơ Chrome riêng với ngôn ngữ và múi giờ của thị trường, không mang theo cookie nào của bạn.
Để xem trang web của bạn từ một quốc gia khác, yêu cầu phải đến theo cách yêu cầu của một khách truy cập sẽ đến: từ một địa chỉ ở quốc gia đó, với ngôn ngữ trình duyệt và múi giờ của thị trường đó, và không mang cookie mà các lần truy cập của chính bạn để lại. Proxy lo phần địa chỉ, phần còn lại là cài đặt trình duyệt. Hướng dẫn này nói về việc kiểm tra trang của chính bạn, công việc mà trang kiểm thử theo khu vực của chúng tôi mô tả: cách thiết lập trong Chrome, cần ghi gì ở mỗi lần kiểm tra, và khi nào VPN cũng làm được việc tương tự.
Trang web dùng gì để xác định quốc gia của bạn?
Thường là địa chỉ IP, hay kết hợp với các tín hiệu khác. Có năm tín hiệu, và chúng đến từ những nơi khác nhau.
- Địa chỉ IP. Máy chủ, hoặc một CDN đứng trước nó, tra địa chỉ trong cơ sở
dữ liệu định vị địa lý. Chẳng hạn, Cloudflare có thể chuyển quốc gia của khách
tới máy chủ gốc dưới dạng mã hai chữ cái trong header
CF-IPCountry(tài liệu header của Cloudflare). - Ngôn ngữ trình duyệt. Chrome gửi header
Accept-Languagedựng từ các ngôn ngữ ưu tiên trong cài đặt, và script của trang đọc cùng danh sách đó từnavigator.languages(MDN). - Múi giờ. Một script có thể đọc múi giờ của máy tính dưới dạng một tên như
Europe/Berlinqua APIIntl.DateTimeFormat, trong trườngtimeZonecủaresolvedOptions()(MDN). - Vị trí chính xác. Geolocation API chỉ báo tọa độ sau khi khách truy cập cho phép (MDN), nên phần lớn trang web không bao giờ có được nó.
- Những gì trang đã biết. Một cookie lưu khu vực hoặc đơn vị tiền tệ bạn chọn lần trước, hay quốc gia trên một tài khoản đang đăng nhập, có thể được ưu tiên hơn địa chỉ.
Bảng “Mỗi tín hiệu đến từ đâu, và cách đặt nó khi kiểm thử” ghép từng tín hiệu với cài đặt Chrome điều khiển nó.
Vì sao chỉ một proxy là chưa đủ?
Các tín hiệu có thể mâu thuẫn nhau, và cách trang xử lý sự mâu thuẫn đó là một
phần của thứ bạn đang kiểm tra. Cho Chrome đi qua một địa chỉ ở Đức nhưng để
danh sách ngôn ngữ ở English (US), thì một trang lấy ngôn ngữ từ
Accept-Language và lấy giá từ địa chỉ sẽ hiện giá bằng euro bằng tiếng Anh.
Không có khách thật nào ở Đức dùng trình duyệt tiếng Đức lại thấy trang đó.
Giữ nguyên cookie quen thuộc của bạn, và trang có thể bỏ qua logic quốc gia để
phục vụ khu vực bạn đã chọn tháng trước.
Vì vậy, hãy đặt mọi tín hiệu theo thị trường trước lần kiểm tra đầu tiên, và giữ nguyên như thế cho các lần sau.
Làm sao thiết lập một hồ sơ Chrome cho mỗi thị trường?
Tạo một hồ sơ Chrome riêng cho mỗi thị trường và cho nó một proxy riêng. Một hồ sơ giữ lịch sử, mật khẩu và cài đặt của riêng nó (Trợ giúp Chrome), cùng cookie của riêng nó (ghi chú của Chromium về thư mục dữ liệu người dùng). Cookie của hồ sơ Đức không bao giờ sang hồ sơ Pháp, và cả hai đều không đụng tới việc duyệt web hằng ngày của bạn.
- Tạo hồ sơ. Chọn ảnh hồ sơ của bạn ở góc trên bên phải, chọn mục thêm hồ sơ Chrome, rồi đặt tên theo thị trường, chẳng hạn “Test DE”. Đừng đăng nhập Tài khoản Google trong hồ sơ đó, để không có gì từ hồ sơ chính được đồng bộ sang.
- Cài một tiện ích proxy trong hồ sơ đó. Tiện ích đặt proxy cho hồ sơ mà nó được cài vào (chrome.proxy API). Thêm proxy của thị trường vào tiện ích. ProxyJam Connector miễn phí của chúng tôi là một tiện ích như vậy.
- Chỉ cho các tên miền đang kiểm thử đi qua proxy. Thêm một quy tắc cho tên miền của trang bạn và các tên miền con, và để phương án dự phòng ở Direct. Lưu lượng của chính Chrome và mọi trang khác vẫn dùng kết nối của bạn, và proxy chỉ mang phần kiểm thử. Quy tắc trở thành tập lệnh PAC ra sao, và vì sao trên HTTPS chúng khớp tên máy chủ chứ không bao giờ khớp đường dẫn, được trình bày trong chỉ dùng proxy cho một số trang trong Chrome (bằng tiếng Anh).
- Thêm các máy chủ mà trang gọi tới. Mở DevTools, tải lại trang và đọc cột Domain trong bảng Network (nhấp chuột phải vào tiêu đề cột để hiện nó nếu đang ẩn). Giá thường đến từ một API trên máy chủ khác, và banner đồng ý có thể hỏi máy chủ của nhà cung cấp banner nên hiện phiên bản nào. Máy chủ nào bị bỏ sót khỏi quy tắc sẽ thấy địa chỉ của chính bạn, và trang rốt cuộc trộn lẫn hai thị trường. Hãy thêm từng máy chủ.
- Đặt ngôn ngữ. Trong phần cài đặt ngôn ngữ của Chrome, thêm ngôn ngữ của
thị trường vào danh sách ngôn ngữ ưu tiên và đưa nó lên đầu
(Trợ giúp Chrome). Thứ
tự đó là thứ
Accept-Languagegửi đi. - Đặt múi giờ. Chrome lấy múi giờ từ hệ điều hành và không có cài đặt múi giờ riêng. Khi kiểm thử, DevTools có thể cung cấp nó: trong cài đặt của DevTools, mục Locations, thêm một vị trí với Timezone ID và Locale của thị trường, rồi chọn nó trong bảng Sensors (tài liệu DevTools). Phần ghi đè thuộc về tab đang mở DevTools, nên hãy mở DevTools trước khi tải trang. Đổi múi giờ hệ thống cũng được, cho mọi chương trình trên máy tính cùng lúc.
- Kiểm tra hồ sơ. Thêm proxyjam.com vào quy tắc trong một phút và mở What Is My IP. Trang phải hiển thị địa chỉ của proxy, định vị ở thị trường đó. Sau đó gỡ trang kiểm tra khỏi quy tắc.
Nếu proxy cần tên đăng nhập và mật khẩu mà Chrome cứ hỏi lại, hộp thoại đăng nhập proxy (bằng tiếng Anh) giải thích nguyên nhân và cách xử lý.
Một lần kiểm tra theo khu vực nên ghi lại những gì?
Cùng các trường ở mỗi lần kiểm tra, để hai lần có thể so sánh từng dòng. Danh sách “Ghi cùng các trường ở mỗi lần kiểm tra” là bộ khởi đầu: chuỗi chuyển hướng, giá và đơn vị tiền tệ, hàng tồn, banner đồng ý và ngôn ngữ, cộng với địa chỉ hồ sơ đang dùng.
Với chuỗi chuyển hướng, hãy bật Preserve log trong bảng Network, tùy chọn giữ
lại trong danh sách các yêu cầu từ trước khi chuyển hướng
(tài liệu tham khảo Network của DevTools).
Từ terminal, curl in header của mọi bước nhảy khi được cho -I và -L, gửi
yêu cầu qua proxy với -x, và thêm header ngôn ngữ với -H
(hướng dẫn curl). Địa chỉ proxy trong ví
dụ lấy từ một dải dành riêng cho tài liệu
(RFC 5737); hãy thay bằng địa
chỉ của bạn.
curl -sIL -x http://203.0.113.10:8080 -H "Accept-Language: de-DE,de;q=0.9" https://example.com/
Mỗi dòng trạng thái theo sau là một header location: là một bước nhảy. Một
yêu cầu đơn giản như thế này thấy được chuyển hướng, header và giá viết sẵn
trong HTML. Vì -I gửi yêu cầu HEAD, một máy chủ trả lời HEAD khác với GET có
thể cho ra chuỗi khác; bỏ -I và thêm -o /dev/null -D - để in header của một
yêu cầu bình thường. Lệnh không chạy script nào, nên banner đồng ý hay giá được
điền sau khi trang tải xong cần đến hồ sơ trình duyệt.
Mỗi lần kiểm tra một dòng, mỗi thị trường một trang tính. Khác biệt giữa hai lần chỉ đáng điều tra khi địa chỉ, ngôn ngữ và múi giờ giống nhau ở cả hai lần; nếu có thứ nào thay đổi, bạn đang so sánh hai cách thiết lập.
Chuỗi chuyển hướng quan trọng cả ngoài phạm vi QA. Google cho biết các địa chỉ
mặc định của trình thu thập của họ có vẻ nằm ở Hoa Kỳ và trình thu thập không
gửi header Accept-Language
(Google Search Central),
nên Google có thể không thu thập hoặc lập chỉ mục một phiên bản thị trường chỉ
truy cập được qua cơ chế nhận diện. Một phiên bản có URL riêng tránh được điều đó.
Vì sao địa chỉ tĩnh tốt hơn địa chỉ xoay vòng cho các lần kiểm tra lặp lại?
Một phép so sánh cần mỗi lần chỉ một thứ thay đổi. Pool xoay vòng cấp một địa chỉ khác cho mỗi yêu cầu hoặc mỗi phiên, và mỗi địa chỉ có bản ghi định vị và mạng riêng. Khi giá thay đổi giữa thứ Hai và thứ Năm, bạn không biết được là trang thay đổi hay địa chỉ thay đổi. Địa chỉ tĩnh giữ điểm quan sát cố định, nên nó ra khỏi phép so sánh. Việc giữ một địa chỉ và lấy từ một pool được so sánh kỹ hơn trong proxy ISP và proxy dân cư.
Địa chỉ tĩnh vẫn có thể dịch chuyển: cơ sở dữ liệu định vị được cập nhật, và một địa chỉ có thể bị ghi nhận dưới một quốc gia khác. Vì vậy phép kiểm tra What Is My IP đi trước mọi lần kiểm tra, kể cả lần đầu. Pool xoay vòng là công cụ hợp hơn khi bạn cần nhiều địa chỉ khác nhau trong một thị trường cùng một lúc.
Khi nào VPN là đủ, và khi nào không?
VPN là đủ cho một lần xem: trang chủ bản Đức có tải không, banner có hiện không. Cách này nhanh, và nhiều người đã cài sẵn.
VPN thiếu sót ở ba điểm khi phép kiểm tra phải lặp lại:
- Ứng dụng VPN thường mang toàn bộ lưu lượng của thiết bị, nên mọi chương trình và tab cùng nằm ở quốc gia kiểm thử, và không thể đặt hai thị trường cạnh nhau.
- Địa chỉ ra của nó được nhiều người dùng chung và tạo thành một nhóm đã biết trong dữ liệu IP: các cơ sở dữ liệu thương mại có một trường cho địa chỉ đăng ký cho nhà cung cấp VPN ẩn danh (tài liệu của MaxMind). Trang nào đọc trường này có thể đối xử với khách dùng VPN khác đi, và lần kiểm tra khi đó ghi lại chính sự đối xử ấy.
- Địa chỉ ra có thể đổi từ lần kết nối này sang lần sau, kéo theo đúng vấn đề của pool xoay vòng.
ProxyJam phù hợp ở đâu?
ProxyJam bán proxy dân cư tĩnh (ISP): một địa chỉ ở quốc gia bạn chọn, đăng ký cho một nhà cung cấp internet, thuộc về bạn suốt kỳ hạn bạn đã trả tiền. Với công việc này, nghĩa là một địa chỉ cho mỗi thị trường. Các quốc gia được liệt kê trên trang vị trí proxy, hiện có 77, với giá theo IP theo kỳ hạn trên trang bảng giá. Nếu một địa chỉ bắt đầu bị định vị ra ngoài quốc gia bạn đã mua, đó là căn cứ để được thay miễn phí, trong giới hạn hằng tháng nêu tại mục 2.5 Điều khoản Dịch vụ.
Sản phẩm được bán theo quốc gia, nên khác biệt giữa hai thành phố nằm ngoài những gì nó có thể cho thấy. Nó cũng nhằm để kiểm tra trang của chính bạn: dùng một địa chỉ để tiếp cận nội dung mà một trang giữ lại không cho quốc gia của bạn xem là bị cấm theo mục 5 Chính sách Sử dụng Chấp nhận được của chúng tôi. Danh mục có trên trang proxy ISP, còn proxy ISP rốt cuộc là gì được giải thích trong proxy ISP là gì.
