Boxy WooCommerce Custom Redirect After Checkout
Boxy WooCommerce Custom Redirect After Checkout lets you send customers to any page you choose after a successful WooCommerce order — instead of the default order confirmation page. Whether you want to show a custom thank you page, promote an upsell offer, collect survey responses, or direct customers to a tutorial, this plugin makes it simple. Free Features Redirect all customers to a single custom URL after checkout Optional redirect delay (0–10 seconds) Countdown timer displayed on screen: “You will be redirected in 5… 4… 3… 2… 1…” Works with classic checkout and WooCommerce block checkout Clean modern admin settings page (Boxy Redirect menu) Redirect to full URLs or relative paths (/thank-you) Lightweight — no impact on store performance Fully translatable (i18n ready) Compatible with all major caching plugins Why Redirect After Checkout? The default WooCommerce thank you page is plain and does nothing for your business. A custom redirect lets you: Show a branded thank you page that matches your store design Promote an upsell or cross-sell offer while the customer is in buying mode Collect customer feedback with a post-purchase survey Direct customers to a tutorial or onboarding page Track conversions with Google Analytics or Facebook Pixel Show payment instructions for bank transfer orders Upgrade to Pro — Powerful Rules Engine The free version redirects all customers to the same URL. Pro unlocks a full rules engine so you can redirect different customers to different pages based on what they ordered, who they are, and how they paid. Rules work like this: You create multiple redirect rules Each rule has one or more conditions Rules are checked top-to-bottom by priority The first matching rule fires — the rest are skipped If no rule matches, your free fallback URL is used Every rule shows a plain-English live preview: “When a customer completes checkout and their billing country is Germany, they will be immediately redirected to /de/danke. Customers from other countries will skip this rule.” Test before going live with the Customer Journey Simulator: Enter a hypothetical customer profile and see exactly which rule would fire and why — before a single real customer is affected. Starter Plan — Rules Engine with 4 Conditions Build redirect rules using these conditions: Specific Product Purchased — redirect based on which products are in the order Example: Customer buys a T-Shirt — redirect to /tshirt-care-guide Product Category — redirect based on product category Example: Customer buys from Electronics — redirect to /warranty-registration Order Total — redirect based on amount spent (greater than, less than, between) Example: Order total over $200 — redirect to /vip-club User Role — redirect wholesale, retail, and member customers differently Example: Wholesale customer checks out — redirect to /wholesale-thank-you Each rule supports Match ALL (every condition must be true) or Match ANY (at least one condition must be true). Rules are drag-and-drop sortable and can be individually enabled or disabled. Pro Plan — All 8 Conditions + Order Data in URL Everything in Starter plus: Coupon Code Used — redirect customers based on the coupon they used Example: Customer uses coupon FACEBOOK20 — redirect to /facebook-special-offer Use case: Track ROI from marketing campaigns First Time Buyer — detect a customer’s very first order and treat them differently Example: First order — redirect to /welcome-new-customer with onboarding guide Returning customers automatically skip this rule Payment Method — redirect based on how the customer paid Example: Bank transfer — redirect to /payment-instructions with account details Customer Country — redirect based on billing country Example: Germany — /de/danke, France — /fr/merci, everyone else — /thank-you Pass Order Data in URL — append real order details to your redirect URL using variables: {order_id} {first_name} {last_name} {email} {order_total} {payment_method} {coupon_code} Example: /thanks?name={first_name}&order={order_id} becomes /thanks?name=John&order=1234 Custom Delay Per Rule — set a different countdown timer for each rule (0–30 seconds) Agency Plan — Everything + A/B Testing + Analytics Everything in Pro plus: A/B Testing — split traffic between multiple redirect URLs with percentage control Example: 50% of customers go to Page A, 50% go to Page B — find out which converts better Analytics Dashboard — see every redirect that fired, broken down by rule Includes date range filtering (today, 7 days, 30 days, custom) and A/B test performance comparison Export to CSV — download your full redirect history Unlimited Sites — use on as many WordPress installs as you need Full Customer Journey Example Rules set up by admin: Priority 1: Coupon = VIPCODE — redirect to /vip-thank-you Priority 2: Country = Germany — redirect to /de/danke Priority 3: Order Total over $200 — redirect to /big-spender-offer Customer checks out with coupon SAVE10 from Germany spending $250: Rule 1 checked — coupon is SAVE10 not VIPCODE — skipped Rule 2 checked — billing country is Germany — matched! Customer is redirected to /de/danke Rules 3 and beyond are never checked Is This Plugin GDPR Compliant? Yes. The free version does not collect, store, or transmit any personal data. The Pro analytics feature stores only the order ID and redirect URL in your own database — no data is ever sent to third parties. Works With Everything WooCommerce classic checkout WooCommerce block checkout All major page builders (Elementor, Divi, Beaver Builder) All major caching plugins (WP Rocket, W3 Total Cache, LiteSpeed Cache) Multisite installations
Top keywords
- redirect32×3.72%
- order17×1.97%
- customer16×1.86%
- rule13×1.51%
- customers11×1.28%
- example11×1.28%
- page10×1.16%
- rules10×1.16%
- checkout8×0.93%
- coupon7×0.81%
- url7×0.81%
- custom6×0.70%
FlxWoo
FlxWoo is a WooCommerce infrastructure plugin. It adds a REST API layer, server-side checkout rendering, and Stripe Checkout integration on top of standard WooCommerce — without replacing WooCommerce’s core order, payment, or inventory systems. It is designed for agencies and developers who need full control over checkout presentation while continuing to rely on WooCommerce for order management, tax calculation, coupon handling, and payment record-keeping. What FlxWoo Is A REST API layer for WooCommerce checkout state (namespace: flxwoo/v1) A server-side rendering layer for checkout and product page templates A Stripe Checkout integration with server-side session management and webhook handling A fallback-safe product page rendering layer: falls back to native WordPress/WooCommerce templates when the Render service is unavailable or the product type is not supported An admin dashboard for operational monitoring: Overview, Settings, and System Status pages An infrastructure layer that extends WooCommerce without replacing it What FlxWoo Is Not Not a WooCommerce fork or replacement Not a page builder or visual checkout designer Not a payment processor — payment remains in WooCommerce and Stripe Not a headless CMS Not a replacement for WooCommerce’s admin, order management, or product system Who FlxWoo Is For Agencies building custom checkout experiences on WooCommerce Developers who need REST access to WooCommerce checkout state Projects requiring server-side rendered checkout templates Teams integrating Stripe Checkout while keeping WooCommerce as the order system Architecture FlxWoo registers a REST namespace (flxwoo/v1). Checkout state endpoints (cart, order, coupon, customer) return JSON. Render endpoints (/render/checkout, /render/thank-you) return server-side rendered HTML. Product pages are intercepted at the template layer and rendered through the external Render service, with automatic fallback to native WordPress/WooCommerce templates if the service is unavailable or the product type is not supported. WooCommerce remains authoritative for all order, cart, tax, and payment data. FlxWoo reads and writes through WooCommerce’s standard APIs without modifying its data structures or core behavior. Features REST API under the flxwoo/v1 namespace Cart and checkout state endpoints returning JSON Stripe Checkout integration — server-side session creation and webhook handling Duplicate order prevention at the checkout session level Concurrent submission guard Session-independent Stripe return flow (order identity carried via URL, not session state) Server-side HTML rendering for checkout and thank-you templates Product page rendering via external Render service, with automatic fallback to native WordPress/WooCommerce templates Product type gate: only simple products (including virtual) are routed to the Render service; variable, external, and unrecognized types use native templates Structured logging for checkout and payment events Operational event store tracking webhook failures, Stripe connectivity issues, and auth denials Health endpoint at GET /wp-json/flxwoo/v1/health for uptime monitoring Admin Overview page with operational health summary and last-payment/last-webhook signals System Status page with diagnostics across environment, Stripe, cache, webhooks, checkout failures, and database Automated data retention: scheduled cleanup for idempotency records, Stripe events, checkout sessions, and operational events with defined retention windows Preserve-by-default uninstall policy: data is retained unless explicitly opted out in Settings Cache and CDN Configuration FlxWoo endpoints are session-sensitive and stateful. They must not be served from a cache layer under any circumstances. Why This Matters FlxWoo checkout endpoints read and write live session, cart, and payment state on every request. If a caching layer returns a stale or shared response, the result is incorrect behavior — not a gracefully degraded experience. Common symptoms include stale cart totals, duplicate checkout attempts, broken Stripe sessions, and session data surfacing to the wrong customer. Any FlxWoo endpoint returning a cache HIT response header is a production defect. What Must Bypass Cache Three route groups must bypass cache at every layer — page cache, CDN, reverse proxy, and any optimization plugin that operates on HTTP responses: /wp-json/flxwoo/* — all FlxWoo REST API endpoints (cart, checkout, payment, webhook, health) /checkout* — the WordPress checkout page and all trailing-slash or query-string variants /thank-you* — the order confirmation page and all variants FlxWoo emits Cache-Control: no-store headers via PHP on both the REST API and the HTML pages. However, CDN-level rules such as Cloudflare’s “Cache Everything” can override PHP headers at the edge before they reach the browser. PHP-level headers alone are not sufficient — explicit CDN bypass rules targeting these paths are required. Common Systems That Require Configuration WP Rocket — Add /wp-json/flxwoo/, /checkout, and /thank-you to “Never Cache URL(s)” in the Cache settings tab. WP Rocket uses substring prefix matching, so these entries cover /checkout* and /thank-you* including trailing-slash and query-string variants. LiteSpeed Cache — Add /wp-json/flxwoo/, /checkout, and /thank-you to the “Do Not Cache URIs” list under Cache > Excludes. LiteSpeed URI exclusions also use prefix matching, covering /checkout* and /thank-you*. Cloudflare — Use Cache Rules to bypass cache for paths matching /checkout*, /thank-you*, and /wp-json/flxwoo/*. If using Automatic Platform Optimization (APO), verify that checkout and thank-you URLs are in the APO exclusion list. Cloudflare’s “Cache Everything” page rule must not apply to these paths. Nginx / FastCGI — Add fastcgi_cache_bypass map entries for /wp-json/flxwoo/, /checkout*, and /thank-you* at the server or location block level. Varnish — Add pass conditions in vcl_recv for /wp-json/flxwoo/*, /checkout*, and /thank-you*. Aggressive optimization plugins — Verify that no plugin is buffering, combining, or caching REST API responses or HTML responses for FlxWoo routes or page wrappers. What Is Safe to Cache Static assets (CSS, JS, images), non-dynamic pages, and REST endpoints that explicitly return Cache-Control: public. FlxWoo’s own endpoints never set public cache headers. Full Configuration Reference Detailed per-system instructions, verification commands, and symptom diagnostics are in docs/cache-configuration.md. Requirements WordPress 6.0 or later PHP 8.0 or later WooCommerce (active; declared as a required plugin) Stripe account with Checkout enabled (for payment features) MySQL 5.7+ or MariaDB 10.3+ Operational Notes Health endpoint: GET /wp-json/flxwoo/v1/health always returns HTTP 200 when the plugin is active. Suitable for uptime monitoring and deployment verification. Logging: Structured logging for checkout and payment events. Useful for incident response and debugging in production environments. Database setup: Required tables are created automatically on activation. Schema migrations run silently on upgrade — no manual steps required. Data on uninstall: Data is preserved by default when the plugin is deleted. To remove all FlxWoo data, enable Delete all data on uninstall in FlxWoo Settings > Data before deleting the plugin. Idempotency: Checkout idempotency is database-backed, making the system safe for concurrent requests and browser retries. Stripe return flow: Order identity is carried via URL parameters after Stripe redirect, not session state. This makes the return path resilient to session loss between payment and confirmation. Security All REST endpoints enforce WordPress capability checks before processing requests. Input is validated and sanitized at the API boundary and within the service layer. All PHP files include an ABSPATH guard to prevent direct execution. Database queries use prepared statements throughout. PHP CodeSniffer with WordPress Coding Standards and security sniffs is enforced as a release gate. Limitations Requires WooCommerce to be active. FlxWoo will not initialize without it. Stripe integration requires an active Stripe account with Checkout enabled. Server-side rendering requires a live PHP execution environment. Fully static deployments are not supported. All FlxWoo REST endpoints must not be behind a full-page or CDN cache layer. Product page rendering via the Render service is currently limited to simple products (including virtual). Variable, external, and other product types fall back to native WordPress/WooCommerce templates.