Documentation
Schema Generator
Review suggested structured data for a page, install the JSON-LD, and check the published result.
Schema Generator, a PirateSERP tool in the Content group of the sidebar, builds schema.org JSON-LD structured data for homepages, service pages, local business profiles, and the people connected to them. The guided workflow has three steps: analyze the content, review each suggested value, and install the reviewed markup on your website. The guided workflow needs no API key of your own.
The /schema-markup address also opens Schema Generator.
Analyze a page
- In the header, select the project.
- For Content source, select Public page URL, Paste page content, or Saved article.
- Depending on the source, enter the address in Page URL, paste the visible text or HTML into Page content, or select an article in Saved article.
- In the Page purpose list, select a purpose, or leave Detect automatically selected.
- Click Analyze content.
To narrow the Page purpose list to a page type or a local business subtype, enter text in the Find a page or business type box. Choose the type that describes the actual content, not a search feature you hope to obtain.
The analysis reads existing markup on the page and saved business profile details from the project. Analysis does not install code on your website. Saved article lists the posts saved in Content Editor.
Review suggestions
The review heading counts confirmed values, open suggestions, and conflicts. When a purpose matches a Google search feature, a summary names the feature, links its Feature documentation, and states that valid markup does not guarantee a search appearance.
Suggestions are grouped under Page details, Business details, and each related entity. For each suggestion, expand Why this was suggested to read the source quotation, and then click one of the following:
- Accept for accurate information that belongs to this page.
- Edit, followed by Save correction, for a value that needs correction.
- Dismiss for irrelevant or incorrect information.
Resolve each conflicting value individually. Confirm the business location, the author, prices, and service areas before you accept them. A suggestion with no source quotation needs your confirmation before you use it.
Accept suggestions without conflicts accepts the remaining suggestions that have no conflict, so review them first. Relevant fields and missing information lists the required and recommended fields for the selected feature and marks those not found. To fill one, select it in the Add missing information list, enter the value, and then click Save missing detail.
Technical identifiers and entity types holds the schema.org types and identifiers. Validation and manual checks lists missing or conflicting facts that still need review.
When the review is complete, click Apply reviewed draft. Applying saves the reviewed entities in your project; it does not publish them.
Install the markup
- Click Get installation code.
- Copy the JSON-LD script, or click Download code.
- Expand Installation instructions, and follow the steps for a custom website, WordPress, or a hosted site builder.
- Check whether an SEO plugin or site template already outputs the same information. If one does, update that source instead of adding a second copy.
- Publish the page with the markup.
Check installation
For a published URL, click Check installed markup. Review missing, changed, or duplicate entities, correct the website, and check again.
The result includes a fact table for the organization in your markup. Each row is one fact the live page's structured data states, such as the name, phone number, email, address, social profile links, logo, service area, or opening hours. Each row shows:
- Match: the visible text on the page states the same value. The matching sentence is quoted under the row, with its section.
- Conflicting: the visible text states a different value, such as another phone number or street address. Correct the markup or the page.
- Reworded (checked by model): a site name that the page states in other words, such as "Plumbing Services" for "Plumbing Services Inc". A model checks these when your account has an OpenRouter key and the page is in English. Confirm the name before you change it.
- Missing on page: your markup states the fact, but the visible text does not. Add it to the page, or remove it from the markup.
- Not evaluated: the check could not run for this fact. The row gives the reason, such as an address or hours format the check cannot read, or a page in a language other than English for address and hours. This is not a pass.
- On page, not in markup: the page states a fact, such as a phone number or address, and your markup has no value for it. This is worth a look. It is not a requirement.
Each row gives the page address and the time it was checked. Run Check installed markup again after you publish a change.
The check compares the public page with your reviewed draft. It does not confirm Google indexing or guarantee a rich result. Use the linked Feature documentation and Google's Rich Results Test when a search feature applies.
If the page adds markup only after JavaScript runs, Check installed markup can miss it. Confirm that case in a browser or with Google's testing tools.
Review several pages
- Expand Analyze several pages.
- In the Page URLs (up to 10, one per line) box, enter up to 10 URLs.
- Click Analyze pages.
Each page gets its own detected purpose by default, which suits mixed page types. Select the Use the selected page purpose for every URL checkbox only when every URL shares that purpose. A URL you analyzed before is rescanned with its review decisions preserved.
Review each page separately, including proposed links between its business, person, service, product, and page entities. Related pages are not automatically the same entity.
Update a reviewed page
To reopen a page, click it in the Your pages list. When the page content or its purpose changes, click Rescan / update purpose.
For a changed value, the review shows the confirmed value next to the new source value. Click Use new value or Keep confirmed value, or click Edit to enter a correction. A rescan keeps your review decisions and does not change published code.
For a public URL, Keep this page up to date offers a Rescan frequency of Manual only, Daily, or Weekly. The section shows the next scan, the last check, and the last error. Scheduled rescans update the review for your attention; they never accept changes or reinstall markup. Changes and failures appear in the page's review history, and no email is sent.
Restore or manage saved work
To inspect earlier work, expand Review history and rollback. Restore draft restores an earlier applied draft in Schema Generator. It does not change your published website.
To edit entities and their properties directly, expand Advanced schema editor and saved exports. It contains the following tools:
- Import existing markup reads the schema.org markup already on a URL and fills details the markup leaves out, such as phone, email, address, opening hours, and social profiles, without changing what the page already declares.
- Fill mentions from content finds entities in a saved article or pasted text. Select an entity first, and then click Find entities. To add a candidate, click about or mentions.
- Schema Markup (JSON-LD) shows the current markup. Copy it, or click Save to keep a named snapshot in Past Creations.
Loading a snapshot from Past Creations adds its entities to the workspace, so check entity identities when you combine saved work. Clear workspace empties the workspace. Click View as graph to open the workspace in Entity Graph Viewer.
The workspace and all review data belong to the active project, and the workspace stays in place when you use other tools.
Extraction limits
Automatic suggestions can be incomplete or wrong. Read each warning, and enter missing details before you apply the draft.
Relationship extraction supports English only. For other languages, existing markup and business profile suggestions still appear, and every value needs your review. For the project language setting, see Languages.
To audit a page's entities and topical coverage, use Entity SEO Auditor.