---
title: "Installation"
description: "Requirements, install order, and the safe way to bring an existing catalogue onto anchored pricing."
url: "https://maksut.net/price-anchor/docs/installation/"
language: "en-US"
datePublished: "2026-08-02T00:35:15+00:00"
dateModified: "2026-10-10T08:40:00+00:00"
---

# Installation

## Requirements

| Component | Minimum |
| --- | --- |
| WordPress | 6.5 |
| WooCommerce | 8.0 |
| PHP | 8.1 |
| Price Anchor Pro | Price Anchor free 1.0.0 or newer, active |

The free plugin has zero runtime dependencies: no Composer, no npm, no `vendor/` directory. It uses Action Scheduler when WooCommerce provides it and falls back to WP-Cron when it does not — Action Scheduler is a capability it detects, never a dependency it requires.

## Installing the free plugin

1. Install and activate WooCommerce first. Price Anchor declares `Requires Plugins` and will not run without it.
2. Install and activate Price Anchor.
3. Open **WooCommerce → Price Anchor**.

On a fresh install nothing is anchored and no exchange rate is fetched. The plugin deliberately starts without an assumed source currency and without a synthetic 1:1 rate, so your catalogue keeps its native WooCommerce prices until you explicitly choose a source currency. Rate fetching and catalogue repricing stay paused until then.

## Installing Pro

1. Keep the free plugin installed and active. Pro is a separate plugin that extends it; it is not a replacement.
2. Upload and activate `price-anchor-pro`.
3. Activate your licence when prompted.

If the free plugin is missing or too old, Pro refuses to load and says so in an admin notice rather than failing silently.

## Bringing an existing catalogue across

Do this on staging first. Repricing a live catalogue is a one-way door for the prices customers currently see.

1. Take a database backup, or work on a staging copy.
2. Configure the source currency, rate source, markup and rounding before touching any product. See [Settings reference](https://maksut.net/price-anchor/docs/settings-reference/).
3. Open the **Sync** tab and fetch the first rate. Confirm the rate table looks sane against a public reference.
4. Anchor one representative simple product and one variable product. Check the customer-facing price on the product page, in the cart, and at checkout.
5. Only then anchor the rest of the catalogue, in batches if it is large.

## Verify before opening to orders

Confirm at least the following on staging:

- a simple anchored product shows the expected converted price on the shop archive and the single product page;
- a variable product shows the correct price range and the correct per-variation price after selecting attributes;
- a source sale price renders as a sale, not as a regular price;
- the cart and checkout totals match the product page;
- a placed test order records the source amount and rate on the line item.

If you use a full-page cache or a CDN, purge it after the first sync. Cached HTML will keep serving pre-sync prices until it expires, which is a caching behaviour rather than a pricing bug — but it looks identical to a customer.
