Title: PJ PageNotes
Author: PureJeannius
Published: <strong>November 14, 2026</strong>
Last modified: November 14, 2026

---

Search plugins

![](https://ps.w.org/pj-pagenotes/assets/banner-772x250.png?rev=3802080)

![](https://ps.w.org/pj-pagenotes/assets/icon.svg?rev=3802080)

# PJ PageNotes

 By [PureJeannius](https://profiles.wordpress.org/jquinn33/)

[Download](https://downloads.wordpress.org/plugin/pj-pagenotes.1.0.3.zip)

 * [Details](https://wordpress.org/plugins/pj-pagenotes/#description)
 * [Reviews](https://wordpress.org/plugins/pj-pagenotes/#reviews)
 *  [Installation](https://wordpress.org/plugins/pj-pagenotes/#installation)
 * [Development](https://wordpress.org/plugins/pj-pagenotes/#developers)

 [Support](https://wordpress.org/support/plugin/pj-pagenotes/)

## Description

PJ PageNotes turns a development site into a review space. Invite your client with
a private link, and they can click (or tap) any heading, photo or button and leave
a sticky note right on it. You see every note in one dashboard, reply in the same
thread, and mark each one in progress or resolved.

**For your client, it is three buttons:** Add comment, View comments, Approve page.
No WordPress account, no dashboard, no learning curve — and it works on a phone.

**For you:**

 * **Click-to-comment sticky notes.** Notes look like colorful Post-its and sit 
   right on the element they’re about.
 * **Notes stick to the element, not the screen position.** Each note remembers 
   the element itself (its place in the page, its text, image file, ID and classes).
   If you move a section, resize a heading or rebuild the layout, the note follows
   the element. If the element is gone, the note stays near its old spot and says
   so.
 * **Whole-page notes** for feedback that isn’t about one thing (“the page feels
   too long”).
 * **Conversations.** Reply on the page or from the dashboard; clients see your 
   answers on the note. Authors can edit their own notes and replies (marked “edited”),
   and delete them until someone answers.
 * **Status tracking.** Open, In progress, Resolved — clients can reopen a note 
   that isn’t done yet.
 * **Page approval.** Clients approve a page when they’re happy. If you edit the
   page afterwards, the approval is flagged “page edited since”.
 * **One dashboard** for all feedback across the site, filterable by status, page
   and reviewer, with bulk actions.
 * **Tell clients apart.** Every reviewer gets their own note color; designer replies
   are tagged.
 * **Version awareness.** Each note records the page address, the time, the screen
   width it was left on and the page’s version, so you can tell when feedback predates
   your changes.
 * **Mobile feedback.** Tap to place a note; notes and the comment list open as 
   bottom sheets.
 * **Branded HTML emails** — a friendly invitation with a “Start reviewing” button
   and an optional personal message (with preview), plus notifications for new notes,
   replies and approvals, throttled so a burst of ten notes is one email.
 * **Work mode.** Hide the notes while you work, show them again in one click from
   the admin bar.

**Private by design**

 * Review links contain a random secret; only a keyed fingerprint is stored (the
   full link is kept for 15 minutes after you create it, so you can copy or email
   it). Links can expire, be replaced or be turned off at any time.
 * Opening a link sets a secure, HttpOnly cookie and immediately removes the secret
   from the address bar.
 * Notes are only ever sent to designers and valid reviewers, with `no-store` headers,
   so caches and CDNs never keep them.
 * **Optional private review site:** only designers and reviewers can see the website;
   everyone else gets a short “coming soon” message, search engines are asked to
   stay away, and the public REST API and feeds stay closed.

**Works with page caching.** The review script is part of the page for every visitor,
and starts only for reviewers, so cached pages (WP Fastest Cache, WP Super Cache,
W3 Total Cache, WP Rocket, CDNs) still work. Caches are purged automatically when
you open or close a page for review.

PJ PageNotes adds nothing to your site’s front end for regular visitors beyond one
small script and stylesheet on the pages you open for review.

## Screenshots

[⌊A client leaving sticky notes on a page.⌉⌊A client leaving sticky notes on a page
.⌉[

A client leaving sticky notes on a page.

[⌊A note with a conversation between client and designer.⌉⌊A note with a conversation
between client and designer.⌉[

A note with a conversation between client and designer.

[⌊View comments: whole-page notes, notes on the page, and other pages to review.⌉⌊
View comments: whole-page notes, notes on the page, and other pages to review.⌉[

View comments: whole-page notes, notes on the page, and other pages to review.

[⌊The Feedback dashboard with filters and an expanded conversation.⌉⌊The Feedback
dashboard with filters and an expanded conversation.⌉[

The Feedback dashboard with filters and an expanded conversation.

## Installation

 1. Install and activate PJ PageNotes.
 2. Go to **PageNotes  Pages in review** and open the pages you want reviewed (or use**
    Open this page for review** in the admin bar while viewing a page, or the **Open
    for review** action in the Pages list).
 3. Go to **PageNotes  Reviewers & links**, enter your client’s name and create a review
    link. Copy it (it is shown once) or email it straight to them.
 4. Optional: in **PageNotes  Settings**, turn on **Private review site** if the development
    site is publicly reachable.

Administrators and editors can always review and manage notes. To give a client 
a login instead of a link, create a user with the **Client Reviewer** role.

## FAQ

### Does my client need a WordPress account?

No. A review link is enough. If you prefer logins, give them the Client Reviewer
role; they log in and land on the website, not the dashboard.

### Can clients review unpublished drafts?

Only published pages can be reviewed. Most designers publish on the development 
site and turn on **Private review site** so the public can’t see it.

### What happens to notes when I change the layout?

Notes are attached to elements, not screen coordinates. PageNotes first looks for
the element where it was, checks it is still the same element (text, image file,
ID), and otherwise searches the page for the best match. Only when nothing matches
does the note fall back to its old position, marked with a dashed outline and “The
original spot changed”. Notes on elements that are currently hidden (a closed menu,
another slider slide) are listed in View comments.

### I lost a review link. Can I see it again?

No — 15 minutes after a link is created, only a fingerprint of it is stored, so 
nobody (including anyone who gets a copy of your database) can recover it. Choose**
New link** next to the reviewer; the old link stops working.

### I use a CDN or firewall that caches pages. Anything to do?

PageNotes purges common WordPress page caches for you. If your CDN or firewall (
for example Sucuri) caches HTML, purge it there after opening a page for review 
or turning the private review site on or off. Developers can hook their own purge
into the `pjnotes_purge_cache` action.

### Is the Media Library private too during review?

Pages, feeds, the public REST API and search results are. Media files are served
directly by your web server, so anyone with a file’s exact address can still open
it.

### Does it work on mobile?

Yes. Reviewers tap **Add comment**, tap the part of the page, and type. Notes and
the comment list open as bottom sheets.

### What gets removed when I delete the plugin?

Settings are always removed. Notes, replies, reviewers and the Client Reviewer role
are kept unless you tick **Also delete all notes…** in Settings first.

### Developer hooks

Actions: `pjnotes_note_created`, `pjnotes_note_edited`, `pjnotes_reply_created`,`
pjnotes_status_changed`, `pjnotes_page_approval`, `pjnotes_page_toggled`, `pjnotes_purge_cache`.

JavaScript events on `document` (`event.detail` holds the data): `pjnotes:ready`(
also `window.PJNotes`), `pjnotes:card`, `pjnotes:reply`, `pjnotes:composer`, `pjnotes:
cancel`, `pjnotes:saved`, `pjnotes:status`, `pjnotes:deleted`, and `pjnotes:admin-
thread` on the Feedback screen. Filters: `pjnotes_note_data`, `pjnotes_reply_data`,`
pjnotes_boot_data`, `pjnotes_feedback_columns` (with action `pjnotes_feedback_column`),`
pjnotes_default_settings`, `pjnotes_palette`, `pjnotes_is_enabled`, `pjnotes_link_landing_url`,`
pjnotes_lockdown_rest_prefixes`, `pjnotes_email_throttle`, `pjnotes_email` (the 
built HTML/text email), `pjnotes_email_accent`, `pjnotes_sanitize_settings`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“PJ PageNotes” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ PureJeannius ](https://profiles.wordpress.org/jquinn33/)

[Translate “PJ PageNotes” into your language.](https://translate.wordpress.org/projects/wp-plugins/pj-pagenotes)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pj-pagenotes/), check
out the [SVN repository](https://plugins.svn.wordpress.org/pj-pagenotes/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/pj-pagenotes/) by
[RSS](https://plugins.trac.wordpress.org/log/pj-pagenotes/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.3

 * Fix: screens that add-ons such as PJ PageNotes Pro add to the PageNotes menu 
   now get the PageNotes look too (header, navigation and cards), instead of showing
   unstyled.

#### 1.0.2

 * A cleaner, more modern look for every PageNotes screen: a header with the PureJeannius
   logo and version, pill-style navigation between Feedback, Pages in review, Reviewers&
   links and Settings, Open / In progress / Resolved cards at the top of Feedback,
   white cards with soft shadows, wine-colored buttons and checkboxes, and a Settings
   save bar that stays at the bottom of the screen while you scroll.

#### 1.0.1

 * Fix: on sites installed in a subfolder, the private-site “Log in” link and review
   page addresses no longer repeat the folder name.
 * Readme: clarify that a new review link is kept for 15 minutes so it can be copied
   or emailed.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.3**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [annotations](https://wordpress.org/plugins/tags/annotations/)[client feedback](https://wordpress.org/plugins/tags/client-feedback/)
   [comments](https://wordpress.org/plugins/tags/comments/)[sticky notes](https://wordpress.org/plugins/tags/sticky-notes/)
   [Website review](https://wordpress.org/plugins/tags/website-review/)
 *  [Advanced View](https://wordpress.org/plugins/pj-pagenotes/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pj-pagenotes/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pj-pagenotes/reviews/)

## Contributors

 *   [ PureJeannius ](https://profiles.wordpress.org/jquinn33/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pj-pagenotes/)