Add and edit schema on a page
Use the Schema manager to add Recipe, Event, Product, FAQ, Job posting and other schema to a page, with every type and field explained.
On this page
- Open the Schema manager
- Add schema in the block editor
- Schema Type
- Import Schema
- Schema Actions
- Schema on this post
- Add schema in the Classic Editor
- Item controls and status
- Schema types and their fields
- Article, Blog post and News article
- FAQ
- How-to
- Video
- Review
- Recipe
- Event
- Course
- Software app
- Product
- Person
- Service
- Job posting
- Custom JSON-LD
- Variables you can use
- Check the result
- FAQ
- Why isn't my schema item on the page?
- Can I add two items of the same type?
- Do variables update when I edit the post?
The Schema manager adds structured data to a single post or page on top of the automatic schema. Use it when a page qualifies for a rich result type that RankKit SEO can't infer on its own: a recipe, an event, a job posting, a review or a video.
Each type has a form with the fields Google asks for. Most fields come pre-filled with variables such as %title% and %featured_image%, so a new item is often valid as soon as you add it.
Open the Schema manager
- Block editor: click the RankKit SEO button in the editor toolbar to open the RankKit SEO panel, then choose Schema in the menu on the left (Edit SEO in the block editor).
- Classic Editor: scroll to the RankKit SEO Schema box below the post content.
Pages built with Elementor: edit schema from the WordPress editor screen for that page.
Add schema in the block editor
The Schema section has four cards.
Schema Type
Pick a type in the Schema Type select. It has two groups:
- Page type: Web page, Article, Blog post, News article, Product, About page, Contact page, Collection page, Profile page and more, plus No schema. The content type's default is marked "(default)", and a hint says which type is recommended for this content.
- Rich result: Recipe, FAQ, How-to, Event, Review, Video, Course, Software application, Service, Job posting, Person and the other types listed below.
Then click Generate Schema:
- For a page type, RankKit SEO sets the post's main schema type. The node is built automatically from the post's title, author, dates, image and content, so there are no fields to fill in.
- For a rich result type, RankKit SEO adds a schema item pre-filled with variables. It appears under Schema on this post, where you fill in the fields it still needs.
Rich result types are added on top of the page type; they don't replace it.
Import Schema
Copy structured data from a live page. Choose Import from:
- URL / Online page (free): enter the address and fetch it. RankKit SEO fetches that page once, from your server, and lists its JSON-LD nodes. Pick one: its title, URL, image, dates and author are remapped to this page.
- JSON-LD code or file (Pro): paste JSON-LD or upload a
.jsonfile.
Schema Actions
- Regenerate Schema fills the empty fields of the items you added from their defaults, then validates.
- Validate Current runs the validator. You get the errors and warnings, and for a published post without errors, "Schema markup is deployed and active on this post", with the number of nodes.
- Google Rich Results Test opens Google's test for the published post.
The post must be saved before you can regenerate or validate; until then the card says "Save the post to put its schema on the page and check it."
Schema on this post
Lists the items you added. Edit their fields, reorder them, switch them off or remove them, then save the post.
FAQ, How-to and table-of-contents schema also come from the RankKit SEO blocks in your content.
Add schema in the Classic Editor
- In the RankKit SEO Schema box, click Add schema.
- Pick a type from Choose a type… and click Add.
- Fill in the fields. Leave the variables in place where they fit, or overwrite them with fixed text.
- Click Validate schema to check the item.
- Save or update the post.
The box also has Import schema from a URL. The page's main schema type is set in the Advanced tab of the RankKit SEO box.
Item controls and status
Each item has an Output this schema toggle, Move up and Move down buttons and Remove schema. Its status shows next to it:
| Status | Meaning |
|---|---|
| Valid | The item is output on the page. |
| Errors | A required property is missing. Items with errors are not output. |
| Skipped | The page already outputs this schema from a block (for example FAQ or How-to), so the item is not added twice. |
| Off | Output this schema is switched off. |
Items marked from a template come from a Pro schema template, not from this page.
Schema types and their fields
Required fields must be filled or the item is not output. Recommended fields produce a warning when empty. Default values are shown in brackets.
Article, Blog post and News article
Headline (%title%), Description (%excerpt%), Image URL (%featured_image%), Published (%date_iso%), Modified (%modified_iso%), Author name (%author%), Author URL (%author_url%).
- Required: headline, author name.
- Recommended: image, published and modified dates.
An Article item replaces the page's automatic Article node instead of adding a second one.
FAQ
Questions, a list of Question and Answer pairs (click Add row for more).
- Required: each question and answer.
If the page already has FAQ schema from the FAQ block or Details blocks, this item is skipped.
How-to
Name (%title%), Description (%excerpt%), Image URL (%featured_image%), Total time (ISO 8601, e.g. PT30M), Estimated cost, Currency (USD), Supplies (one per line), Tools (one per line), and Steps, each with Step title, Instructions, Image URL and Link to step.
- Required: name, the instructions of each step.
- Recommended: image, total time.
Skipped if the page already has a How-to block.
Video
Title (%title%), Description (%excerpt%), Thumbnail URL (%video_thumbnail%), Upload date (%date_iso%), Video file or page URL (%video_url%), Embed (player) URL (%video_embed%), Duration (ISO 8601, e.g. PT4M30S).
- Required: title, description, thumbnail, upload date, and either the video URL or the embed URL.
- Recommended: duration.
The video variables read the first video in the post: YouTube and Vimeo embeds, Video blocks and [video] shortcodes.
Review
Item reviewed (%title%), Item type (Product; also Book, Movie, Course, Event, Game, LocalBusiness, Restaurant, Organization, SoftwareApplication, MediaObject, CreativeWorkSeason, CreativeWorkSeries, Episode, MusicPlaylist, MusicRecording, Recipe), Rating, Best rating (5), Worst rating (1), Review summary (%excerpt%), Reviewer (%author%), Published (%date_iso%).
- Required: item reviewed, rating, reviewer.
- Recommended: published date.
Recipe
Name (%title%), Description (%excerpt%), Image URL (%featured_image%), Author (%author%), Published (%date_iso%), Cuisine, Category (e.g. Dessert), Keywords, Prep time (e.g. PT15M), Cook time (e.g. PT1H), Total time, Yield (e.g. 4 servings), Calories per serving, Ingredients (one per line), Instructions (one step per line), Video URL (%video_url%), Average rating, Number of ratings.
- Required: name, image.
- Recommended: ingredients, instructions, total time, yield, author, average rating.
Event
Name (%title%), Description (%excerpt%), Image URL (%featured_image%), Starts, Ends, Status (Scheduled; also Postponed, Rescheduled, Moved online, Cancelled), Attendance (In person; also Online, Both), Venue name, Venue address, Online event URL, Organizer (%sitename%), Organizer URL (%siteurl%), Performer, Ticket price, Currency (USD), Ticket URL (%url%), Tickets on sale from.
- Required: name, start date, a location (venue name or address for in-person events, online event URL for online events).
- Recommended: end date, image, description, ticket price, organizer, status.
Course
Name (%title%), Description (%excerpt%), Provider (%sitename%), Provider URL (%siteurl%), Price, Currency (USD), Mode (Online; also On site, Blended), Workload (e.g. PT10H).
- Required: name, description, provider.
- Recommended: price, mode.
Software app
Name (%title%), Description (%excerpt%), Category (BusinessApplication and 13 other app categories), Operating system, Price (0 for free), Currency (USD), Screenshot or icon URL (%featured_image%), Average rating, Number of ratings.
- Required: name, price.
- Recommended: average rating, category, operating system.
Product
Name (%title%), Description (%excerpt%), Image URL (%featured_image%), Brand, SKU, GTIN / EAN / UPC, MPN, Price, Currency (USD), Availability (In stock; also Out of stock, Pre-order, Back order, Discontinued), Price valid until, Average rating, Number of reviews.
- Required: name, plus a price, an average rating or a review.
- Recommended: image, description, brand, SKU.
On WooCommerce products you don't need this item: RankKit SEO builds Product schema from the product data. See WooCommerce SEO.
Person
Name (%title%), Job title, Bio (%excerpt%), Photo URL (%featured_image%), URL (%url%), Email, Works for, Profiles (one URL per line).
- Required: name.
- Recommended: photo, profiles.
Service
Name (%title%), Service type, Description (%excerpt%), Image URL (%featured_image%), Provider (%sitename%), Area served, Price, Currency (USD), URL (%url%).
- Required: name.
- Recommended: description, provider, area served.
Job posting
Job title (%title%), Description (%post_content%), Date posted (%date_iso%), Apply before, Employment type (Full time; also Part time, Contractor, Temporary, Intern, Volunteer, Per diem, Other), Hiring organization (%sitename%), Organization URL (%siteurl%), Organization logo URL (%logo%), Fully remote, Street address, City, Region / state, Postal code, Country (e.g. US), Salary from, Salary to, Currency (USD), Salary per (Year; also Hour, Day, Week, Month).
- Required: job title, description, date posted, hiring organization, and either an address or Fully remote.
- Recommended: apply-before date, employment type, salary.
Custom JSON-LD
"Any JSON-LD object with an @type. Variables such as %title%, %url% and %featured_image% are replaced on output." Paste one JSON object (not a list):
{
"@type": "Book",
"name": "%title%",
"url": "%url%",
"image": "%featured_image%"
}
Variables you can use
In the Classic Editor, click Variables you can use in the Schema manager for the full list. Every title variable works, plus these schema variables:
| Variable | Value |
|---|---|
%url% |
Page URL (canonical) |
%siteurl% |
Home page URL |
%featured_image% |
Featured or social image URL |
%logo% |
Site logo URL |
%date_iso% |
Publish date (ISO 8601) |
%modified_iso% |
Last modified (ISO 8601) |
%author_url% |
Author archive URL |
%post_content% |
Post content as plain text |
%video_url% |
First video in the post |
%video_embed% |
Embed URL of the first video |
%video_thumbnail% |
Thumbnail of the first video |
%cf:field_name% |
Custom field value (Pro) |
Check the result
Click Validate Current in the block editor, or Validate schema in the Classic Editor. You get either "Valid" with a count of recommendations, or the number of errors and warnings. Show final JSON-LD shows the exact output, including Other nodes on the page from the automatic schema. Use the Google Rich Results Test link to test the published page with Google. More in Check and import schema.
FAQ
Why isn't my schema item on the page?
It has errors, it is switched off, or it was skipped because a block already outputs the same type. The status next to the item tells you which. Fix the required fields marked in the validator and update the post.
Can I add two items of the same type?
Yes, for most types. Article-type and Product items are the exception: they merge into the page's single article or product node instead of adding a second one.
Do variables update when I edit the post?
Yes. Variables are replaced each time the page is output, so a changed title, featured image or modified date is reflected without editing the schema item.
Was this page helpful?
Related guides
Check and import schema
Validate the final JSON-LD a page outputs, fix errors before Google sees them, and import schema from another page's URL or from pasted code.
How RankKit SEO's schema works
RankKit SEO builds one connected JSON-LD graph for every page automatically. Learn which nodes it outputs, where they come from and how to change them.
Schema templates and custom fieldsPRO
Write schema once and apply it to every matching post with display conditions, filled from ACF, Meta Box, Pods or ACPT fields with %cf% variables.
Still need help?
Email us with your WordPress and RankKit SEO versions and what you tried. Pro customers get priority replies.