WP Manifestindependent plugin directory

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/rics/wpabsplit/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

🇺🇸 - Data-driven decisions, made simple.

🇧🇷 - Decisões baseadas em dados, de forma simples.


🇺🇸 - English Version

🚀 Overview

WP AB SPLIT is a WordPress plugin that makes it easy to create, run, and analyze A/B tests. Perfect for marketers and web professionals who want to optimize site performance and increase conversions without technical hassle.

🔧 Key Features

  • Easy Integration: Works with any theme and major page builders like Elementor, Bricks Builder, and Oxygen Builder.
  • Intuitive Test Creation: Build test variations using the tools you're already familiar with.
  • Result Analysis: Clear, device-specific reports (desktop, tablet, mobile) for actionable insights.
  • Full Control: Define your own sampling and testing methods.
  • Privacy Focused: No personal data collection or third-party cookies. Fully compliant with privacy regulations.

🛠️ Built With

  • PHP
  • WordPress
  • Composer

📦 Installation

  1. Download the latest .zip file from the Releases tab on GitHub.
  2. In your WordPress admin dashboard, go to Plugins > Add New.
  3. Click Upload Plugin and choose the .zip file you just downloaded.
  4. Click Install Now, then Activate Plugin.

🧪 How to Use

  1. After activating the plugin, go to the "WP AB SPLIT" menu in your WordPress dashboard.
  2. Create a new A/B test and define your variants.
  3. Publish the test and track real-time results.

📄 License

This project is licensed under the MIT License.


🇧🇷 - Versão em Português

🚀 Visão Geral

O WP AB SPLIT é um plugin para WordPress que facilita a criação, execução e análise de testes A/B. Ideal para agências de marketing e profissionais da web que buscam otimizar o desempenho de seus sites e maximizar conversões sem complicações.

🔧 Recursos Principais

  • Integração Simples: Compatível com qualquer tema e principais construtores de páginas como Elementor, Bricks Builder e Oxygen Builder.
  • Criação Intuitiva de Testes: Utilize as ferramentas que você já conhece para desenvolver suas páginas de teste.
  • Análise de Resultados: Relatórios claros e segmentados por dispositivo (desktop, tablet e mobile) para insights precisos.
  • Controle Total: Defina suas próprias amostragens e metodologias de teste.
  • Privacidade Garantida: Sem coleta de dados pessoais ou cookies de terceiros, em conformidade com as leis de privacidade.

🛠️ Tecnologias Utilizadas

  • PHP
  • WordPress
  • Composer

📦 Instalação

  1. Baixe o arquivo .zip mais recente do plugin diretamente pela aba Releases do repositório.
  2. No painel administrativo do seu site WordPress, vá em Plugins > Adicionar novo.
  3. Clique em Fazer upload do plugin e selecione o arquivo .zip que você baixou.
  4. Clique em Instalar agora e depois em Ativar plugin.

🧪 Como Usar

  1. Após ativar o plugin, acesse o menu "WP AB SPLIT" no painel do WordPress.
  2. Crie um novo teste A/B definindo as variantes desejadas.
  3. Publique o teste e acompanhe os resultados em tempo real.

📄 Licença

Este projeto está licenciado sob a MIT License.

Releases

4 releases.

Tag
Published
0.2.0 latest
May 11, 2025 1 year ago
Feb 17, 2025 1 year ago
Jan 8, 2025 1 year ago
Dec 1, 2024 1 year ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

B- grade

Security

WP A/B Split 0.2.0 · audited by WP Registry

Medium-severity findings.

4 medium 2 low
Audited release
0.2.0
Findings
6
Worst severity
medium
Content hash
55ce2fbc09e355c70eb78c3f…

Findings

  • medium Unauthenticated probe writes arbitrary conversion steps without auth or nonce

    missing_auth

    The same nopriv probe accepts POST user_id/userAction/description/id and INSERTs into {$wpdb->prefix}wpab_steps and UPDATEs wpab_executions with raw string interpolation. Even where magic-quotes blunt classic string SQLi, any visitor can forge conversion events and corrupt A/B results.

    include/class.wpab.php:611-640

    Recommendation

    Bind parameters with $wpdb->prepare/insert, validate execution_id ownership via opaque signed session token issued when the test starts, and rate-limit. Do not trust client-supplied user_id.

  • medium Unauthenticated probe writes arbitrary conversion steps without auth or nonce

    missing_auth

    The same nopriv probe() accepts POST user_id/userAction/description/id and INSERT/UPDATEs wpab_steps and wpab_executions with no authentication, capability, or nonce. Attackers can poison conversion metrics and mark executions converted/closed.

    include/class.wpab.php:611-640

    Recommendation

    Authenticate tracking with a signed execution token bound to the session; use $wpdb->insert/$wpdb->prepare; reject unknown execution IDs.

  • medium admin_action_wpab_report lacks capability check (IDOR-style report disclosure)

    missing_capability

    report() is hooked to admin_action_wpab_report and also used as a manage_options submenu callback. The callback itself never calls current_user_can(). Any authenticated user who can load wp-admin (including Subscriber via profile) can request admin.php?action=wpab_report&post=<id> and receive A/B conversion charts and counts for any test post.

    include/class.wpab.php:645-866

    Recommendation

    At the start of report(), require current_user_can('manage_options') (or edit_post on the test) and exit 403 otherwise; prefer only the submenu entry point.

  • medium CSRF on toggle_test_status (no nonce)

    csrf

    toggle_test_status is hooked to post_action_toggle_test_status and flips wpab_test post_status between publish and pending without verifying a nonce. Core post.php enforces edit_post, but a logged-in editor/admin can be CSRF'd into starting/stopping tests.

    include/class.wpab.php:1009-1026

    Recommendation

    check_admin_referer before mutating status; use wp_nonce_url in row actions.

  • low Raw request strings interpolated into SQL without prepare (magic-quotes mitigated)

    unsafe_input

    POST fields in probe() are concatenated into quoted SQL without $wpdb->prepare or wp_unslash. On default WP installs magic-quotes escape quotes, so this is unsafe coding rather than confirmed critical SQLi for those string fields.

    include/class.wpab.php:614-619

    Recommendation

    Use $wpdb->insert/$wpdb->prepare exclusively; never interpolate $_POST into SQL.

  • low Raw request strings interpolated into SQL without prepare (magic-quotes mitigated)

    unsafe_input

    POST fields user_id/userAction/description/id are quote-wrapped into INSERT/UPDATE SQL without $wpdb->prepare or wp_unslash. Under WordPress magic-quotes this is not reliably exploitable as classic SQLi, but remains unsafe_input and will become critical if magic-quotes behavior changes or unslash is added carelessly.

    include/class.wpab.php:618-638

    Recommendation

    Use $wpdb->insert/$wpdb->update with placeholders; cast execution_id to int.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.