Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Schema types for webinars, infographics, datasheets, product videos and eBooks
-
Hi,
I’m looking to add Schema markup to my company pages’s webinar page (recording past webinars) and data sheets, infographics, product videos, eBooks/white papers. For eBooks, I am primarily referring to a landing page with a gate to download a PDF document.
I’m trying to determine the best markup type:
For Webinars, I’ve seen suggestions to use “Event” type but that seems appropriate for future events, not something like a recorded webinar, which is not time-sensitive, unlike a live event. However, I see a StackOverflow forum to use http://schema.org/recordedIn for recorded webinars.
For eBooks and White Papers, I see a few potential schema types:
https://schema.org/DigitalDocument
https://schema.org/CreativeWork
http://schema.org/EBook (or https://schema.org/Book and then book format type of Ebook)
-
I will create the schema for my movies website. I will create the Movie rating schema, Article schema and some more schemas that is need to my website.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Movie",
"actor": [
{
"@type": "Person",
"name": "Johnny Depp"
},
{
"@type": "Person",
"name": "Penelope Cruz"
},
{
"@type": "Person",
"name": "Ian McShane"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"bestRating": "10",
"ratingCount": "200",
"ratingValue": "8",
"reviewCount": "50"
},
"author": [
{
"@type": "Person",
"name": "Ted Elliott"
},
{
"@type": "Person",
"name": "Terry Rossio"
}
],
"description": "Jack Sparrow and Barbossa embark on a quest to find the elusive fountain of youth, only to discover that Blackbeard and his daughter are after it too.",
"director": {
"@type": "Person",
"name": "Rob Marshall"
},
"name": "Pirates of the Carribean: On Stranger Tides (2011)"
}
</script>
This schema is help me to index my website fastly. -
@WhiteHat1 Hey there! For a webinar, the most appropriate schema would be a combination of Event and OnDemandEvent due to its online nature. However, as of my last update, OnDemandEvent was more suitable for an event like a movie or TV show that is available for streaming whenever you want to watch it, rather than a live webinar that takes place at a specific time.
For most live webinars, you should use the Event type with an eventAttendanceMode property set to OnlineEventAttendanceMode. The VirtualLocation type would also be used instead of a physical address.
Here's an example of what that schema might look like:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Interactive Webinar on Data Science",
"description": "Join our expert panel as they delve into the latest trends in Data Science. This webinar will cover a range of topics from predictive analytics to deep learning.",
"startDate": "2023-12-01T18:00:00+00:00",
"endDate": "2023-12-01T19:30:00+00:00",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "VirtualLocation",
"url": "https://www.webinarhost.com/event123"
},
"image": "https://www.webinarhost.com/images/event123_banner.jpg",
"organizer": {
"@type": "Organization",
"name": "Data Science Community Forum",
"url": "https://www.datascienceforum.org"
},
"performer": {
"@type": "Person",
"name": "Dr. Jane Doe",
"url": "https://www.datascienceforum.org/speakers#JaneDoe"
},
"offers": {
"@type": "Offer",
"url": "https://www.webinarhost.com/register/event123",
"price": "0",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2023-11-01T09:00:00+00:00"
},
"audience": {
"@type": "EducationalAudience",
"audienceType": "Professional"
},
"recordedIn": {
"@type": "CreativeWork",
"name": "Data Science Webinar Series"
}
}
</script>Some points to consider:
eventAttendanceMode: Specifies that the event is an online event.
location: Uses VirtualLocation with a url property to indicate where the webinar can be accessed.
offers: Contains details about the registration or ticketing, which in this case indicates a free event.
recordedIn: If the webinar is part of a series, you might include this to reference the series.
Make sure to validate your structured data using Google's Rich Results Test or similar tools to check for any errors or warnings that might affect how search engines interpret and display your content.I really hope that this helps!
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Can I add FAQS schema on my homepage?
Hello, can we have the FAQ code on the homepage (staff time)? we have written some questions and answers in the drop-down list on the homepage, and also add the schema code script to one tag of the page, but it does not work!
Intermediate & Advanced SEO | | fbowable0 -
Topical keywords for product pages and blogs
Hi all, I have a question regarding keywords. Of course we all know that keyword research should be focused on a certain topic and on user intent (and thus on answering specific questions) instead of trying to put keywords in a page to make it rank. However, duplicate content is of course still an issue. So here's my question: A client that sells floor heating systems that you can install yourself, has a product page for this topic and blog pages for questions regarding this topic. So following pages are on the website: Product page about the floor heating systems the client sells Blog article with tips how to install a floor heating system yourself Blog article about how to choose the right floor heating system These pages all answer different questions and are written about different topics. However, inevatibly all these pages also talk about different aspects of floor heating systems so this broad term comes up on all pages naturally. You could say that a solution is to merge pages and redirect the blogs to the product page, so the product page would answer all questions. But that is not what a customer is looking for. The goal of a product page is to trigger a conversion: let a customer contact the company or ask for a price offer. If the content on a product page is not comprehensive enough, the goal gets lost. Moreover, it doesn't make sense to talk about tips and tricks on a product page. So how do you tackle this problem without creating duplicate content? In search results, the blog pages rank for the specific questions, but the product page doesn't rank for the generic term 'floor heating'. The internal link structure is ok: the product page has obviously more incoming links than the blogs. All on page SEO factors are taken care of as well. Any ideas on this? Thanks!
Intermediate & Advanced SEO | | Mat_C0 -
Lazy Loading of products on an E-Commerce Website - Options Needed
Hi Moz Fans. We are in the process of re-designing our product pages and we need to improve the page load speed. Our developers have suggested that we load the associated products on the page using Lazy Loading, While I understand this will certainly have a positive impact on the page load speed I am concerned on the SEO impact. We can have upwards of 50 associated products on a page so need a solution. So far I have found the following solution online which uses Lazy Loading and Escaped Fragments - The concern here is from serving an alternate version to search engines. The solution was developed by Google not only for lazy loading, but for indexing AJAX contents in general.
Intermediate & Advanced SEO | | JBGlobalSEO
Here's the official page: Making AJAX Applications Crawlable. The documentation is simple and clear, but in a few words the solution is to use slightly modified URL fragments.
A fragment is the last part of the URL, prefixed by #. Fragments are not propagated to the server, they are used only on the client side to tell the browser to show something, usually to move to a in-page bookmark.
If instead of using # as the prefix, you use #!, this instructs Google to ask the server for a special version of your page using an ugly URL. When the server receives this ugly request, it's your responsibility to send back a static version of the page that renders an HTML snapshot (the not indexed image in our case). It seems complicated but it is not, let's use our gallery as an example. Every gallery thumbnail has to have an hyperlink like: http://www.idea-r.it/...#!blogimage=<image-number></image-number> When the crawler will find this markup will change it to
http://www.idea-r.it/...?_escaped_fragment_=blogimage=<image-number></image-number> Let's take a look at what you have to answer on the server side to provide a valid HTML snapshot.
My implementation uses ASP.NET, but any server technology will be good. var fragment = Request.QueryString[``"_escaped_fragment_"``];``if (!String.IsNullOrEmpty(fragment))``{``var escapedParams = fragment.Split(``new``[] { ``'=' });``if (escapedParams.Length == 2)``{``var imageToDisplay = escapedParams[1];``// Render the page with the gallery showing ``// the requested image (statically!)``...``}``} What's rendered is an HTML snapshot, that is a static version of the gallery already positioned on the requested image (server side).
To make it perfect we have to give the user a chance to bookmark the current gallery image.
90% comes for free, we have only to parse the fragment on the client side and show the requested image if (window.location.hash)``{``// NOTE: remove initial #``var fragmentParams = window.location.hash.substring(1).split(``'='``);``var imageToDisplay = fragmentParams[1]``// Render the page with the gallery showing the requested image (dynamically!)``...``} The other option would be to look at a recommendation engine to show a small selection of related products instead. This would cut the total number of related products down. The concern with this one is we are removing a massive chunk of content from he existing pages, Some is not the most relevant but its content. Any advice and discussion welcome 🙂0 -
Pros and cons of video onsite or youtube
what are the pros and cons of placing videos on the native website as opposed to pushing the you tube channel? If I move the youtube and vimeo to the native website will i loose all the link juice? is there an easy way to have transcript of the audio as html in the site?
Intermediate & Advanced SEO | | bakergraphix_yahoo.com0 -
Best practice for retiring old product pages
We’re a software company. Would someone be able to help me with a basic process for retiring old product pages and re-directing the SEO value to new pages. We are retiring some old products to focus on new products. The new software has much similar functionality to the old software, but has more features. How can we ensure that the new pages get the best start in life? Also, what is the best way of doing this for users? Our plan currently is to: Leave the old pages up initially with a message to the user that the old software has been retired. There will also be a message explaining that the user might be interested in one of our new products and a link to the new pages. When traffic to these pages reduces, then we will delete these pages and re-direct them to the homepage. Has anyone got any recommendations for how we could approach this differently? One idea that I’m considering is to immediately re-direct the old product pages to the new pages. I was wondering if we could then provide a message to the user explaining that the old product has been retired but that the new improved product is available. I’d also be interested in pointing the re-directs to the new product pages that are most relevant rather than the homepage, so that they get the value of the old links. I’ve found in the past that old retirement pages for products can outrank the new pages as until you 301 them then all the links and authority flow to these pages. Any help would be very much appreciated 🙂
Intermediate & Advanced SEO | | RG_SEO0 -
Should I use rel=canonical on similar product pages.
I'm thinking of using rel=canonical for similar products on my site. Say I'm selling pens and they are al very similar. I.e. a big pen in blue, a pack of 5 blue bic pens, a pack of 10, 50, 100 etc. should I rel=canonical them all to the best seller as its almost impossible to make the pages unique. (I realise the best I realise these should be attributes and not products but I'm sure you get my point) It seems sensible to have one master canonical page for bic pens on a site that has a great description video content and good images plus linked articles etc rather than loads of duplicate looking pages. love to hear thoughts from the Moz community.
Intermediate & Advanced SEO | | mark_baird0 -
Ecommerce Duplicate Product Descriptions across 3 websites
Hi, We are an e commerce company that has our own domain but also sell the same products on eBay and Amazon. What is the feeling on the same exact descriptions being used on different platforms? Do they count as duplicate content? Will our domain be punished/penalised as our domain does not have as much authority as EBay or Amazon? We have over 5,000 products with our own hand written product descriptions. We want our website to be the main place/ have priority over the above market places. What's the best suggestion/solution? thanks,
Intermediate & Advanced SEO | | Roy19730 -
Should we stream videos from a subdomain or subfolder?
This is causing some hand-wrangling and I need some help. Let's say we were developing rich video content for our products and our agency is hosting the content on a new external server. There are already plans to link to these videos from product detail pages, category pages, and landing pages on our main website: www.example.com. Would it be better to create a new subdomain or to use a subfolder with a reverse proxy technique for this video content? It's not truly a microsite and will not have a gallery page to navigate the various videos. For example, would it be better to use this: video.example.com/ ...or this (executed with a reverse proxy😞 www.example.com/video/ Of course, regardless of whether this new content will live on a subdomain or within a subfolder, we plan on creating a video Sitemap using guidance from Justin Hammack in this terrific post.
Intermediate & Advanced SEO | | Ryan-Ricketts1