Represents an individual web page. Useful in @graph alongside Article, Organization, etc.
Fields (additional to CreativeWork)
Field
Type
Notes
url
string?
Page URL
name
string?
Page title
breadcrumb
BreadcrumbList?
Page breadcrumb
reviewedBy
Person \| Organization?
Medical/legal review
lastReviewed
string?
ISO 8601 review date
speakable
SpeakableSpecification?
For Google Assistant
significantLink
string \| string[]?
Important outgoing links
primaryImageOfPage
ImageObject?
Primary image
relatedLink
string \| string[]?
Related links
Example
constpage=createWebPage({'@id':'https://example.com/about#webpage',name:'About Us — Acme',url:'https://example.com/about',description:'Learn about Acme Corporation.',datePublished:'2024-01-01',dateModified:'2025-03-15',inLanguage:'en-US',isPartOf:{'@id':'https://example.com/#website'},breadcrumb:{'@type':'BreadcrumbList',itemListElement:[{'@type':'ListItem',position:1,name:'Home',item:'https://example.com'},{'@type':'ListItem',position:2,name:'About'},],},});
createWebSite
import{createWebSite}from'schemaorg-kit';
Represents the entire website. Used for knowledge panel signals.
potentialAction (SearchAction) was deprecated by Google in November 2024. The Sitelinks Searchbox no longer appears in search results. The field is harmless to include but has no effect. See Google’s announcement.
{'@type':'CourseInstance',courseMode:'online'|'onsite'|'blended',startDate:'2025-09-01',// ISO 8601endDate:'2025-12-15',location:{'@type':'Place',name:'Room 204'},// for onsiteinstructor:{'@type':'Person',name:'Prof. Smith'},offers:{'@type':'Offer',price:0,priceCurrency:'USD'},}
Enables timestamp deep-links for videos hosted on your own site (non-YouTube). The target URL template must contain a {seek_to_second_number} placeholder.
import{SeekToActionSchema}from'schemaorg-kit';SeekToActionSchema.parse({target:'https://example.com/video?t={seek_to_second_number}',// 'startOffset-input' defaults to 'required name=seek_to_second_number'})
For Google Book Actions (invite-only). Google uses a two-level structure: a work node (the book itself) containing workExample entries (individual editions). Each edition has a potentialAction — either ReadAction (read online) or BorrowAction (borrow from a library).
ReadActionSchema.parse({target:'https://read.example.com/book-slug',// URL or EntryPoint objectexpectsAcceptanceOf:{'@type':'Offer',price:9.99,priceCurrency:'USD'},})
BorrowActionSchema
BorrowActionSchema.parse({lender:{'@type':'LibrarySystem',name:'City Public Library System','@id':'https://www.worldcat.org/wcpa/oclc/12345',},target:'https://catalog.library.example/borrow/isbn/9780132350884',})
Full Example
import{createBook,BookEditionSchema,ReadActionSchema,BorrowActionSchema}from'schemaorg-kit';constbook=createBook({name:'Clean Code',author:{'@type':'Person',name:'Robert C. Martin'},isbn:'9780132350884',description:'A handbook of agile software craftsmanship.',image:'https://example.com/covers/clean-code.jpg',sameAs:['https://www.worldcat.org/oclc/71196630','https://openlibrary.org/books/OL7353243M',],workExample:[BookEditionSchema.parse({name:'Clean Code (eBook)',bookFormat:'EBook',inLanguage:'en',isbn:'9780136083252',potentialAction:ReadActionSchema.parse({target:'https://read.example.com/clean-code',expectsAcceptanceOf:{'@type':'Offer',price:9.99,priceCurrency:'USD'},}),}),BookEditionSchema.parse({name:'Clean Code (Hardcover)',bookFormat:'Hardcover',inLanguage:'en',isbn:'9780132350884',potentialAction:BorrowActionSchema.parse({lender:{'@type':'LibrarySystem',name:'San Francisco Public Library'},target:'https://sfpl.org/catalog/borrow/clean-code',}),}),],});
For Google’s Fact Check rich result. Required: url, claimReviewed, reviewRating.alternateName.
ClaimReviewSchema fields
Field
Type
Notes
url
string
Required — URL of the fact-check article
claimReviewed
string
Required — The text of the claim
reviewRating
Rating
Required — Must include alternateName (e.g. “False”)
author
Person \| Organization?
The fact-checker
itemReviewed
Claim?
The structured Claim object
datePublished
string?
ISO 8601
dateModified
string?
ISO 8601
inLanguage
string?
Language code
ClaimSchema fields
Field
Type
Notes
author
Person \| Organization?
Who made the claim
datePublished
string?
When the claim was made
firstAppearance
string?
URL of first appearance
appearance
string \| string[]?
URL(s) of other appearances
Example
constfactCheck=createClaimReview({url:'https://factcheck.example.com/2025/claim-about-climate',claimReviewed:'Global temperatures have not risen since 2010.',reviewRating:{'@type':'Rating',alternateName:'False',ratingValue:1,bestRating:5,worstRating:1,},author:{'@type':'Organization',name:'FactCheck.org'},datePublished:'2025-06-15',itemReviewed:ClaimSchema.parse({author:{'@type':'Person',name:'Jane Doe'},datePublished:'2025-06-10',firstAppearance:'https://blog.example.com/climate-post',}),});