Анализ сайта 12vpn.com
Основное Готовность: 75%
Домен
12vpn.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Кол-во редиректов 4 слишком большое! Проверьте настройки сайта и веб-сервера!
Цепочка редиректов:
http://12vpn.com
301 MovedPermanently
https://12vpn.com/
301 MovedPermanently
https://12vpx.com/
302 Found
https://12vpx.com/en
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
Сервер поддерживает HTTP/3 (QUIC) — новейший протокол.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Кодировка на странице не определена. Укажите явно кодировку документа!
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~1,85сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 1,85сек превышает 1 секунду. Желательно улучшить работу сайта!
Объем документа
79Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 79Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 9
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 9 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://12vpx.com/build/final/app-BOW6tol4.css | |
| stylesheet | https://fonts.bunny.net/css?family=inter:400,500,600&display=swap | |
| stylesheet | https://fonts.bunny.net/css?family=ubuntu:400&display=swap | |
| js | https://js.sentry-cdn.com/59b688ba48988bfe4d504c29f7915941.min.js | |
| js | module | https://12vpx.com/build/final/app-BuPTeshc.js |
| js | https://12vpx.com/vendor/livewire/livewire.min.js?id=df86bb7e | |
| js | https://12vpx.com/flux/flux.min.js?id=9ce7e4f7 | |
| js | https://analytics.ahrefs.com/analytics.js | |
| js | module | https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496 |
Серверные заголовки
Кол-во: 17
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 17шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Mon, 24 Aug 2026 00:17:43 GMT |
| Server | cloudflare |
| nel | {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} |
| Vary | Accept-Encoding |
| Cache-Control | no-store, must-revalidate, no-cache, max-age=0, private |
| Pragma | no-cache |
| X-Frame-Options | SAMEORIGIN |
| x-response-time | 0.13061809539795 |
| x-node | lax |
| x-commit | b952e7ca1 |
| Set-Cookie | XSRF-TOKEN=eyJpdiI6IlB5bjBVQ09vbFBPdlVqRVN6d0dXdEE9PSIsInZhbHVlIjoicTE1MDRMYjVHUnpUWm5sYSs0Z09TbjBEaDJnSzV4QitYYVIvdXlLdmViWXMwVEN3cDVGazErM0RKUUczQjdDcGtPMk9QNEFwd2xFcnlUVWJDWVFxV2FscHR1TFhjK1laTkxtR2ttWHBhRlBUV0FOdTh3ZElpRU96OVM5eEhjVFYiLCJtYWMiOiI0NTA4YTM1ODAzYTc1OTY2OWJjN2FjYTY3Nzc2NGQyZWQ2OTE4MTI4NzFlMjM3NWZmZTMzNDc5ZGMyMTViMmMyIiwidGFnIjoiIn0%3D; expires=Tue, 24 Aug 2027 00:17:43 GMT; Max-Age=31536000; path=/; secure; samesite=lax |
| Strict-Transport-Security | max-age=63072000; includeSubdomains; preload |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LeFL%2FI%2Fxpdz%2FtRiiq56QpzPLW8luWerxLE4a9qnpLwlwhOYQb71uev16uwM1ba6hbcZtKNMfSIRlKIfevA6%2BD%2BrRqbnfq1fvNdfeS0Ce83%2Fu7UNXyZPC%2FBcmpg%3D%3D"}]} |
| cf-cache-status | DYNAMIC |
| Server-Timing | cfCacheStatus;desc="DYNAMIC" |
| cf-ray | a2fe2cf2db699d8f-DME |
| Alt-Svc | h3=":443" |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 23%
Title
12VPX: Built for Expats. Tested in China. - 12VPX
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо уменьшить число символов в title (текущее значение: 49, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо уменьшить число символов в description (текущее значение: 141, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://12vpx.com/en
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
index, follow
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots со значениями index, follow не накладывает ограничений на индексирование и показ контента.
Адаптивность
width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 6
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:type | article |
| og:url | https://12vpx.com/en |
| og:title | 12VPX: Built for Expats. Tested in China. - 12VPX |
| og:description | 12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats. |
| og:image | https://12vpx.com/screenshot/en |
| og:image:alt | Screenshot of 12VPX website. |
Все мета-теги
Кол-во: 26
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 26шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | mobile-web-app-capable | yes |
| name | apple-mobile-web-app-title | 12VPX |
| name | apple-mobile-web-app-status-bar-style | black |
| name | viewport | width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover |
| name | theme-color | #0257ab |
| name | robots | index, follow |
| name | msapplication-TileColor | #0257ab |
| name | msapplication-navbutton-color | #0257ab |
| name | format-detection | telephone=no |
| name | csrf-token | V7MHm8IFrUFNwNtZYOQIMbYBubHivLGYSNx9ZwZl |
| name | color-scheme | dark light |
| name | description | 12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats. |
| name | twitter:card | summary_large_image |
| name | twitter:site | @12vpx |
| name | twitter:creator | @12vpx |
| name | twitter:description | 12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats. |
| name | twitter:title | 12VPX: Built for Expats. Tested in China. - 12VPX |
| name | twitter:image | https://12vpx.com/screenshot/en |
| name | twitter:image:alt | Screenshot of 12VPX website. |
| property | fb:app_id | 2500097930302601 |
| property | og:type | article |
| property | og:url | https://12vpx.com/en |
| property | og:title | 12VPX: Built for Expats. Tested in China. - 12VPX |
| property | og:description | 12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats. |
| property | og:image | https://12vpx.com/screenshot/en |
| property | og:image:alt | Screenshot of 12VPX website. |
Оптимизация Готовность: 100%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Кол-во слов 474 не очень много. Добавьте побольше текста (хотя бы 800 слов)!
Слова из title 7 встречаются в тексте достаточно.
Абзацев с текстом 31 достаточно.
Среднее число слов в абзаце 92 достаточно.
Кол-во знаков контента 2869 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 5. Это хорошо.
На странице присутствуют заголовки <h3> 12.
Тошнота
2,83
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота страницы в пределах нормы 3.
Академич. тошнота
14,56%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота страницы в пределах нормы.
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| access | 8 | 1,69% |
| servers | 7 | 1,48% |
| connect | 4 | 0,84% |
| contact | 3 | 0,63% |
| without | 3 | 0,63% |
| limits | 3 | 0,63% |
| favorite | 3 | 0,63% |
| service | 3 | 0,63% |
| ensure | 3 | 0,63% |
| content | 3 | 0,63% |
| expats | 3 | 0,63% |
| experience | 3 | 0,63% |
| unlimited | 3 | 0,63% |
| bandwidth | 3 | 0,63% |
| location | 3 | 0,63% |
| switch | 3 | 0,63% |
| policy | 3 | 0,63% |
| pricing | 2 | 0,42% |
| everything | 2 | 0,42% |
| difficult | 2 | 0,42% |
Индексация Готовность: 50%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 30 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 4 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://12vpn.com/robots.txt
301 MovedPermanently
https://12vpn.com/robots.txt
301 MovedPermanently
https://12vpx.com/
302 Found
https://12vpx.com/en
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="mobile-web-app-capable" content="yes">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "12VPX VPN",
"description": "A high-performance VPN optimized for users in China, featuring specialized stealth protocols including XTLS, Shadowsocks, and WireGuard to bypass internet restrictions.",
"applicationCategory": "SecurityApplication",
"operatingSystem": "Windows, macOS, Linux, Android, iOS",
"softwareVersion": "2026.1",
"storageRequirements": "50MB",
"offers": {
"@type": "AggregateOffer",
"lowPrice": "9.92",
"highPrice": "27.99",
"priceCurrency": "USD",
"offerCount": "3"
},
"featureList": [
"China-optimized XTLS and WEB protocols",
"xray-core and v2ray support",
"Multi-platform support (Windows, Mac, iOS, Android)",
"No-logs policy",
"Up to 6 simultaneous connections"
]
}
</script>
<meta name="apple-mobile-web-app-title" content="12VPX">
<title>12VPX: Built for Expats. Tested in China. - 12VPX</title>
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover">
<meta name="theme-color" content="#0257ab">
<meta name="robots" content="index, follow">
<meta name="msapplication-TileColor" content="#0257ab">
<meta name="msapplication-navbutton-color" content="#0257ab">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="csrf-token" content="EAWfPJyI8wfsC2G3HFNbSqSvu01sh0e25dzuDD3M">
<meta property="fb:app_id" content="2500097930302601">
<meta name="color-scheme" content="dark light">
<link rel="canonical" href="https://12vpx.com/en">
<link rel="alternate" hreflang="x-default" href="https://12vpx.com/en">
<link rel="alternate" hreflang="en" href="https://12vpx.com/en">
<link rel="alternate" hreflang="zh" href="https://12vpx.com/zh">
<link rel="alternate" hreflang="ja" href="https://12vpx.com/ja">
<link rel="alternate" hreflang="ko" href="https://12vpx.com/ko">
<meta name="description" content="12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@12vpx">
<meta name="twitter:creator" content="@12vpx">
<meta name="twitter:description" content="12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats.">
<meta name="twitter:title" content="12VPX: Built for Expats. Tested in China. - 12VPX">
<meta property="og:type" content="article" />
<meta property="og:url" content="https://12vpx.com/en">
<meta property="og:title" content="12VPX: Built for Expats. Tested in China. - 12VPX" />
<meta property="og:description" content="12VPX keeps you connected to your home content and services worldwide with secure, high-performance access tailored for travelers and expats." />
<meta name="twitter:image" content="https://12vpx.com/screenshot/en" />
<meta name="twitter:image:alt" content="Screenshot of 12VPX website." />
<meta property="og:image" content="https://12vpx.com/screenshot/en" />
<meta property="og:image:alt" content="Screenshot of 12VPX website." />
<link rel="icon" type="image/png" href="/images/favicon.svg">
<link rel="apple-touch-icon" href="/images/icons/touch-icon.png">
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/alfieeobdjkockpabmmfdpaihegikdgl">
<link rel='dns-prefetch' href='//use.fontawesome.com' />
<link rel='dns-prefetch' href='//s.w.org' />
<link rel='dns-prefetch' href='//js.stripe.com' />
<script>
// Check for ES2017 async/await support
function supportsAsyncAwait() {
try {
return typeof(async () => {}).constructor === 'function';
} catch (e) {
return false;
}
}
// Redirect if async/await isn’t supported
if (!supportsAsyncAwait()) {
window.location.href = '/unsupported';
}
// Livewire 3.0's practical ceiling
function supportsDotAllLiteral() {
try {
eval('/.*<script>/s');
return true;
} catch (e) {
return false;
}
}
if (!supportsDotAllLiteral()) {
window.location.href = '/unsupported';
}
</script>
<script src="https://js.sentry-cdn.com/59b688ba48988bfe4d504c29f7915941.min.js" crossorigin="anonymous"></script>
<link rel="preload" as="style" href="https://12vpx.com/build/final/app-BOW6tol4.css" /><link rel="stylesheet" href="https://12vpx.com/build/final/app-BOW6tol4.css" data-navigate-track="reload" /> <style>
:root {
--image-logo-12vpx-white: url("/images/optimized/head/12vpx-white.795f299b4ff1.svg");
--image-logo-wanwire: url("/images/optimized/head/floxcore-notext.f7187d1c0564.svg");
}
</style>
<!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak] {display: none !important;}[wire\:cloak] {display: none !important;}dialog#livewire-error::backdrop {background-color: rgba(0, 0, 0, .6);}</style>
<style>
:root.dark {
color-scheme: dark;
}
</style>
<script>
window.Flux = {
applyAppearance (appearance) {
let applyDark = () => document.documentElement.classList.add('dark')
let applyLight = () => document.documentElement.classList.remove('dark')
if (appearance === 'system') {
let media = window.matchMedia('(prefers-color-scheme: dark)')
window.localStorage.removeItem('flux.appearance')
media.matches ? applyDark() : applyLight()
} else if (appearance === 'dark') {
window.localStorage.setItem('flux.appearance', 'dark')
applyDark()
} else if (appearance === 'light') {
window.localStorage.setItem('flux.appearance', 'light')
applyLight()
}
}
}
window.Flux.applyAppearance(window.localStorage.getItem('flux.appearance') || 'system')
</script>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=inter:400,500,600&display=swap" rel="stylesheet" />
<link href="https://fonts.bunny.net/css?family=ubuntu:400&display=swap" rel="stylesheet" />
</head>
<body id="body"
class="min-h-screen bg-white dark:bg-zinc-900"
/* Header breaks without data-flux-main. This is a single column alternative grid to fix the header */
style="display:grid; grid-template-rows: auto 1fr auto; grid-template-columns: 1fr; grid-template-areas: 'header' 'main' 'footer';">
<header class="[grid-area:header] z-10 min-h-14 blueshade !z-40 border-b border-zinc-200 dark:border-zinc-700 py-2" data-flux-header>
<div class="mx-auto w-full h-full [:where(&)]:max-w-7xl px-6 lg:px-8 flex items-center">
<a href="/en" class="h-10 flex items-center me-4 font-heading text-xl text-white sm:flex" data-flux-brand>
<div class="flex items-center justify-center h-6 rounded-sm overflow-hidden shrink-0">
12VPX
</div>
</a>
<div class="flex-1" data-flux-spacer></div>
<nav class="flex items-center gap-0.5 py-3 -mb-px gap-4" data-flux-navbar>
<a href="/en/pricing" class="px-3 h-8 flex items-center rounded-lg relative text-zinc-500 dark:text-white/80 data-current:after:absolute data-current:after:-bottom-3 data-current:after:inset-x-0 data-current:after:h-[2px] [--hover-fill:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)] hover:text-zinc-800 dark:hover:text-white data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content) hover:bg-zinc-800/5 dark:hover:bg-white/10 hover:data-current:bg-(--hover-fill) data-current:after:bg-(--color-accent-content) !p-6 !text-white hover:!bg-white/10 hover:text-white max-lg:!hidden" data-flux-navbar-items="data-flux-navbar-items">
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content>Pricing</div>
</a>
<a href="/en/contact-us" class="px-3 h-8 flex items-center rounded-lg relative text-zinc-500 dark:text-white/80 data-current:after:absolute data-current:after:-bottom-3 data-current:after:inset-x-0 data-current:after:h-[2px] [--hover-fill:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)] hover:text-zinc-800 dark:hover:text-white data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content) hover:bg-zinc-800/5 dark:hover:bg-white/10 hover:data-current:bg-(--hover-fill) data-current:after:bg-(--color-accent-content) !p-6 !text-white hover:!bg-white/10 hover:text-white max-lg:!hidden" data-flux-navbar-items="data-flux-navbar-items">
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content>Contact Us</div>
</a>
<a href="/en/login" class="px-3 h-8 flex items-center rounded-lg relative text-zinc-500 dark:text-white/80 data-current:after:absolute data-current:after:-bottom-3 data-current:after:inset-x-0 data-current:after:h-[2px] [--hover-fill:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)] hover:text-zinc-800 dark:hover:text-white data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content) hover:bg-zinc-800/5 dark:hover:bg-white/10 hover:data-current:bg-(--hover-fill) data-current:after:bg-(--color-accent-content) !p-6 !text-white hover:!bg-white/10 hover:text-white" data-flux-navbar-items="data-flux-navbar-items">
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content>Sign in</div>
</a>
<a href="/en/pricing" class="px-3 h-8 flex items-center rounded-lg relative text-zinc-500 dark:text-white/80 data-current:after:absolute data-current:after:-bottom-3 data-current:after:inset-x-0 data-current:after:h-[2px] [--hover-fill:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)] hover:text-zinc-800 dark:hover:text-white data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content) hover:bg-zinc-800/5 dark:hover:bg-white/10 hover:data-current:bg-(--hover-fill) data-current:after:bg-(--color-accent-content) !bg-orange-500 !px-8 !py-5 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-navbar-items="data-flux-navbar-items">
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content>Get 12VPX</div>
</a>
</nav>
</div>
</header>
<div class="sticky py-2 px-2 w-full text-xl
dark:bg-white dark:text-black bg-black text-white
">
<div class="flex justify-center">
<div class="pt-1">
<svg class="shrink-0 [:where(&)]:size-6 w-4 h-4" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
<path fill-rule="evenodd" d="M5.25 2.25a3 3 0 0 0-3 3v4.318a3 3 0 0 0 .879 2.121l9.58 9.581c.92.92 2.39 1.186 3.548.428a18.849 18.849 0 0 0 5.441-5.44c.758-1.16.492-2.629-.428-3.548l-9.58-9.581a3 3 0 0 0-2.122-.879H5.25ZM6.375 7.5a1.125 1.125 0 1 0 0-2.25 1.125 1.125 0 0 0 0 2.25Z" clip-rule="evenodd"/>
</svg>
</div>
<div class="pt-0.5">
<a class="no-underline" href="https://12vpx.com/en/pricing">
Back to school discount! 15% off with promo code <strong>BACK2SCHOOL</strong>. Order now!
</a>
Ends August 24th.
</div>
</div>
</div>
<div>
<div class="text-white">
<div class="pt-18 pb-20 px-8 md:px-0
bg-brand-100 dark:bg-brand-900/30">
<div class="mx-auto px-4 text-center max-w-5xl
text-zinc-600 dark:text-zinc-400">
<div class="grid grid-cols-1 gap-10 md:grid-cols-2">
<div class="flex flex-col gap-3 pt-1 text-left">
<h1 class="font-heading text-4xl font-bold
text-brand-800 dark:text-brand-100">
Access Everything, Today
</h1>
<div class="py-2 text-xl font-light">
Tested Beyond the Wall.
</div>
<p class="font-light">
<img src="/images/front-page/checkmark.png" alt="Checkmark" class="inline w-6" />
<span class="font-bold">Browse without limits</span>, wherever you are.
</p>
<p class="font-light">
<img src="/images/front-page/checkmark.png" alt="Checkmark" class="inline w-6" />
<span class="font-bold">Stream your favorite shows</span>, just like back home.
</p>
<p class="font-light">
<img src="/images/front-page/checkmark.png" alt="Checkmark" class="inline w-6" />
<span class="font-bold">Secure your connection</span>, on Public Wi-Fi.
</p>
<p class="font-light">
<img src="/images/front-page/checkmark.png" alt="Checkmark" class="inline w-6" />
<span class="font-bold">Stay connected</span> to family, friends, and your world.
</p>
<div class="mt-6">
<div wire:snapshot="{"data":{"email":"","buttonText":"Sign Up Now"},"memo":{"id":"DwUKlNXa6WMYWwwh9t2i","name":"capture-email","path":"en","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"f53741cee2afecfde20863d8fcc1ed1b6c415622d463b507bd1e484324f30bb8"}" wire:effects="[]" wire:id="DwUKlNXa6WMYWwwh9t2i">
<div class="hidden sm:block">
<div class="w-full flex *:data-flux-input:grow [&>[data-flux-input]:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>[data-flux-input]:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>[data-flux-input]:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0 [&>*:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0 [&>[data-flux-group-target]:last-child:not(:first-child)]:border-s-0 [&>[data-flux-group-target]:not(:first-child):not(:last-child)]:border-s-0 [&>[data-flux-group-target]:has(+[data-flux-input-group-suffix])]:border-e-0 [&>[data-flux-group-target]:not(:first-child):not(:last-child)]:rounded-none [&>[data-flux-group-target]:first-child:not(:last-child)]:rounded-e-none [&>[data-flux-group-target]:last-child:not(:first-child)]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>[data-flux-group-target]]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-input]>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>[data-flux-input]>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>[data-flux-input]>[data-flux-group-target]]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-s-none [&>*:last-child:not(:first-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:not(:first-child):not(:last-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:has(+[data-flux-input-group-suffix])>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-e-0" data-flux-input-group>
<div class="w-full relative block group/input" data-flux-input>
<input
type="email"
class="w-full border block disabled:shadow-none dark:shadow-none appearance-none text-base sm:text-sm rounded-lg py-2 h-10 leading-[1.375rem] ps-3 pe-3 bg-white dark:bg-white/10 dark:disabled:bg-white/[7%] text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500 shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5 data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500" wire:model="email" wire:keydown.enter="capture" placeholder="Enter your email address"
name="email" data-flux-control
data-flux-group-target
>
</div>
<button type="submit" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none !bg-orange-500 px-8 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" wire:click="capture">
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
<span>Sign Up Now →</span>
</button>
</div>
</div>
<div class="sm:hidden">
<fieldset class="[&[disabled]_[data-flux-label]]:opacity-50 [&[disabled]_[data-flux-legend]]:opacity-50 *:data-flux-field:mb-3 *:data-flux-field:mb-3 [&>[data-flux-field]:has(>[data-flux-description])]:mb-4 [&>[data-flux-field]:last-child]:mb-0! [&>[data-flux-legend]]:mb-4 [&>[data-flux-legend]:has(+[data-flux-description])]:mb-2 [&>[data-flux-legend]+[data-flux-description]]:mb-4" data-flux-fieldset>
<div class="space-y-2">
<div class="w-full relative block group/input" data-flux-input>
<input
type="email"
class="w-full border block disabled:shadow-none dark:shadow-none appearance-none text-base sm:text-sm rounded-lg py-2 h-10 leading-[1.375rem] ps-3 pe-3 bg-white dark:bg-white/10 dark:disabled:bg-white/[7%] text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500 shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5 data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500" wire:model="email" wire:keydown.enter="capture" placeholder="Enter your email address"
name="email" data-flux-control
data-flux-group-target
>
</div>
<button type="submit" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full !bg-orange-500 px-8 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" wire:click="capture">
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
<span>Sign Up Now →</span>
</button>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<div class="flex flex-col gap-4 pt-1">
<div class="relative mx-auto mb-5 mt-3 inline-flex items-center">
<img class="h-10 opacity-30"
src="/images/front-page/laurel-left.svg"
alt="Left Laurel">
<div class="flex flex-col items-center justify-center px-2">
<span class="whitespace-nowrap text-xs font-bold font-light text-black/40">
#1 Access Service in China
</span>
<span class="mt-1">
<svg class="shrink-0 [:where(&)]:size-6 w-4 h-4 inline text-yellow-300/60" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
<path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd"/>
</svg>
<svg class="shrink-0 [:where(&)]:size-6 w-4 h-4 inline text-yellow-300/60" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
<path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd"/>
</svg>
<svg class="shrink-0 [:where(&)]:size-6 w-4 h-4 inline text-yellow-300/60" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
<path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd"/>
</svg>
<svg class="shrink-0 [:where(&)]:size-6 w-4 h-4 inline text-yellow-300/60" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
<path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd"/>
</svg>
<svg class="shrink-0 [:where(&)]:size-6 w-4 h-4 inline text-yellow-300/60" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
<path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd"/>
</svg>
</span>
</div>
<img class="h-10 opacity-30"
src="/images/front-page/laurel-right.svg"
alt="Right Laurel">
</div>
<img src="/images/front-page/laptop.png" alt="12VPX Laptop" class="mx-10 rounded-xl" />
</div>
</div>
</div>
</div>
<div class="pt-18 pb-20 px-8 md:px-0
bg-white dark:bg-black">
<div class="mx-auto px-4 text-center max-w-5xl
text-zinc-600 dark:text-zinc-400">
<h2 class="font-heading text-4xl font-bold
text-brand-800 dark:text-brand-100">
Why use 12VPX?
</h2>
<div class="mt-12 flex flex-wrap justify-between gap-8">
<div class="w-64 mx-auto">
<div class="mx-auto mb-6 w-24">
<img src="/images/front-page/unbeatable.png" alt="Unbeatable" class="rounded-xl" />
</div>
<h3>
Unbeatable
</h3>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
12VPX has been operating in China and other difficult territories since 2009.
</p>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
No other VPN has been able to do this as consistently as 12VPX.
</p>
</div>
<div class="w-64 mx-auto">
<div class="mx-auto mb-6 w-24">
<img src="/images/front-page/comprehensive.png" alt="Comprehensive" class="rounded-xl" />
</div>
<h3>
Comprehensive
</h3>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
Connect your Mac, PC, iPhone, iPad, Android, Linux, Apple TV, and more.
</p>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
12VPX allows up to 6 devices to connect simultaneously
</p>
</div>
<div class="w-64 mx-auto">
<div class="mx-auto mb-6 w-24">
<img src="/images/front-page/lightning.png" alt="Lightning-Fast" class="rounded-xl" />
</div>
<h3>
Lightning-Fast
</h3>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
12VPX offers fast speeds using a global network of dedicated VPN servers.
</p>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
Ensure you can access your favorite content from anywhere.
</p>
</div>
</div>
</div>
</div>
<div class="pt-18 pb-20 px-8 md:px-0
bg-brand-100 dark:bg-brand-900/30">
<div class="mx-auto px-4 text-center max-w-5xl
text-zinc-600 dark:text-zinc-400">
<h2 class="font-heading text-4xl font-bold
text-brand-800 dark:text-brand-100">
12VPX is the best VPN for China
<br>
<span class="text-sm text-zinc-600 dark:text-zinc-400">
And other difficult territories!
</span>
</h2>
<div class="mt-12 flex flex-wrap justify-between gap-8">
<div class="w-64 mx-auto">
<div class="mx-auto mb-6 w-24">
<img src="/images/front-page/expats.png" alt="Built by Expats"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<h3>
Built by Expats
</h3>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
By expats, for expats. We understand the unique challenges of living and working in China.
</p>
</div>
<div class="w-64 mx-auto">
<div class="mx-auto mb-6 w-24">
<img src="/images/front-page/experience.png" alt="Experience"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<h3>
Experience
</h3>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
Prior to creating 12VPX, our team setup their first VPN connections in China as early as 1997. We know what it takes.
</p>
</div>
<div class="w-64 mx-auto">
<div class="mx-auto mb-6 w-24">
<img src="/images/front-page/protocols.png" alt="Protocols"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<h3>
Protocols
</h3>
<p class="pt-4 text-zinc-600 dark:text-zinc-400">
Our developers combine 3rd-party and proprietary protocols to ensure the best possible experience.
</p>
</div>
</div>
<div class="mx-auto mt-14 max-w-md">
<div wire:snapshot="{"data":{"email":"","buttonText":"Free Your Internet"},"memo":{"id":"ZHQU2D8SCBVxCoVwBKlf","name":"capture-email","path":"en","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"82cf44f7904647e08e1e4e9c334187d6085a233f055095b632c89f00cbd0a7b8"}" wire:effects="[]" wire:id="ZHQU2D8SCBVxCoVwBKlf">
<div class="hidden sm:block">
<div class="w-full flex *:data-flux-input:grow [&>[data-flux-input]:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>[data-flux-input]:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>[data-flux-input]:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0 [&>*:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0 [&>[data-flux-group-target]:last-child:not(:first-child)]:border-s-0 [&>[data-flux-group-target]:not(:first-child):not(:last-child)]:border-s-0 [&>[data-flux-group-target]:has(+[data-flux-input-group-suffix])]:border-e-0 [&>[data-flux-group-target]:not(:first-child):not(:last-child)]:rounded-none [&>[data-flux-group-target]:first-child:not(:last-child)]:rounded-e-none [&>[data-flux-group-target]:last-child:not(:first-child)]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>[data-flux-group-target]]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-input]>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>[data-flux-input]>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>[data-flux-input]>[data-flux-group-target]]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-s-none [&>*:last-child:not(:first-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:not(:first-child):not(:last-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:has(+[data-flux-input-group-suffix])>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-e-0" data-flux-input-group>
<div class="w-full relative block group/input" data-flux-input>
<input
type="email"
class="w-full border block disabled:shadow-none dark:shadow-none appearance-none text-base sm:text-sm rounded-lg py-2 h-10 leading-[1.375rem] ps-3 pe-3 bg-white dark:bg-white/10 dark:disabled:bg-white/[7%] text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500 shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5 data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500" wire:model="email" wire:keydown.enter="capture" placeholder="Enter your email address"
name="email" data-flux-control
data-flux-group-target
>
</div>
<button type="submit" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none !bg-orange-500 px-8 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" wire:click="capture">
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
<span>Free Your Internet →</span>
</button>
</div>
</div>
<div class="sm:hidden">
<fieldset class="[&[disabled]_[data-flux-label]]:opacity-50 [&[disabled]_[data-flux-legend]]:opacity-50 *:data-flux-field:mb-3 *:data-flux-field:mb-3 [&>[data-flux-field]:has(>[data-flux-description])]:mb-4 [&>[data-flux-field]:last-child]:mb-0! [&>[data-flux-legend]]:mb-4 [&>[data-flux-legend]:has(+[data-flux-description])]:mb-2 [&>[data-flux-legend]+[data-flux-description]]:mb-4" data-flux-fieldset>
<div class="space-y-2">
<div class="w-full relative block group/input" data-flux-input>
<input
type="email"
class="w-full border block disabled:shadow-none dark:shadow-none appearance-none text-base sm:text-sm rounded-lg py-2 h-10 leading-[1.375rem] ps-3 pe-3 bg-white dark:bg-white/10 dark:disabled:bg-white/[7%] text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500 shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5 data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500" wire:model="email" wire:keydown.enter="capture" placeholder="Enter your email address"
name="email" data-flux-control
data-flux-group-target
>
</div>
<button type="submit" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full !bg-orange-500 px-8 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" wire:click="capture">
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
<span>Free Your Internet →</span>
</button>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<div class="pt-18 pb-20 px-8 md:px-0
bg-white dark:bg-black">
<div class="mx-auto px-4 text-center max-w-3xl
text-zinc-600 dark:text-zinc-400">
<h2 class="text-brand-800 dark:text-brand-100 font-heading mb-4 font-bold opacity-80">
Seen On
</h2>
<div class="flex flex-wrap justify-center gap-20 opacity-80">
<img alt="YouTube" width="64" height="64" src="/images/front-page/youtube-123.svg" />
<img alt="X" width="64" height="64" src="/images/front-page/x.svg"
class="dark:invert" />
<img alt="Facebook" width="64" height="64" src="/images/front-page/facebook.svg" />
<img alt="Chrome Webstore" width="64" height="64" src="/images/front-page/chrome.svg" />
<img alt="App Store" width="64" height="64" src="/images/front-page/appstore.svg" />
</div>
</div>
</div>
<div class="pt-18 pb-20 px-8 md:px-0
bg-brand-100 dark:bg-brand-900/30">
<div class="mx-auto px-4 text-center max-w-5xl
text-zinc-600 dark:text-zinc-400">
<h2 class="font-heading text-4xl font-bold
text-brand-800 dark:text-brand-100">
Access Everything You Love
<br>
<span class="text-sm text-zinc-600 dark:text-zinc-400">
Without Limits!<sup>*</sup>
</span>
</h2> <div class="mt-12 grid grid-cols-1 gap-10 md:grid-cols-2">
<div class="flex flex-1 flex-wrap justify-between gap-10 text-left">
<div class="w-12 md:w-24">
<img src="/images/front-page/geo.png" alt="Watch Shows from Home - Even Abroad"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<div class="flex flex-1 flex-col gap-4 pt-1">
<h3>
Watch Shows from Home - Even Abroad
</h3>
<p>
Sometimes connecting to a VPN is not enough to access your favorite content.
</p>
<p>
12VPX servers re-route your traffic as needed to ensure you can access the content you want.
</p>
<a href="https://12vpx.com/en/pricing" data-flux-button="data-flux-button" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] w-full" data-flux-group-target="data-flux-group-target">
Sign Up Now →
</a>
</div>
</div>
<div class="flex flex-1 flex-wrap justify-between gap-10 text-left">
<div class="w-12 md:w-24">
<img src="/images/front-page/bandwidth.png" alt="Unlimited Bandwidth"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<div class="flex flex-1 flex-col gap-4 pt-1">
<h3>
Unlimited Bandwidth
</h3>
<p>
With 12VPX, you can enjoy streaming, downloading, and browsing without any interruptions.
</p>
<p>
Our unlimited bandwidth ensures that you have a seamless online experience, no matter how much data you use.
</p>
<a href="https://12vpx.com/en/pricing" data-flux-button="data-flux-button" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-zinc-800/5 hover:bg-zinc-800/10 dark:bg-white/10 dark:hover:bg-white/20 text-zinc-800 dark:text-white [[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-zinc-200/80 dark:[[data-flux-button-group]_&]:border-zinc-900/50 w-full" data-flux-group-target="data-flux-group-target">
See Pricing →
</a>
</div>
</div>
</div>
<div class="mt-12 text-xs text-zinc-600 dark:text-zinc-400">
<sup>*</sup>
Most of our servers come with unlimited bandwidth. Some niche servers may have a limit.
</div>
</div>
</div>
<div class="pt-18 pb-20 px-8 md:px-0
bg-white dark:bg-black">
<div class="mx-auto px-4 text-center max-w-5xl
text-zinc-600 dark:text-zinc-400">
<div class="grid grid-cols-1 gap-10 md:grid-cols-2">
<div class="flex flex-col gap-3 pt-1 text-left">
<h2 class="font-heading text-4xl font-bold
text-brand-800 dark:text-brand-100">
Global Coverage
</h2>
<div class="py-2 text-xl font-light">
VPN servers on every continent.
</div>
<div class="grid grid-cols-2">
<p class="font-bold font-light">
<img src="/flags/4x3/us.svg" alt="United States" class="inline w-6" />
United States
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/jp.svg" alt="Japan" class="inline w-6" />
Japan
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/ca.svg" alt="Canada" class="inline w-6" />
Canada
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/gb.svg" alt="United Kingdom" class="inline w-6" />
United Kingdom
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/hk.svg" alt="Hong Kong" class="inline w-6" />
Hong Kong
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/tw.svg" alt="Taiwan" class="inline w-6" />
Taiwan
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/sg.svg" alt="Singapore" class="inline w-6" />
Singapore
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/au.svg" alt="Australia" class="inline w-6" />
Australia
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/nz.svg" alt="New Zealand" class="inline w-6" />
New Zealand
</p>
<p class="font-bold font-light">
<img src="/flags/4x3/de.svg" alt="Germany" class="inline w-6" />
Germany
</p>
<p class="font-bold font-light">
</div>
<div>
And many more!
<a href="/contact-us" class="text-brand-800 dark:text-brand-100">
Ask About a Location.
</a>
</div>
</div>
<div class="grid content-center">
<img src="/images/front-page/map.png" alt="map" class="mx-10 mx-auto rounded-xl" />
<div class="mt-6">
<div wire:snapshot="{"data":{"email":"","buttonText":"Change Your Location"},"memo":{"id":"IuB5uVC1jlDkkC25GVzH","name":"capture-email","path":"en","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"80a3b8ddff676b0f80bb2f245e0296d12551eeaab7ef50c6d187d17eaffbc2fe"}" wire:effects="[]" wire:id="IuB5uVC1jlDkkC25GVzH">
<div class="hidden sm:block">
<div class="w-full flex *:data-flux-input:grow [&>[data-flux-input]:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>[data-flux-input]:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>[data-flux-input]:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0 [&>*:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0 [&>[data-flux-group-target]:last-child:not(:first-child)]:border-s-0 [&>[data-flux-group-target]:not(:first-child):not(:last-child)]:border-s-0 [&>[data-flux-group-target]:has(+[data-flux-input-group-suffix])]:border-e-0 [&>[data-flux-group-target]:not(:first-child):not(:last-child)]:rounded-none [&>[data-flux-group-target]:first-child:not(:last-child)]:rounded-e-none [&>[data-flux-group-target]:last-child:not(:first-child)]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>[data-flux-group-target]]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-input]>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>[data-flux-input]>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>[data-flux-input]>[data-flux-group-target]]:rounded-s-none [&>*:not(:first-child):not(:last-child):not(:only-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-none [&>*:first-child:not(:last-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-e-none [&>*:last-child:not(:first-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]]:rounded-s-none [&>*:last-child:not(:first-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:not(:first-child):not(:last-child)>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-s-0 [&>*:has(+[data-flux-input-group-suffix])>:is([data-flux-tooltip],ui-time-picker-trigger)>[data-flux-group-target]:not([data-invalid])]:border-e-0" data-flux-input-group>
<div class="w-full relative block group/input" data-flux-input>
<input
type="email"
class="w-full border block disabled:shadow-none dark:shadow-none appearance-none text-base sm:text-sm rounded-lg py-2 h-10 leading-[1.375rem] ps-3 pe-3 bg-white dark:bg-white/10 dark:disabled:bg-white/[7%] text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500 shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5 data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500" wire:model="email" wire:keydown.enter="capture" placeholder="Enter your email address"
name="email" data-flux-control
data-flux-group-target
>
</div>
<button type="submit" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none !bg-orange-500 px-8 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" wire:click="capture">
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
<span>Change Your Location →</span>
</button>
</div>
</div>
<div class="sm:hidden">
<fieldset class="[&[disabled]_[data-flux-label]]:opacity-50 [&[disabled]_[data-flux-legend]]:opacity-50 *:data-flux-field:mb-3 *:data-flux-field:mb-3 [&>[data-flux-field]:has(>[data-flux-description])]:mb-4 [&>[data-flux-field]:last-child]:mb-0! [&>[data-flux-legend]]:mb-4 [&>[data-flux-legend]:has(+[data-flux-description])]:mb-2 [&>[data-flux-legend]+[data-flux-description]]:mb-4" data-flux-fieldset>
<div class="space-y-2">
<div class="w-full relative block group/input" data-flux-input>
<input
type="email"
class="w-full border block disabled:shadow-none dark:shadow-none appearance-none text-base sm:text-sm rounded-lg py-2 h-10 leading-[1.375rem] ps-3 pe-3 bg-white dark:bg-white/10 dark:disabled:bg-white/[7%] text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500 shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5 data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500" wire:model="email" wire:keydown.enter="capture" placeholder="Enter your email address"
name="email" data-flux-control
data-flux-group-target
>
</div>
<button type="submit" class="relative items-center font-medium justify-center whitespace-nowrap disabled:opacity-50 dark:disabled:opacity-50 disabled:cursor-default disabled:pointer-events-none disabled:shadow-none justify-center h-10 text-sm rounded-lg gap-2 ps-4 pe-4 inline-flex bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75 text-zinc-800 dark:text-white border border-zinc-200 hover:border-zinc-200 disabled:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600 dark:disabled:border-zinc-600 shadow-xs [[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full !bg-orange-500 px-8 !text-white hover:!bg-orange-400 dark:!bg-orange-600 dark:hover:!bg-orange-400" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" wire:click="capture">
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
<span>Change Your Location →</span>
</button>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="pt-18 pb-20 px-8 md:px-0
bg-brand-100 dark:bg-brand-900/30">
<div class="mx-auto px-4 text-center max-w-5xl
text-zinc-600 dark:text-zinc-400">
<div class="grid grid-cols-1 md:grid-cols-2 gap-10">
<div class="flex flex-1 flex-wrap justify-between gap-10 text-left">
<div class="w-12 md:w-24">
<img src="/images/front-page/switches.png" alt="Switch Servers Anytime"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<div class="flex flex-1 flex-col gap-4 pt-1">
<h3>
Switch Servers Anytime
</h3>
<p>
Switch servers anytime. No limits on how many times you can switch.
</p>
</div>
</div>
<div class="flex flex-1 flex-wrap justify-between gap-10 text-left">
<div class="w-12 md:w-24">
<img src="/images/front-page/support.png" alt="Real People, Fast Answers"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<div class="flex flex-1 flex-col gap-4 pt-1">
<h3>
Real People, Fast Answers
</h3>
<div>
We are here to help you with any questions or issues you may have.
</div>
</div>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-10 pt-10">
<div class="flex flex-1 flex-wrap justify-between gap-10 text-left">
<div class="w-12 md:w-24">
<img src="/images/front-page/nologs.png" alt="No Logs"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<div class="flex flex-1 flex-col gap-4 pt-1">
<h3>
No Logs
</h3>
<p>
We do not log any of your data. Period.
</p>
</div>
</div>
<div class="flex flex-1 flex-wrap justify-between gap-10 text-left">
<div class="w-12 md:w-24">
<img src="/images/front-page/platforms.png" alt="Works on Phones, Tablets, TVs & More"
class="border-1 rounded-xl border-zinc-300 dark:border-zinc-700" />
</div>
<div class="flex flex-1 flex-col gap-4 pt-1">
<h3>
Connect on All Your Devices
</h3>
<div>
Use your phone, tablet, TV, and more, to connect to 12VPX.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="relative z-50 border-t border-zinc-200 bg-white pt-20 dark:border-zinc-700 dark:bg-black">
<div class="w-full pl-5 pr-5">
<div class="flex flex-wrap md:justify-between">
<div class="w-full md:w-auto md:pl-10 md:pr-10">
<h4 class="font-bold dark:font-light">Follow Us</h4>
<div>
<a class="text-xl text-gray-600" href="https://x.com/12vpx" rel="publisher">𝕏</a><br>
<a class="text-gray-600" href="/free-vpn" rel="publisher">Free VPN</a><br>
<a class="text-gray-600" href="/en/blog"
rel="publisher">Blog</a><br>
</div>
</div>
<div class="w-full md:w-auto md:pl-10 md:pr-10">
<h4 class="font-bold dark:font-light">Access</h4>
<div>
<a class="text-gray-600"
href="https://12vpx.com/en/pricing">VPX Access Service</a><br>
<a class="text-gray-600" href="/en/downloads">VPX Downloads</a><br>
<a class="text-gray-600"
href="/en/what-is-my-ip">What is my IP?</a><br>
</div>
<h4 class="pt-4 font-bold dark:font-light">eSIM</h4>
<div>
<a class="text-gray-600" href="/en/free-esim">Free eSIM</a><br>
</div>
<h4 class="pt-4 font-bold dark:font-light">Hosting</h4>
<div>
<a class="text-gray-600"
href="/en/social-network">Social Network Hosting</a><br>
</div>
</div>
<div class="w-full md:w-auto md:pl-10 md:pr-10">
<h4 class="font-bold dark:font-light">More</h4>
<div>
<a class="text-gray-600"
href="/en/what-is-12">About our Services</a><br>
<a class="text-gray-600" href="/en/about">About our Company</a><br>
<a class="text-gray-600" href="/en/faq">FAQ</a><br>
<a class="text-gray-600" href="/en/contact-us">Contact Us</a><br>
<a class="text-gray-600" href="/en/register">Register</a><br>
<a class="text-gray-600" href="/en/docs">Docs</a><br>
</div>
</div>
<div class="w-full md:w-auto md:pl-10 md:pr-10">
<h4 class="font-bold dark:font-light">Policies</h4>
<div>
<a class="text-gray-600" href="/en/aup">Acceptable Use Policy</a><br>
<a class="text-gray-600"
href="/en/refund-policy">Refund Policy</a><br>
<a class="text-gray-600"
href="/en/privacy-policy">Privacy Policy</a><br>
<a class="text-gray-600" href="/en/tos">Terms of Service</a><br>
<a class="text-gray-600" href="/en/gdpr">GDPR</a><br>
</div>
</div>
</div>
<div class="flex pt-10 md:justify-between">
<div class="md:w-auto md:pl-10 md:pr-10">
<form method="post" action="/locale">
<input type="hidden" name="_token" value="EAWfPJyI8wfsC2G3HFNbSqSvu01sh0e25dzuDD3M" autocomplete="off"> <input type="hidden" name="_method" value="patch"> <select
class="shadow-xs rounded-lg border border-zinc-200 bg-white p-[.3125rem] text-sm dark:border-zinc-600 dark:bg-zinc-700 [:where(&)]:min-w-48"
name="locale" id="locale" onchange="this.form.submit()">
<option value="en" selected>English</option>
<option value="zh">简体中文</option>
<option value="ja">日本語</option>
<option value="ko">한국어</option>
</select>
</form>
</div>
</div>
<div class="min-w-full pb-20 pt-10 text-center text-xs" role="contentinfo">
<p class="text-gray-600">
<a class="pr-5 text-gray-600" href="/en/contact-us">Contact Us</a>
© 2009-2026 Wanwire Management Corp.<br>
Incorporated in Panama - Privacy-first jurisdiction with no data retention laws.
</p>
</div>
</div>
<link rel="modulepreload" as="script" href="https://12vpx.com/build/final/app-BuPTeshc.js" /><script type="module" src="https://12vpx.com/build/final/app-BuPTeshc.js" data-navigate-track="reload" defer></script>
<ui-toast x-data x-on:toast-show.document="! $el.closest('ui-toast-group') && $el.showToast($event.detail)" popover="manual" position="bottom end" wire:ignore>
<template>
<div class="max-w-sm in-[ui-toast-group]:max-w-auto in-[ui-toast-group]:w-xs sm:in-[ui-toast-group]:w-sm" data-variant="" data-flux-toast-dialog>
<div class="p-2 flex rounded-xl shadow-lg bg-white border border-zinc-200 border-b-zinc-300/80 dark:bg-zinc-700 dark:border-zinc-600">
<div class="flex-1 flex items-start gap-4 overflow-hidden">
<div class="flex-1 py-1.5 ps-2.5 flex gap-2">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=success]_&]:block shrink-0 mt-0.5 size-4 text-lime-600 dark:text-lime-400">
<path fill-rule="evenodd" d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm3.844-8.791a.75.75 0 0 0-1.188-.918l-3.7 4.79-1.649-1.833a.75.75 0 1 0-1.114 1.004l2.25 2.5a.75.75 0 0 0 1.15-.043l4.25-5.5Z" clip-rule="evenodd" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=warning]_&]:block shrink-0 mt-0.5 size-4 text-amber-500 dark:text-amber-400">
<path fill-rule="evenodd" d="M6.701 2.25c.577-1 2.02-1 2.598 0l5.196 9a1.5 1.5 0 0 1-1.299 2.25H2.804a1.5 1.5 0 0 1-1.3-2.25l5.197-9ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 1 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=info]_&]:block shrink-0 mt-0.5 size-4 text-cyan-500 dark:text-cyan-400">
<path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=danger]_&]:block shrink-0 mt-0.5 size-4 text-rose-500 dark:text-rose-400">
<path fill-rule="evenodd" d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" />
</svg>
<div>
<div class="font-medium text-sm text-zinc-800 dark:text-white [&:not(:empty)+div]:font-normal [&:not(:empty)+div]:text-zinc-500 [&:not(:empty)+div]:dark:text-zinc-300 [&:not(:empty)]:pb-2"><slot name="heading"></slot></div>
<div class="font-medium text-sm text-zinc-800 dark:text-white"><slot name="text"></slot></div>
<template name="link">
<a class="block mt-2 font-medium text-sm text-[var(--color-accent-content)] decoration-[color-mix(in_oklab,var(--color-accent-content),transparent_80%)] underline underline-offset-[6px] hover:decoration-current"><slot name="text"></slot></a>
</template>
</div>
</div>
<ui-close class="flex items-center">
<button type="button" class="inline-flex items-center font-medium justify-center gap-2 truncate disabled:opacity-50 dark:disabled:opacity-75 disabled:cursor-default h-8 text-sm rounded-md w-8 bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15 text-zinc-400 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-white" as="button">
<div>
<svg class="[:where(&)]:size-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
<path d="M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"></path>
</svg>
</div>
</button>
</ui-close>
</div>
</div>
</div>
</template>
</ui-toast>
<script src="https://12vpx.com/vendor/livewire/livewire.min.js?id=df86bb7e" data-csrf="EAWfPJyI8wfsC2G3HFNbSqSvu01sh0e25dzuDD3M" data-update-uri="/livewire/update" data-navigate-once="true"></script>
<script src="https://12vpx.com/flux/flux.min.js?id=9ce7e4f7" data-navigate-once></script>
<script src="https://analytics.ahrefs.com/analytics.js" data-key="BfoheGRMaYPsoRFqO5MEsw" async></script>
<!--/Regular-->
</footer>
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"6c635e1b55a74f238c8b500fa5aa0831"}' crossorigin="anonymous"></script>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 24
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 24 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /en |
<div class="flex items-center justify-center h-6 rounded-sm overflow-hidden shrink-0">
12VPX
</div>
|
|
Анализировать url |
| /en/pricing |
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content="">Pricing</div>
|
|
Анализировать url |
| /en/contact-us |
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content="">Contact Us</div>
|
|
Анализировать url |
| /en/login |
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content="">Sign in</div>
|
|
Анализировать url |
| /en/pricing |
<div class=" flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content="">Get 12VPX</div>
|
|
Анализировать url |
| /contact-us |
Ask About a Location.
|
|
Анализировать url |
| /free-vpn |
Free VPN
|
|
Анализировать url |
| /en/blog |
Blog
|
|
Анализировать url |
| /en/downloads |
VPX Downloads
|
|
|
| /en/what-is-my-ip |
What is my IP?
|
|
Анализировать url |
| /en/free-esim |
Free eSIM
|
|
Анализировать url |
| /en/social-network |
Social Network Hosting
|
|
Анализировать url |
| /en/what-is-12 |
About our Services
|
|
Анализировать url |
| /en/about |
About our Company
|
|
Анализировать url |
| /en/faq |
FAQ
|
|
Анализировать url |
| /en/contact-us |
Contact Us
|
|
Анализировать url |
| /en/register |
Register
|
|
Анализировать url |
| /en/docs |
Docs
|
|
Анализировать url |
| /en/aup |
Acceptable Use Policy
|
|
Анализировать url |
| /en/refund-policy |
Refund Policy
|
|
Анализировать url |
| /en/privacy-policy |
Privacy Policy
|
|
Анализировать url |
| /en/tos |
Terms of Service
|
|
Анализировать url |
| /en/gdpr |
GDPR
|
|
Анализировать url |
| /en/contact-us |
Contact Us
|
|
Анализировать url |
Внешние ссылки
Кол-во: 5
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 5 оптимально.
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| 12vpx.com |
Back to school discount! 15% off with promo code <strong>BACK2SCHOOL</strong>. Order now!
|
Анализировать url |
| 12vpx.com |
Sign Up Now →
|
Анализировать url |
| 12vpx.com |
See Pricing →
|
Анализировать url |
| x.com |
𝕏
|
Анализировать url |
| 12vpx.com |
VPX Access Service
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Анализ сайта 12vpn.com, слабо оптимизирован на 62%. Для хорошей оптимизации и выхода на первые места в поиске требуется:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: