# License Management

Access at **Settings > AjaxPress > License**.

## Free vs Pro

AjaxPress works out of the box with core features on the free plan:

**Free features:**
- SPA navigation (link clicks and form submissions)
- Fade page transition
- Progress bar loader (default style)
- Scroll to top
- Bot detection

**Pro features** (require license):
- All animation types (slide, scale, flip)
- Full progress bar customization (color, weight, opacity, etc.)
- Spinner loader with all layout options
- Prefetch (hover and mousedown)
- Persistent elements (media players)
- Link exclusions
- Custom CSS injection
- Admin SPA navigation
- Keyboard reload blocking
- Cloudflare edge caching
- Import/export/reset tools
- Disable for admins toggle

## Activating a License

### From the License Page

1. Go to **Settings > AjaxPress > License**
2. Enter your license key in the input field
3. Click **Activate**
4. On success, the page shows your plan details and expiration

### Via URL Parameter

You can activate by appending the key to the settings URL:

```
/wp-admin/options-general.php?page=ajaxpress&license_key=YOUR-KEY-HERE
```

This triggers automatic activation on page load.

## License Details

Once activated, the License page shows:
- **Plan name** (e.g., "Pro Personal", "Pro Agency")
- **Plan type** (Yearly or Lifetime)
- **Expiration date** (or "Lifetime" for non-expiring licenses)
- **Activation count**
- **Masked license key** (first 7 and last 7 characters visible)

## Deactivating a License

1. Go to **Settings > AjaxPress > License**
2. Click **Deactivate**
3. Confirm in the modal dialog

On deactivation:
- Pro features are reset to their default values
- The license key is removed
- Free features continue working normally

## License Refresh

The license status is checked periodically:
- **Admin panel:** Refreshes every 1 hour (cached in localStorage)
- **Frontend:** Validates every 12 hours (cached in localStorage)
- Both checks only run when the browser is online
- Network failures silently preserve the current status

## Plans

The License page displays available plans if no license is active:
- **Personal** tier -- Single site license
- **Agency** tier -- Multi-site license
- **Yearly** and **Lifetime** billing options
- Plans are fetched from the remote server and cached for 12 hours
