4

I have build a Web Application and the website is set-up like this:

  1. Landing Pages that consists of Home, Price, Features and Contact Us
  2. Web Application pages that are for logged in users and only the Login page and Register page can be accessed by Search Engine bots.

At the moment, I have the following schema microdata for all pages, including the landing pages as well as the web application pages:

<body itemscope itemtype="http://schema.org/WebApplication"">
  <meta itemprop="name" content="Awesome Education App">
  <meta itemprop="about" content="Education App for smart people.">
  <meta itemprop="applicationCategory" content="EducationApplication">
  <meta itemprop="author" content="Mr Smith">
  <meta itemprop="creator" content="Example Company">
  <meta itemprop="country" content="Australia">
  <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <meta itemprop="price" content="5.00" />
    <meta itemprop="priceCurrency" content="AUD" />
    <link itemprop="availability" href="http://schema.org/InStock" />
  </span>
  <meta itemprop="keywords" name="keywords" content="education app, etc, etc">

  <ul itemscope itemtype="http://schema.org/SiteNavigationElement">
     <li><a href="home">Home</a></li>
     <li><a href="price">Price</a></li>
     <li><a href="features">Features</a></li>
     <li><a href="contact-us">Contact Us</a></li>
     <li><a href="web-app/login">Login</a></li>
     <li><a href="web-app/register">Register</a></li>
 </ul>    
</body>

My questions are:

1) Do I have separate schema for Landing Pages and the App Pages? I mean have something like this:

Have this Schema for Landing Page, Price Page and Features page like this:

<body itemscope itemtype="http://schema.org/WebPage">
...
<body>

Have this Schema for all App Pages:

<body itemscope itemtype="http://schema.org/WebApplication">
...
<body>

2) Do I add schema for offer, about etc in each individual pages (such as: itemprop="price" in Price page and itemprop="about" in Features page) or can I have all data in every pages like my example above?

3) The App I have created is an education app. Can I use applicationCategory schema like this or is this invalid. If it is invalid, what will be the best category in this case:

<meta itemprop="applicationCategory" content="EducationApplication">

4) Can I use SiteNavigationElement with WebApplication schema type?

5) Lastly, with the SiteNavigationElement for menu items, is my example method correctly implemented or do I need add itemprop for each individual menu items?

Thank you so much for your help.

3
  • 1
    There's no right or wrong but if you want an easier time, ditch inline markup and go JSON-LD. Placement of markup becomes irrelevant. Commented Mar 19, 2017 at 17:25
  • Thank you @SimonHayter I have been reading about JSON-LD format the past hour now and it does look a lot easier than my inline markup. Would you be able to give me a sample on how I can perhaps approach this in my case please? Am I better off adding JSON-LD with "@type": "WebSite" for my landing pages and only use "@type": "WebApplication" for my web application pages? What is your suggestion in this please? The only other thing I have to figure out is,I have a lot of image screenshots on landing pages (like 30 images) where I can simply add the inline markup for each of them at the moment
    – Neel
    Commented Mar 19, 2017 at 18:25
  • Use JSON+LD with Google Tag Manger, its a broad topic and unable to provide a sample as its massive subject to cover in a little comment. Do some research and come back to us in a new question if you get stuck using either. Commented Mar 19, 2017 at 19:44

1 Answer 1

1

Depending on the data structure on the page, you can apply markup both for the entire page as a whole, and for individual data blocks.

For educational application, you can use the following data schema. However, be careful! You must follow these guidelines to be eligible to appear in the job training experience on Google.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.