Pages
A page represents a URL path within a project that deploydiff monitors. Pages are defined at the project level and shared across all environments.
Why pages live at the project level
Pages are deliberately project-scoped rather than environment-scoped. This design is what makes diffing meaningful.
When you define /pricing once at the project level, deploydiff can visit https://myapp.com/pricing in your production environment and https://staging.myapp.com/pricing in your staging environment — and compare the two screenshots pixel-by-pixel. If pages were defined per environment you'd have no reliable way to pair the same logical page across environments for a diff.
The same principle applies to comparisons over time: a diff batch always compares the same set of pages between two capture batches, which is only possible because the page list is stable and shared.
In short: a page defines what to monitor, environments define where to monitor it, and capture batches record when.
Adding a page
Click New page from the project's Pages section. Each page requires:
- Title — a human-readable label for the dashboard (2–50 characters).
- Path — the relative URL path, starting with
/(e.g./,/pricing,/blog/getting-started). Paths may contain letters, numbers, and standard URL path characters but no spaces, query strings, or fragments. - Viewport — the browser window size used when capturing screenshots. Width and height are each between 1 and 2000 pixels, and default to 1280 × 800 (a laptop viewport). A device-preset dropdown (Mobile, Tablet, Laptop, Desktop) fills in common width/height pairs, or you can enter custom values to capture any layout.
Pages and environments
Adding a page to a project does not automatically enable it in every environment. Each environment has its own toggle for each page — you control which pages are included per environment from the environment's Pages tab. Only enabled pages are captured during a capture batch run.
A project can hold as many pages as you need. What your plan limits is how many of them are enabled in one environment — see Pages in an environment.
Per-page diff config
A page can override any setting of the project's diff config from its own Settings tab: the pixel color tolerance, the pixel diff threshold (%), and the max diff pixel count. Leave a field empty to inherit the project value — the placeholder shows what is inherited.
An override can be looser or stricter than the project value. The typical case is a single noisy page — one embedding a map, a carousel, or ads — that needs a tolerance or a wider pixel budget without weakening the gate for every other page of the project.
Both thresholds still apply to an overridden page: it fails if either is exceeded, including one left inherited from the project.
Per-page capture config
A page can contribute its own selectors to the project's capture config from its Settings tab. These are added to the project's lists, not substituted for them — the project's selectors still apply, and are shown under each field so you can see the full set. To stop a project-wide selector from applying to one page, remove it from the project and add it to the pages that need it.
Unfocus before capture works the other way: it is a single value, so the page overrides it. Leave it on Inherit to follow the project, or set it to Off on a page whose purpose is precisely to capture a focused state — an active form field, for instance — which the project-wide setting would otherwise make impossible.
Editing a page
From a page's Settings tab you can change its title, path or viewport. The page keeps its history: captures already taken stay as they were, and the next ones use the new settings.
The life of a page
A page goes through the same few steps, and each one answers a different need. Only the last cannot be undone.
| Step | Where | What it does |
|---|---|---|
| Add | the project's Pages list | Creates the page. It is not captured anywhere yet. |
| Enable in an environment | the environment's Pages tab | The page is captured at each capture batch of that environment. |
| Disable in an environment | the environment's Pages tab | Stops capturing it in that environment only. Elsewhere nothing changes. |
| Archive | the page's overview | Stops capturing it everywhere. The page and its whole history are kept. |
| Un-archive | the page's overview | Brings the page back, disabled in every environment. |
| Delete | the page's Settings, danger zone | Removes the page for good. Reserved to Owners and Admins. |
Disabling: the page is still in use, just not here
Disable a page in an environment when that environment should not capture it — a page that only exists in production, for instance. The choice is made environment by environment and can be reversed at any time from the same switch.
Archiving: the page is no longer used
Archive a page that has left your site, or that you no longer want to monitor, when its history is still worth keeping. Archiving:
- disables the page in every environment, so it is no longer captured and no longer counts toward the enabled pages of an environment;
- keeps the page, its captures and its diff results, which all still link to it;
- marks it with an Archived tag wherever pages are listed, so it is clear why it is not captured.
While a page is archived it cannot be enabled in an environment.
Un-archiving does not enable it again. The page comes back disabled everywhere, and you enable it in each environment where you want it, as you would a new page.
Deleting: the page should be gone
Delete a page when it has no place in the project any more. Deletion is permanent, and the captures and diff results already recorded stop linking back to the page — see Deletion. If all you want is to stop capturing it, archive it instead.
What a diff shows afterwards
A diff batch compares two capture batches page by page. When a page was captured in the reference batch and not in the candidate — because it was disabled, archived or deleted in between — the diff batch reports it as a Removed page rather than comparing it.