# Advanced Settings

Access at **Settings > AjaxPress > Advanced**.

## Media Players (Persistent Elements) (Pro)

**Setting:** `ignore_elements`

CSS selectors for elements that should persist across page navigations. These elements are extracted from the page content and placed in a fixed container, surviving iframe swaps.

**Format:** One CSS selector per line.

**Built-in persistent selectors** (always active):
- `[data-ajaxpress-persist]`
- `audio[data-persist]`
- `video[data-persist]`
- `.ajaxpress-persist`

**Example custom selectors:**

```
#sticky-audio-player
.global-video-widget
[data-player-id]
```

**Use cases:**
- Audio players that should keep playing during navigation
- Video players that shouldn't restart
- Chat widgets or floating elements

## Exclude Links (Pro)

**Setting:** `ignore_links`

URL patterns that should bypass SPA navigation and trigger full page loads instead.

**Format:** One pattern per line. Supports regex patterns.

**Built-in exclusions** (always active):
- `/wp-admin`
- `/wp-login`
- `/wp-content`
- `/wp-json`
- External links (different origin)
- Non-HTTP schemes (`mailto:`, `tel:`, etc.)

**Example exclusions:**

```
/checkout
/my-account
/members-area/*
```

**When to exclude links:**
- Pages with complex JavaScript that conflicts with SPA (payment gateways, etc.)
- Pages requiring fresh server-side state
- Third-party embedded applications

## Custom CSS (Pro)

**Setting:** `custom_css`

Custom CSS that is injected into every page. Uses a CodeMirror editor with syntax highlighting.

The CSS is injected as an inline `<style>` element in the document head. It persists across SPA navigations since it's applied at the parent frame level.

**Example:**

```css
.ajaxpress-progressbar {
    border-radius: 0;
}
.ajaxpress-spinner {
    backdrop-filter: blur(4px);
}
```

## Tools

### Export Settings

Downloads all current plugin settings as a JSON file. Useful for:
- Backing up your configuration
- Migrating settings between sites
- Sharing configuration with team members

### Import Settings

Upload a previously exported JSON file to restore settings. The file is validated before import. After importing, the page reloads to apply the new settings.

### Reset Settings

Resets all settings to their default values. Requires a double confirmation to prevent accidental resets. The page reloads after resetting.
