Announcement

Collapse
No announcement yet.

Microdata "itemCondition" content value "new" no longer valid

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Microdata "itemCondition" content value "new" no longer valid

    FYI... Maybe I'm the last to know this, but I'm just putting this out there in case anyone else sees this error. Google just started showing this error for half of my products today,
    Invalid enum value in field "itemCondition" (in "offers")
    I don't know when they changed this but it looks like now you have to use
    Code:
    <meta itemprop="itemCondition" content="http://schema.org/NewCondition" />
    instead of
    Code:
    <meta itemprop="itemCondition" content="new" />
    Highly caffeinated
    http://www.coffeehouseexpress.com

    #2
    You're not the last to know, and this isn't the only change.

    I got an email yesterday saying issues are found on my site. It seems like in September they made a number of changes. All my products are now showing errors for "Invalid floating point number in property "price" (in "offers")" and "Invalid object type for field "brand"". Never had these issues before, but they all appeared as errors as of Sept. 8.

    If you're using schema markup on your products, it's worth checking in Google Search Console to see if your products are now throwing errors.
    Todd Gibson
    Oliver + S | Sewing Patterns for Kids and the Whole Family

    Comment


      #3
      oliverands Yeah Search Console helps a lot with this.

      We use a ld+json set up to make it easier to adjust it all in one place.

      Product reviews Schema is also mixed in.

      These can also be tranlated to Microdata using the same hierarchy but this should help identify what is current as of now. We have no errors in Google Search Console, just warnings for products without reviews. EX: Missing field "aggregateRating", Missing field "review".

      Here is what we have:

      Code:
      [script type="application/ld+json"]
          {
              "@context": "http://schema.org/",
              "@type": "Product",
          <mvt:if expr="l.settings:pm_easy_review:avgcount">
              "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": "&mvt:pm_easy_review:avgrating;",
                  "reviewCount": "&mvt:pm_easy_review:avgcount;"
              },
          </mvt:if>
              "name": "&mvte:product:name;",
              "image": "https://&mvt:global:domain:name;/mm5/&mvt:product:customfield_values:productimagecustom fields:main;",
              "description": "&mvte:product:descrip;",
              "mpn": "&mvte:product:code;",
              "sku": "&mvte:product:code;",
              "brand": {
                  "@type": "Brand",
                  "name": "&mvte:global:store:name;"
              },
              "offers": {
                  "@type": "Offer",
                  "url": "&mvte:product:link;",
                  "price": "&mvt:product:price;",
                  "priceCurrency": "USD",
                  "priceValidUntil": "<mvt:eval expr="s.tm_year" />-12-31",
                  "itemCondition": "http://schema.org/NewCondition",
              <mvt:if expr="l.settings:product:inv_active">
                  "availability": "http://schema.org/OutOfStock",
              <mvt:else>
                  "availability": "http://schema.org/InStock",
              </mvt:if>
                  "seller": {
                      "@type": "Organization",
                      "name": "&mvte:global:store:name;"
                  }
          <mvt:if expr="l.settings:pm_easy_review:avgcount">
              },
              "review": [
              <mvt:foreach iterator="ep" array="productreviews">
                  {
                      "@type": "Review",
                      "author": {
                          "@type": "Person",
                          "name": "&mvte:ep:author;"
                      },
                      "datePublished": "&mvt:ep:isodate;",
                      "description": "&mvte:ep:review;",
                      "name": "&mvte:ep:title;",
                      "reviewRating": {
                          "@type": "Rating",
                          "bestRating": "5",
                          "ratingValue": "&mvt:ep:rating;",
                          "worstRating": "1"
                      }
              <mvt:if expr="pos1 EQ l.settings:pm_easy_review:avgcount">
                  }
              <mvt:else>
                  },
              </mvt:if>
              </mvt:foreach>
              ]
          <mvt:else>
              }
          </mvt:if>
          }
      [/script]
      I should also note that we are using the Phosphor Media Easy review module and in order to use the ep:productreviews foreach, this code needs to be within The Easy Review Product Display template
      Last edited by SidFeyDesigns; 10-10-22, 06:55 AM. Reason: added disclaimer for code placement "I should also not that we are using the Phosphor Media Easy review module and in order to use the ep:productreviews foreach, this code needs to be within The
      Nick Harkins
      www.loveisarose.com
      *Web Developer
      *Miva
      *Google Analytics, Search Console, Tag Manager, Merchant Center, Ads

      Comment


        #4
        Thanks! It looks like the changes I made yesterday have resolved my errors there.

        I was wondering about how best to handle the price valid until field. What you're doing is a good approach. I'll copy that.

        Any thoughts on a way to manage the warning about missing fields for products that don't have reviews? I have the same thing. Minor issue, but if it's possible to do....
        Todd Gibson
        Oliver + S | Sewing Patterns for Kids and the Whole Family

        Comment


          #5
          oliverands Not a problem.

          Only 1 of either offers, review, or aggregateRating is required.

          Those warnings can be ignored but will not go away until reviews are collected for each product.

          It's basically Google's way of reccomending to collect reviews and mark them up to stand out in the SERPs.

          You can find whats required here:
          https://developers.google.com/search...ct-information
          Nick Harkins
          www.loveisarose.com
          *Web Developer
          *Miva
          *Google Analytics, Search Console, Tag Manager, Merchant Center, Ads

          Comment


            #6
            Originally posted by oliverands View Post
            Thanks! It looks like the changes I made yesterday have resolved my errors there.

            I was wondering about how best to handle the price valid until field. What you're doing is a good approach. I'll copy that.

            Any thoughts on a way to manage the warning about missing fields for products that don't have reviews? I have the same thing. Minor issue, but if it's possible to do....
            Changing


            <mvt:if expr="l.settings:pm_easy_review:avgcount">

            to


            <mvt:if expr="l.settings:pm_easy_review:avgcount GE 1">

            should work. I think l.settings:pm_easy_review:avgcount returns 0 if no reviews. (note this is from memory)
            Bruce Golub
            Phosphor Media - "Your Success is our Business"

            Improve Your Customer Service | Get MORE Customers | Edit CSS/Javascript/HTML Easily | Make Your Site Faster | Get Indexed by Google | Free Modules | Follow Us on Facebook
            phosphormedia.com

            Comment


              #7
              Originally posted by Bruce - PhosphorMedia View Post

              Changing


              <mvt:if expr="l.settings:pm_easy_review:avgcount">

              to


              <mvt:if expr="l.settings:pm_easy_review:avgcount GE 1">

              should work. I think l.settings:pm_easy_review:avgcount returns 0 if no reviews. (note this is from memory)
              That actually does make sense.

              What's weird is it hasn't been an issue using <mvt:if expr="l.settings:pm_easy_review:avgcount">.

              I've been using it for a while now and if there are no reviews (returned 0), the json code within <mvt:if expr="l.settings:pm_easy_review:avgcount"> does not get rendered.

              Empty review or aggregateRating fields will definitely cause errors with Google.

              It's best practice to leave them out entirely if there are no reviews.

              If you think using <mvt:if expr="l.settings:pm_easy_review:avgcount GE 1"> would be more reliable though then I will change it.

              Thanks for pointing that out Bruce.
              Nick Harkins
              www.loveisarose.com
              *Web Developer
              *Miva
              *Google Analytics, Search Console, Tag Manager, Merchant Center, Ads

              Comment

              Working...
              X