Announcement

Collapse
No announcement yet.

No More Cascading Meta Descriptions

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

    No More Cascading Meta Descriptions

    It would be nice to NOT make the meta descriptions cascade so to avoid duplicate meta descriptions. Best practice is having a unique meta description, but no description is better than a duplicate description.



    #2
    While we do default to "cascading" mode, its easy to change. Currently in the HEAD tag you'll find this tag:

    Code:
     <mvt:item name="prodctgy_meta" param="combined" />
    This tag has the following logic built into it:

    Cascading META tag rules are applied as follows:
    |
    | 1. Global META tags
    | 2. Page META tags : Page overrides Global
    | 3. Category META tags : Category overrides Page
    | 4. Product META tags : Product overrides Category

    The idea behind this logic was it was better to have some meta tags vs nothing. The conventional wisdom around that has shifted over the years. However, keep in mind Meta Tags have no impact on SEO today and are more valuable for click through rates in organic listings. This article has a good overview on duplicate meta tags: https://www.eversparkinteractive.com...criptions-bad/


    In addition to the combine mode, there are 4 other available modes you can use:

    <mvt:item name="prodctgy_meta" param="prod" />
    <mvt:item name="prodctgy_meta" param="ctgy" />
    <mvt:item name="prodctgy_meta" param="global" />
    <mvt:item name="prodctgy_meta" param="page" />

    If you don't want any of the cascading logic you could replace the combine tag with some logic like this:


    Code:
    <mvt:if expr="g.Screen EQ 'PROD'">
        <mvt:item name="prodctgy_meta" param="prod" />
    <mvt:elseif expr="g.Screen EQ 'CTGY'">
        <mvt:item name="prodctgy_meta" param="ctgy" />
    <mvt:else>
        <mvt:item name="prodctgy_meta" param="global" />
    </mvt:if>
    With this logic, meta tags only get output if their have a value for the product/category, or for a non-product/category page it would use the global settings.
    Last edited by Brennan; 05-03-19, 02:14 PM.
    Brennan Heyde
    VP Product
    Miva, Inc.
    [email protected]
    https://www.miva.com

    Comment


      #3
      Thanks Brennan,
      And we can use the find replace module to quickly do all the million templates at once. ...Adding to our docs.
      Colin
      Colin Puttick
      Miva Web Developer @ Glendale Designs

      Comment


        #4
        Thank you Brennan!

        Comment


          #5
          Hi Brennan - I tried implementing the code change but it doesn't seem to work.

          In the User Interface > Settings > HEAD Tag Content, is where I found the default cascading meta code and when I changed it to the logic:

          Code:
          <mvt:if expr="g.Screen EQ 'PROD'">
              <mvt:item name="prodctgy_meta" param="product" />
          <mvt:elseif expr="g.Screen EQ 'CTGY'">
              <mvt:item name="prodctgy_meta" param="category" />
          <mvt:else>
              <mvt:item name="prodctgy_meta" param="global" />
          </mvt:if>
          none of the meta descriptions show up, even though the category or product has a unique meta description.

          Any thoughts?

          Thanks!
          Last edited by Rick Wilson; 05-03-19, 10:50 AM.

          Comment


            #6
            Sorry about that I had the wrong parameters.


            <mvt:item name="prodctgy_meta" param="prod" />
            <mvt:item name="prodctgy_meta" param="ctgy" />
            <mvt:item name="prodctgy_meta" param="global" />
            <mvt:item name="prodctgy_meta" param="page" />

            I also update my original post.
            Brennan Heyde
            VP Product
            Miva, Inc.
            [email protected]
            https://www.miva.com

            Comment


              #7
              Thanks Brennan. That worked.

              Comment


                #8
                Originally posted by Brennan View Post
                While we do default to "cascading" mode, its easy to change.

                The idea behind this logic was it was better to have some meta tags vs nothing. The conventional wisdom around that has shifted over the years. However, keep in mind Meta Tags have no impact on SEO today and are more valuable for click through rates in organic listings. This article has a good overview on duplicate meta tags: https://www.eversparkinteractive.com...criptions-bad/
                To say meta tags have no impact on SEO yet are valuable for click through rates in organic listings is misleading and contradictory. While the content in the meta description does not count as a ranking factor, CTR certainly does, therefore meta descriptions do have an impact on SEO based on their CTR. Miva has a lot of cool features and options for SEO. While it can be excused that the combined parameter is an option, the fact that Miva still uses it as the default is inexcusable. It is bad practice.

                Why should a store owner have to "change" something like this out of the box? Most won't because most will not be aware of this defect that will potentially cost them sales..

                Comment


                  #9
                  Why should a store owner have to "change" something like this out of the box? Most won't because most will not be aware of this defect that will potentially cost them sales..
                  That's a SLIPPERY slope. Miva is designed to allow essentially bespoke ecommerce via a SaaS platform and I would hardly call that default setting a defect. We're looking at changing the default, but we leave Miva as flexible as possible and do not promise or warrant on any level that default out of the box settings are designed to maximize anything other than your ability to build the store of your dreams.
                  Thanks,

                  Rick Wilson
                  CEO
                  Miva, Inc.
                  [email protected]
                  https://www.miva.com

                  Comment


                    #10
                    I'm trying to come up with something that will display alternate content if the SEO field for a category is empty. Currently, if the field is empty it pulls in the metadata from the parent category. I thought something like this might work

                    Code:
                    <!-- CTGY -->
                    <mvt:if expr="ISNULL l.settings:category:metafield:description">
                    <meta name="description" content="&mvt:category:name; &mvt:category:code;">
                    
                    <!-- &mvt:category:metafield:description; -->
                    <mvt:else>
                    <!-- CTGY prodctgy_meta -->
                    <mvt:item name="prodctgy_meta" param="ctgy" />
                    </mvt:if>
                    but it's not doing what I thought it would have done.
                    Leslie Kirk
                    Miva Certified Developer
                    Miva Merchant Specialist since 1997
                    Previously of Webs Your Way
                    (aka Leslie Nord leslienord)

                    Email me: [email protected]
                    www.lesliekirk.com

                    Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                    Comment


                      #11
                      Originally posted by lesliekirk View Post
                      I'm trying to come up with something that will display alternate content if the SEO field for a category is empty. Currently, if the field is empty it pulls in the metadata from the parent category. I thought something like this might work

                      Code:
                      <!-- CTGY -->
                      <mvt:if expr="ISNULL l.settings:category:metafield:description">
                      <meta name="description" content="&mvt:category:name; &mvt:category:code;">
                      
                      <!-- &mvt:category:metafield:description; -->
                      <mvt:else>
                      <!-- CTGY prodctgy_meta -->
                      <mvt:item name="prodctgy_meta" param="ctgy" />
                      </mvt:if>
                      but it's not doing what I thought it would have done.
                      I'm circling back to this since I was given some really cool code by dreamingdigital that checks to see if there is content in the category header.


                      Code:
                      <mvt:capture variable="g.man_this_is_cool"><mvt:item name="prod_ctgy_hdft" param="ctgy_header" /></mvt:capture>
                      <mvt:if expr="g.man_this_is_cool NE ''">
                      <div class="ctgy-header">
                      &mvt:global:man_this_is_cool;
                      </div>
                      <mvt:else>
                      <p class="tableheader" style="margin-left:10px;">&mvt:category:name;</p>
                      </mvt:if>
                      It made me wonder, could I use it to check to see if there is content in one of the meta fields. I have a meta tag field for "robots" which I'd like to use per product to tell the bots to "noindex, nofollow" (because of issues with the URI Management and its 301 redirect limitations). This one might be a little trickier because the <mvt:item name="prodctgy_meta" param="prod" /> displays all of the PROD page meta tags. Now to try and figure out how to find just that one meta tag.
                      Leslie Kirk
                      Miva Certified Developer
                      Miva Merchant Specialist since 1997
                      Previously of Webs Your Way
                      (aka Leslie Nord leslienord)

                      Email me: [email protected]
                      www.lesliekirk.com

                      Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                      Comment


                        #12
                        I think the question I am now trying to ask is can each of the META Tags that are available to the PROD page be conditionally displayed separately? Currently, the site has an "all or nothing" approach to the robots

                        Code:
                        <mvt:if expr="g.Screen $ '^' CIN 'PROD^ACAD^ACED^ACLN^ACRT^BASK^BSKE^AFAD^AFCL^AFED ^CEML^CPWD^FPWD^ORDL^ORDL^ORDS^ORHL^LOGN^ACNT^OCST ^AMAZONPAY_OCST^OSEL^OPAY^SRCH^WREVIEWS^NTFD^SVBAS K^'">
                        <meta name="robots" content="noindex,nofollow" />
                        <mvt:else>
                        <meta name="robots" content="index,follow" />
                        </mvt:if>
                        Is there a way to pull the content of the field in if it exists or use a default if it doesn't?
                        Leslie Kirk
                        Miva Certified Developer
                        Miva Merchant Specialist since 1997
                        Previously of Webs Your Way
                        (aka Leslie Nord leslienord)

                        Email me: [email protected]
                        www.lesliekirk.com

                        Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                        Comment


                          #13
                          So here is what I have done for the CTGY template

                          Code:
                          <mvt:if expr="l.settings:category:metafield:robots">
                          <meta name="robots" content="&mvt:category:metafield:robots;">
                          </mvt:if>
                          <mvt:if expr="l.settings:category:metafield:description">
                          <meta name="description" content="&mvt:category:metafield:description;">
                          </mvt:if>
                          <mvt:if expr="l.settings:category:metafield:keywords">
                          <meta name="keywords" content="&mvt:category:metafield:keywords;">
                          </mvt:if>
                          I had "assumed" that if there was nothing in the "metafield" nothing would display. I have just discovered that is not so. It seems that these tags manage to pick up the "cascading" effect. I was just sent a duplicate meta description report and was stunned to see the jump in duplicates. (Circle back to "assumed"). If a category doesn't have anything entered it's pulling data from the next level up that has something.

                          I'm wondering (before I even try to use the "cool" code - which I'm not sure how to use in this case) is there really no way to stop this behavior?
                          Leslie Kirk
                          Miva Certified Developer
                          Miva Merchant Specialist since 1997
                          Previously of Webs Your Way
                          (aka Leslie Nord leslienord)

                          Email me: [email protected]
                          www.lesliekirk.com

                          Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                          Comment


                            #14
                            Oh, come on now...really?
                            Leslie Kirk
                            Miva Certified Developer
                            Miva Merchant Specialist since 1997
                            Previously of Webs Your Way
                            (aka Leslie Nord leslienord)

                            Email me: [email protected]
                            www.lesliekirk.com

                            Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                            Comment

                            Working...
                            X