Ever wondered what makes books and novels easily accessible over search engines? For example, a search for Rabindranath Tagore’s Gitanjali on search engines will provide you with an array of options like a list of websites from where you can buy or borrow the novel, reviews or summary, etc. What makes this plethora of information so organised over search engines?
The answer is: Book – schema.org also called
Book- structured data.
Search Engines use The Book-schema.org markup for structuring book and novel data which makes it easily accessible and visible over search engines. Also known as Book actions, using this markup makes Google search an entry point for discovering books and authors. The JASON-LD Book markup is a schema.org markup which is used for structuring book and novel data.
Retailers use Book actions to provide Google with all book-related information later shown as a search engine through a simple process :
The retailer has two options:
- ReadAction: This action allows retailers to sell their books online either independently or through a third party ( Flipkart, Amazon)
- BorrowAction: This action helps the retailers to put up their book for borrowing.
Search engines display the two options as links, the users can click on the link of their choice, taking them directly either on the website book page or the app book page.
A very significant aspect here is that the search results of books are user-oriented. It means that if a user frequently buys or borrows books from a particular website, then every time he searches for a book over the search engine that website will be at the top of the search results followed by other options. Also, the order of search results can be different if the user performs multiple searches for the same book.
How do I structure my book data for search engines to display it effectively?
Websites and webpages follow guidelines for well-structured book and novel data. Apart from the primary data structure guidelines provided by Google ( I have specified the Guidelines in Part one of the blog series),the following guidelines are required for an effective structured data:
- Work and Edition Guidelines:
The above-stated terms are important terms used for structuring book data.
We can easily understand it with the help of the following example:
The novel Gitanjali By Rabindranath Tagore.
WORK will be the summary of the book Gitanjali which includes metadata like the author, the title and the original written language of the book.
The EDITION is the number of edits a book goes through; First Edition, second edition, the abridged version etc. Every book has numerous editions from which users can choose the edition best suited for them. User can choose an edition which is best suited for them.
This feature specifies information like the year of editions, name of the publisher and the International Standard Book Number.
Coding these elements is crucial as they help the users and search engine understand the book structure better and also help increase SEO rankings of book results over search engines.
We use two structured data properties for coding work and edition:
- Book (Work): used for coding crucial book elements like Author, Title etc. and is used to code the very first book edition. Work example is a property of work and is used to specify the edition of the book.
- Book ( Edition): Used for coding the other editions of the same book. It is an important entity required for structuring book data as it helps Google to understand not only the number of editions of a particular book but also helps Google in displaying edition-specific results for users.
Pro Tip: Grouping all the work editions under one group is advisable. However, if a book has too many of them, then it can be broken into multiple work records with each record having a different @id and an ISBN.
Library System Guidelines:
The library entity is a property of schema.org used to code structured data of books by retailers who want to make their books available for lending over the internet.
For Example, You want to lend your book to other readers via the internet. How do you do it?
For doing so, you use the LibraryEntity property that includes sub-entities like LibrarySystem and Library (member).
The library system property is an online network of library members. By coding the Library (member) into your data, you make your book a part of the online library system even if it is not a part of any physical library system. The Library (member) function contains properties like the location, street address, postal code of libraries or the person who has lent his book over the internet. For using Book- schema.org, it is crucial to interconnect the LibrarySystem and Library (member) properties. It means that every LibrarySystem must have a Library (member) and every library (member) must be a part of a library system.
The Library entity is a chief aspect as it makes Google understand that you want to lend your books online. Google then displays these results that are location specific.
The ISBN or any other specified book number makes your book visible on Google Results and is a must-have in your data. Books not having an ISBN or any specified number, are not displayed as google search results.These numbers connect your data feed to google’s data feed. Google usually prefers ISBN-13.
Alternate book identifiers like
- Online Computer Library Centre Number (OCLN)
- Library of Congress Control Number (LCCN)
Can also be provided.
Books not having ISBN identifiers can also come up on Google feeds. By either grouping, all book editions under one work and at least one of the editions should have an ISBN or by using third-party identifiers like OCLN and LCCN.
How do I create a data feed?
For creating the data feed, you have to contact Google Representatives nearest to you. You then have to decide the type of data feed you want. It can either be a single feed (BOOK feed) or multiple feeds ( BOOK and LIBRARY feed).
- The size of uncompressed feed files must be less than 1GB. If the size exceeds more than 1 GB then it should be split into multiple files.
- For creating compressed feed files, the file format should be zip, gz, tar.gz, tar, JAR, arj, cpio or dump archive files and the size must be less than 1GB.
- In the case of multiple files, you can include them as a part of the sitemap index file.
upload them as they are and use the json Extension for single files.
Further, the feed file content must also abide by rules:
- The content should specify whether the book is available on the websites or is out of stock.
- It must also contain deep links like URL, URL template that is important for content. All URLs must be correct and accepted.
- The content must have a unique URL, unique deep link and unique id.
How and where do I host my file?
File Hosting is a process of storing files over the internet by using various secured hosting methods. File Hosting makes your file feeds visible for Google to access it.
The various method of file hosting are:
- Google Storage Cloud
- AWS S3
How do I link my data feed correctly?
- Link the standard URL containing the book title to all duplicate pages of the same content.
- Avoid overlinking of data as it can confuse the user. If the user clicks on the purchase/buy book, then he should be directly taken to it and not on some other link.
How do I test the validity of my book structure data?
The Data Feed Validation Tool tests the validity of the Book-schema.org. Click on the VALIDATE ON button. Select book actions to check if every book entity is structured or not. Further, make sure to specify the correct book type and action ( ReadAction or BorrowAction).
How does my file get reviewed?
The next step involves reviewing feed files. Google Support Team reviews all feed files before making it visible on the search engine. Provide the host location that is the URL of the feed file and authentication credentials to Google for access.
PRO TIP: Google search goes through the technicalities of your file at least once a day so make sure that you update your data frequently! Once a day is advisable.
In part B of the Book data structure post, I will be explaining the various Book- schema.org entities required for coding book structured data in detail.