Page Health

Check pages for invalid HTML nesting, missing document essentials, duplicate IDs and broken label, ARIA and in-page link references, then fix the findings yourself or with AI Assistant.

Requires Pinegrow 10

Page Health checks the HTML source of your pages for problems that are hard to see in the preview: invalid nesting, unclosed elements, a missing page title or language, duplicate IDs, and references that point to elements that don't exist. Each finding explains why it matters and how to fix it. You can fix it yourself or hand it to AI Assistant.

Page Health is new in Pinegrow 10 and is available in Pinegrow Desktop and Pinegrow Online.

Open Page Health

Open a page and choose Page › Check page health….

The Page menu is open in Pinegrow, listing Check accessibility, Spell check page, Check page health and Check for broken links, with a travel website in the page preview behind it.
Choose Page › Check page health… to open Page Health for the current page.

The Page health window opens beside the page preview. You can drag it by its title bar, and it opens where you left it the next time.

Run the checks

  1. Under Checks, choose which groups to run. All three are selected by default:
    • HTML structure
    • Document essentials
    • IDs and references
  2. Under Run checks, choose the Check scope:
    • Selected elements: only the selected elements and their content.
    • Page: the current page. This is the default.
    • All open pages
    • Project: every editable page in the open project.
  3. Click Run checks.
The Page health window with HTML structure, Document essentials and IDs and references checked, Check scope set to Page, and findings for index.html: an HTML structure finding for span.photo-note, a Document finding that html is missing a lang attribute, and a References finding that a.button references missing page target #journeys. An Ask AI to fix all button sits above the findings, and each finding has a wand icon.
Choose the checks and the scope, then click Run checks. Findings are grouped by page and category.

Findings are grouped by page, then by category: HTML structure, Document and References. Each finding names the element and the problem, for example a.button – references missing page target #journeys. If nothing is found, Page Health says No issues found by the selected Page Health checks.

Click Clear in the window header to reset the checks to their defaults.

The Check scope list in the Page health window is open with Selected elements, Page, All open pages and Project. Above it are the Check HTML structure when opening pages checkbox and the Open full accessibility scan button.
Check scope can be selected elements, the page, all open pages or the whole project.

What Page Health checks

HTML structure

  • Elements that can't contain content, such as title, base and meta, but have children.
  • Elements that contain markup that isn't allowed inside them, for example block elements such as div inside a p or span, or a heading inside another heading.
  • Elements nested inside the same kind of element, such as a link inside a link or a paragraph inside a paragraph.
  • html with direct children other than head and body, and unexpected elements inside head.
  • head, body, title and base in a parent where HTML doesn't allow them.
  • Single-tag elements, such as img, that have children.
  • Elements that are not properly closed or have a mismatched closing tag.

These are targeted checks for common mistakes, not a full HTML standards validator.

Document essentials

  • The html element has no lang attribute, or it is empty.
  • The page has no title element in head, or the title is empty.

IDs and references

  • The same id is used on more than one element.
  • aria-labelledby or aria-describedby points to IDs that don't exist.
  • A label has an empty for attribute, points to an ID that doesn't exist, or points to an element that can't be labeled.
  • An in-page link such as href="#features" points to an ID that doesn't exist on the page.

Page Health skips values that are generated by templates, and it doesn't check in-page links on pages that set a base URL. Links to other pages and external URLs are not checked. Use Page › Check for broken links… for those.

Fix a finding yourself

Hover a finding to see Why this is a problem and How to fix it.

A tooltip over the Page health findings reads Why this is a problem: screen readers use the document language to choose the correct pronunciation, and How to fix it: add the page language to the html element, for example lang="en".
Hover a finding to see why it is a problem and how to fix it.

Click the finding to select the affected element. Pinegrow scrolls to it and, if the finding is on a page that is closed, opens the page. Then fix the element as usual, for example in the Properties panel or the code editor.

After clicking the finding a.button references missing page target #journeys, the Explore journeys button is selected on the page, a message says a.button was selected, and the Properties panel shows the link's Href field set to #journeys. The findings list says results are out of date.
Click a finding to select the affected element, then fix it, for example by correcting the link in the Properties panel.

When you edit a checked page, the findings are marked Results are out of date. Run the check to refresh them. Page Health doesn't recheck on its own after your edits. When you're ready, click the refresh icon next to Findings or click Run checks again.

Ask AI Assistant to fix findings

When AI Assistant is set up with a provider, each finding has a wand icon, and page results have an Ask AI to fix all button.

  • Click the wand on a finding to start an AI Assistant task for that finding.
  • Click Ask AI to fix all to send all findings on the page as one task.

AI Assistant is asked to first confirm that each finding is a real problem, leave false positives unchanged, and make the smallest change needed. While the task runs, the findings are marked as out of date.

When the task finishes, Page Health runs the same checks again and shows Page Health updated after the AI task. If you changed the scope or page in the meantime, it asks you to run Page Health again instead.

The Page health window shows No issues found by the selected Page Health checks, a message at the top of the page reads Page Health updated after the AI task, and the AI Assistant panel on the right shows its reasoning and Task completed.
When the AI task finishes, Page Health runs the checks again and shows the result.

Things to know:

  • Ask AI to fix all appears only when the scope is Page. For other scopes, fix findings one by one.
  • Ask AI to fix all handles up to 50 findings. With more, fix findings individually or check a smaller scope.
  • Only one AI fix task can run at a time. Page Health can't be run while it is running.
  • The wand icons are hidden while results are out of date. Run the checks again to get them back.

AI changes are normal page edits. You can review them and undo them like any other edit. See Review AI changes and History – Undo and Redo. Save the page when you're happy with the result.

Check HTML structure when opening pages

Select Check HTML structure when opening pages under Automatic checks to check the structure of each page when you open it. It is on by default. If a page has structure problems, a HTML structure issues window lists them, with Recheck and Ask AI to fix all.

The automatic check covers HTML structure only. Document essentials and IDs and references are checked only when you run Page Health.

Page Health and accessibility checks

Page Health checks the HTML source for structural and reference problems. Some of them, such as a missing page language or a broken label, also affect accessibility.

The Accessibility check is a separate tool. It tests the rendered page in its responsive views against accessibility rules. Click Open full accessibility scan… in the Page health window, or choose Page › Check accessibility…. Neither tool replaces a review by a person.

Limits

Page Health has safety limits for very large checks: up to 1,000 findings per page, 5,000 findings in total and 500 pages. When a limit is reached, it shows the findings it found so far with a notice. Long lists show 200 findings at a time. Click the Show … more button below the list to see the next ones.

Related