Announcement

Collapse
No announcement yet.

Caution: Make filtering default view or wrong canonical affects search engine results

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

    Caution: Make filtering default view or wrong canonical affects search engine results

    In SellerDeck 2013 note if you switch to the filtering setting "make filtering the default view" to load products from other pages the link changes from a static link to a cgi-bin script link which can cause problems for search engine listings:
    1) Search engines may have the old static link indexed. If you visit the page you can see products because of Javascript. However the static page is a placeholder for the cgi-bin script to load products, search engines cannot process the Javascript to load products to they cannot see content. If you check a cached Google result of a static link for a filtered page and view the source code there is no text just "Actinic variable" place holders. I read search engines could index Javascript however in this instance it seems it does not.
    2) Customers who find old static links are not redirected to the new cgi-bin link, although the page would work if their browser does not have Javascript disabled.
    3) Website owners with internal links or other websites linking to their pages will have to do work to change the links.
    4) Some page rank may be lost when changing URLs. Some are also concerned that dynamic links are not as SEO friendly as static links.

    Solutions: 301 redirects and canonical links to tell search engines which page to index. You have to be careful about the code, you should not use variables catalogurl sectionpagename, SellerDeck would need blockifs and canonicals for sections with and without filtering and hidden if paginated (paginated pages already have a tag), code alteration with thanks to Hugh and Bruce at SellerDeck:

    Code:
    <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Section%22" >
    <actinic:block if="%3cactinic%3avariable%20name%3d%22SectionPaginated%22%20%2f%3e%20%3d%3d%20false" >
    	<link rel="canonical" href="<actinic:block if="%28%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20%3d%3d%20False%29%20AND%0d%3cactinic%3avariable%20name%3d%22IsLoginPageSuppressed%22%20%2f%3e%20AND%0d%3cactinic%3avariable%20name%3d%22UnregCustomersAreNotAllowed%22%20%2f%3e" ><actinic:variable name="CatalogURL" /><actinic:variable encoding="perl" name="SectionPageName" selectable="false" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20OR%0d%28%3cactinic%3avariable%20name%3d%22IsLoginPageSuppressed%22%20%2f%3e%20%3d%3d%20false%29%20OR%0d%28%3cactinic%3avariable%20name%3d%22UnregCustomersAreNotAllowed%22%20%2f%3e%20%3d%3d%20false%29" ><actinic:variable encoding="perl" name="SectionURL" selectable="false" /></actinic:block>" />
    </actinic:block>
    </actinic:block>
    No liability use at own risk.

    SellerDeck 2014 will include new canonical links to fix the issue.
    Last edited by peblaco; 13-Oct-2014, 02:26 PM. Reason: Updated with further details
    Peblaco

    #2
    Full canonical code with Louise's addition:

    Code:
    <!-- Canonical Tags -->
    <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Brochure%27" >
    <actinic:block if="%3cactinic%3avariable%20name%3d%22IsBrochureHomePage%22%20%2f%3e" >
    <link rel="canonical" href="<actinic:variable name="WebSiteURL" />" />	
    </actinic:block>	
    </actinic:block>
    <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Brochure%27" >
    <actinic:block if="%3cactinic%3avariable%20name%3d%22IsBrochureHomePage%22%20%2f%3e%20%3d%3d%20false">
    <link rel="canonical" href="<actinic:variable name="CatalogURL" /><actinic:variable name="BrochurePageURL" />" />
    </actinic:block>
    </actinic:block>
    <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Section%22" >
    <actinic:block if="%3cactinic%3avariable%20name%3d%22SectionPaginated%22%20%2f%3e%20%3d%3d%20false" >
    	<link rel="canonical" href="<actinic:block if="%28%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20%3d%3d%20False%29%20AND%0d%3cactinic%3avariable%20name%3d%22IsLoginPageSuppressed%22%20%2f%3e%20AND%0d%3cactinic%3avariable%20name%3d%22UnregCustomersAreNotAllowed%22%20%2f%3e" ><actinic:variable name="CatalogURL" /><actinic:variable encoding="perl" name="SectionPageName" selectable="false" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20OR%0d%28%3cactinic%3avariable%20name%3d%22IsLoginPageSuppressed%22%20%2f%3e%20%3d%3d%20false%29%20OR%0d%28%3cactinic%3avariable%20name%3d%22UnregCustomersAreNotAllowed%22%20%2f%3e%20%3d%3d%20false%29" ><actinic:variable encoding="perl" name="SectionURL" selectable="false" /></actinic:block>" />
    </actinic:block>
    </actinic:block>
    Should there be one more for product page...?
    Jonathan Chappell
    Website Designer
    SellerDeck Website Designer
    Actinic to SellerDeck upgrades
    Graphicz Limited - www.graphicz.co.uk

    Comment


      #3
      Canonical code for single product pages is here: http://community.sellerdeck.com/showthread.php?t=54467
      Peblaco

      Comment


        #4
        Thanks Louise, so to tie it together the full deal is:

        Code:
        <!-- Canonical Tags -->
        <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Brochure%27" >
        <actinic:block if="%3cactinic%3avariable%20name%3d%22IsBrochureHomePage%22%20%2f%3e" >
        <link rel="canonical" href="<actinic:variable name="WebSiteURL" />" />	
        </actinic:block>	
        </actinic:block>
        <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Brochure%27" >
        <actinic:block if="%3cactinic%3avariable%20name%3d%22IsBrochureHomePage%22%20%2f%3e%20%3d%3d%20false">
        <link rel="canonical" href="<actinic:variable name="CatalogURL" /><actinic:variable name="BrochurePageURL" />" />
        </actinic:block>
        </actinic:block>
        <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Section%22" >
        <actinic:block if="%3cactinic%3avariable%20name%3d%22SectionPaginated%22%20%2f%3e%20%3d%3d%20false" >
        	<link rel="canonical" href="<actinic:block if="%28%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20%3d%3d%20False%29%20AND%0d%3cactinic%3avariable%20name%3d%22IsLoginPageSuppressed%22%20%2f%3e%20AND%0d%3cactinic%3avariable%20name%3d%22UnregCustomersAreNotAllowed%22%20%2f%3e" ><actinic:variable name="CatalogURL" /><actinic:variable encoding="perl" name="SectionPageName" selectable="false" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20OR%0d%28%3cactinic%3avariable%20name%3d%22IsLoginPageSuppressed%22%20%2f%3e%20%3d%3d%20false%29%20OR%0d%28%3cactinic%3avariable%20name%3d%22UnregCustomersAreNotAllowed%22%20%2f%3e%20%3d%3d%20false%29" ><actinic:variable encoding="perl" name="SectionURL" selectable="false" /></actinic:block>" />
        </actinic:block>
        </actinic:block>
        <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Product%20Page%27">
        <link rel="canonical" href="<actinic:block php="true">echo '<actinic:variable name="CatalogURL" encoding="perl" selectable="false" />' . basename('<actinic:variable name="ProductPageName" encoding="perl" selectable="false" />');</actinic:block>">
        </actinic:block>
        Subject to correction and improvement.

        Thanks
        Jonathan Chappell
        Website Designer
        SellerDeck Website Designer
        Actinic to SellerDeck upgrades
        Graphicz Limited - www.graphicz.co.uk

        Comment


          #5
          See the related wish list topic here.
          Peblaco

          Comment


            #6
            Thanks for warning

            Thank you for your warning, Louise.

            Ironically, when the filter feature was first added to Sellerdeck, I changed my website to follow advice to improve search engine results, by removing duplicate products as much as possible and replacing them with filters. For example, I had a section which previously contained duplicates of all the products of a particular brand, and replaced it with a filter for that brand, in the hope that this was an improvement.

            I have today done the easiest thing for me, which is to go on Google Adwords and change all the ads linking to that section, and replacing the url with one that takes them to the section containing the original product, or to the original product page, or to the homepage as appropriate.

            Sarah

            Comment


              #7
              If you use "make filtering the default view" you can link to the new cgi-bin link, but shouldn't link to the same section's old page link for reasons explained.
              Peblaco

              Comment


                #8
                Hi
                I'm not sure I am getting this.

                I put the code in, but for this page:
                http://www.mowermagic.co.uk/cgi-bin/...avourites.html

                there is nothing there for canonical.

                But for this page (eg the static version):
                http://www.mowermagic.co.uk/acatalog...avourites.html

                it has put in
                <link rel="canonical" href="http://www.mowermagic.co.uk/cgi-bin/ss000002.pl?FILTERPAGE=christmas-favourites.html" />

                I had it in my mind it would be the other way round - is this right ?

                Jez

                Comment


                  #9
                  What you have on your website is correct. Your first link is a filtered page using "make filtering the default view" using a cgi-bin link. If you have pagination SellerDeck 2013 has canonical tags for paginated pages, so the code fix above is hidden from those pages. Your second link the static version the code fix put in the correct canonical to "make filtering the default view" cgi-bin link.
                  Peblaco

                  Comment


                    #10
                    Hi many thanks for that.

                    What I don't understand is: Why is there two versions of the page? Why is there a "static" version, and then the version that used cgi-bin ? Both pages appear to work with the filtering and pagination/ Why the need for the confusion of two page types ?

                    Also, will the "canonical" links that we have just put in solve the problem on not getting indexed ?

                    Jez

                    Comment


                      #11
                      The "make filtering the default view" two URLs is the "static" page has placeholders in the code used as a template by the cgi-bin Perl search script to populate products. The "static" page appears the same as a cgi-bin link however only by using Javascript to load data, it does not work with Javascript disabled and Google cannot read the content.

                      If you switched from standard sections to "make filtering the default view" which use a cgi-bin link and search engine listings still indexed old static URLs, it's possible the search engines could not read the content. Adding the fix for canonical link should instruct search engines to index the correct page.
                      Peblaco

                      Comment


                        #12
                        Many thanks for this detailed information - I only wish I had been aware of it six months ago !

                        Comment


                          #13
                          The URL issue is being fixed in SellerDeck 2014 patch version 14.0.1 see the knowledge base article here: ‘Make Filtering the Default View’ – Changes in SellerDeck v14.0.1

                          Note upgrading to SellerDeck 2014 will add new default canonical tags and change URLs for filtering pages so the custom code and redirects mentioned above for SellerDeck 2013 can be removed as no longer necessary, however version 2014 changes URLs so may require new redirects and needs an update to "Optimise Links" details are on the article.
                          Peblaco

                          Comment

                          Working...
                          X