Book Schema Markup: Help Google Showcase Your Books in Search
Last Updated: February 25, 2026 ยท 9 min read
Book schema markup tells Google everything it needs to know about a book โ title, author, ISBN, publisher, edition, number of pages, and more. Google uses this to power the Book Actions carousel, enable voice search queries ("find books by X author"), and populate knowledge panels for authors. Publishers, authors, bookstores, and book review sites all benefit.
1. Complete Book Schema Template
{
"@context": "https://schema.org",
"@type": "Book",
"name": "The Art of Prompt Engineering",
"url": "https://example.com/books/art-of-prompt-engineering",
"image": "https://example.com/books/cover.jpg",
"description": "A practical guide to writing effective prompts
for large language models, with real-world examples and
reproducible techniques.",
"isbn": "978-3-16-148410-0",
"numberOfPages": 312,
"inLanguage": "en",
"datePublished": "2026-01-15",
"bookEdition": "2nd Edition",
"bookFormat": "https://schema.org/Paperback",
"author": {
"@type": "Person",
"name": "Alex Turner",
"url": "https://alexturner.example.com",
"sameAs": [
"https://twitter.com/alexturner",
"https://linkedin.com/in/alexturner"
]
},
"publisher": {
"@type": "Organization",
"name": "TechPress Publishing",
"url": "https://techpress.example.com"
},
"offers": {
"@type": "Offer",
"price": "34.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/books/buy"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "248",
"bestRating": "5"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "Jamie Lee" },
"reviewRating": {
"@type": "Rating",
"ratingValue": "5"
},
"reviewBody": "The most practical and up-to-date guide
on prompt engineering I have read."
}
]
}2. bookFormat Values
| Schema.org Value | Meaning |
|---|---|
| https://schema.org/Hardcover | Physical hardcover book |
| https://schema.org/Paperback | Physical paperback / softcover |
| https://schema.org/EBook | Digital (Kindle, EPUB, PDF) |
| https://schema.org/AudiobookFormat | Audio version |
| https://schema.org/GraphicNovel | Graphic novel / illustrated format |
๐ก Multiple editions โ use workExample
If a book has multiple editions (hardcover, paperback, ebook, audiobook), use the workExample property to link them all under one parent entry โ Google can surface the most relevant edition for each user.
"workExample": [
{
"@type": "Book",
"bookFormat": "https://schema.org/Paperback",
"isbn": "978-0-123-45678-9",
"offers": { "@type": "Offer", "price": "24.99",
"priceCurrency": "USD" }
},
{
"@type": "Book",
"bookFormat": "https://schema.org/EBook",
"isbn": "978-0-123-45679-6",
"offers": { "@type": "Offer", "price": "9.99",
"priceCurrency": "USD" }
}
]3. Book Schema for Author Pages
On an author's profile page, use Person schema as the primary type, then reference their books via the author property going the other way โ this helps Google build a comprehensive knowledge graph for the author entity.
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Alex Turner",
"url": "https://alexturner.example.com",
"jobTitle": "Author",
"knowsAbout": ["Prompt Engineering", "AI", "LLMs"],
"sameAs": [
"https://twitter.com/alexturner",
"https://amazon.com/author/alexturner"
]
}4. Common Mistakes with Book Schema
๐ฉ Using ISBN-10 format
โ Google prefers ISBN-13. Convert ISBN-10 using an online tool and use the 13-digit format prefixed with 978- or 979-.
๐ฉ Omitting datePublished
โ Include datePublished even for older books. It helps Google understand whether the content is the latest edition.
๐ฉ Missing sameAs on author
โ Link the author Person entity to their Amazon author page, Goodreads profile, and social accounts. This is how Google builds entity associations.
๐ฉ Applying Book schema to book lists / collections
โ Use ItemList schema for pages listing multiple books, not Book schema. Each individual item in the list can reference a Book type.
5. BookSeries Schema: Linking Books in a Series
If your books are part of a series, use the BookSeries type to connect them. This helps Google understand the relationship between volumes and surfaces series-level information in search:
{
"@context": "https://schema.org",
"@type": "Book",
"name": "The Pragmatic Programmer, 20th Anniversary Edition",
"isbn": "978-0135957059",
"isPartOf": {
"@type": "BookSeries",
"name": "The Pragmatic Programmers Library",
"publisher": {
"@type": "Organization",
"name": "Pragmatic Bookshelf"
}
},
"position": 1,
"author": [
{ "@type": "Person", "name": "David Thomas" },
{ "@type": "Person", "name": "Andrew Hunt" }
]
}The position property indicates the book's place within the series (1 for book 1, etc.). This is especially valuable for novel series, textbook editions, and multi-volume reference works.
6. Digital and Audio Formats: EBook and AudioBook Schema
When your book is available in digital or audio formats, use the bookFormat property to specify the exact format. Google uses this to surface format-specific results:
| Format | bookFormat Value | readBy Property? | abridged Property? |
|---|---|---|---|
| Print hardcover | schema:Hardcover | No | No |
| Print paperback | schema:Paperback | No | No |
| E-book (Kindle, ePub) | schema:EBook | No | No |
| Audiobook (full cast) | schema:AudiobookFormat | Yes โ use Person | No |
| Abridged audiobook | schema:AudiobookFormat | Yes โ use Person | Yes (abridged: true) |
7. Book Review Sites: Review Schema vs Book Schema
If you run a book review site, you need both Book schema and Review schema โ they serve different purposes:
Book schema on the book's canonical page
If you maintain a dedicated page for each book title (like Goodreads does), put Book schema on that page. This tells Google the page subject is the book itself โ its author, ISBN, publisher, editions, and ratings.
Review schema on the review page
When you publish a written review of a book, the reviewer's page gets Review schema with itemReviewed pointing to the Book entity (by name and ISBN or @id). The author of the Review is your reviewer, not the book's author.
AggregateRating for collection pages
If you aggregate ratings from multiple user reviews of a book, add an AggregateRating embedded inside your Book schema: { "@type": "AggregateRating", "ratingValue": "4.3", "reviewCount": "1842" }. This can trigger star ratings in SERP snippets.
Frequently Asked Questions
Does Google show rich results for Book schema?โผ
Yes. Google supports Book schema for the Book Actions feature, which can appear in Google Search and Google Assistant. Providing accurate ISBN, author, and offers data increases the chance of your book appearing in these surfaces.
What is the difference between Book schema and Review schema?โผ
Book schema describes the book itself (title, author, ISBN, publisher). Review schema describes someone's written critique of the book, with itemReviewed pointing to the Book. A book page can contain both โ Book schema for the entity and embedded Review/AggregateRating for social proof.
Should I include ISBN on all book pages?โผ
Yes, always include ISBN-13 where available. ISBN is the primary identifier Google uses to disambiguate book entities. Without it, Google cannot confidently associate your schema with a specific edition in its Knowledge Graph.
Can I use Book schema for ebooks?โผ
Yes. Set bookFormat to "https://schema.org/EBook" for digital editions. You can also use workExample to link print and ebook editions under one parent Book entity, allowing Google to surface the most relevant format for each user.
How do I mark up an audiobook with schema?โผ
Use bookFormat: "https://schema.org/AudiobookFormat" and add the readBy property (a Person) to indicate the narrator. If the audiobook is abridged, you can indicate this in the description. Use a separate schema block for the audiobook edition.
Is workExample required for listing multiple editions?โผ
No, it is optional but strongly recommended if you have multiple editions. workExample links them under one parent Book, improving how Google presents edition choices to users. Without it, each edition is treated as an independent entity.
What schema do I use for a page listing multiple books?โผ
Use ItemList schema with ListItem entries for a books collection page. Each ListItem can reference or embed a Book schema. Do not apply Book schema to the list page itself โ that is for single-book pages only.
Can a book have multiple authors in schema?โผ
Yes. Use an array for the author property: "author": [{ "@type": "Person", "name": "Author One" }, { "@type": "Person", "name": "Author Two" }]. List all co-authors, with sameAs links to their profiles where possible.
Validate Your Book Schema
Check your Book JSON-LD for errors, missing properties, and rich result eligibility.
Validate Book Schema โRelated Guides
What is JSON-LD?
The format used to write structured data
Article vs BlogPosting Schema
Schema for editorial and blog content
Google Rich Results Guide
Which schema types unlock rich results
Schema Markup Checker
Validate and debug your structured data
Schema Markup Tutorial
Step-by-step guide to adding any schema
What is Schema.org?
The vocabulary behind all structured data