VuFind
  1. VuFind
  2. VUFIND-425

Add support for schema.org microdata on full record page

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: Wishlist
    • Fix Version/s: 2.2
    • Component/s: Record
    • Labels:
      None
    • Environment:
      All

      Description

      Schema.org markup would improve the parsing of the full-record page by the major search engines - Google, Yahoo & Bing. See Eric Hellman's fun blog post for more info: http://go-to-hellman.blogspot.com/2011/07/spoonfeeding-library-data-to-search.html

      For the most part this only requires trivial alterations to view.tpl, core.tpl and extended.tpl. Correctly marking up some elements would require alterations to the record drivers (e.g. Publication details like publisher, place of publication, date of publication are currently assigned to the template as a single variable). Also the record's format must be mapped to schema.org types - the attached *demo* patch does this by adding a new method to IndexRecord.php.

      I can't see an easy way to make this markup configurable/optional (as with the use of sitemaps.org) & I'm not sure if better SEO is desirable for all libraries. It might be worth discussing options for adding more semantic structure to Vufind 2.0 in an upcoming developer's call (e.g Linked Data, schema.org, RDFa, OpenGraph, etc)?
      1. schemaOrg.patch
        7 kB
        Eoghan Ó Carragáin

        Activity

        Hide
        Chris Hallberg added a comment -
        The bootstrap stuff looks good! I just want to be sure that 'vocab' and 'property' are the correct attributes, since the article that this ticket opened with (http://go-to-hellman.blogspot.com/2011/07/spoonfeeding-library-data-to-search.html) and all the references for microdata I've seen use 'itemscope' and 'itemprop'.

        If this is correct, the schema.org matching is excellent and I'd be excited to have this!
        Show
        Chris Hallberg added a comment - The bootstrap stuff looks good! I just want to be sure that 'vocab' and 'property' are the correct attributes, since the article that this ticket opened with ( http://go-to-hellman.blogspot.com/2011/07/spoonfeeding-library-data-to-search.html ) and all the references for microdata I've seen use 'itemscope' and 'itemprop'. If this is correct, the schema.org matching is excellent and I'd be excited to have this!
        Hide
        Dan Scott added a comment -
        Chris: Yes, I opted for RDFa instead of microdata, so "vocab", "typeof", and "property" are the desired terms instead of "itemscope", "itemtype", and "itemprop" (the microdata equivalents, roughly).

        schema.org processors like Google, Yahoo/Microsoft, and Yandex handle both RDFa and microdata just fine, but RDFa arguably offers a little more flexibility for future expansion.
        Show
        Dan Scott added a comment - Chris: Yes, I opted for RDFa instead of microdata, so "vocab", "typeof", and "property" are the desired terms instead of "itemscope", "itemtype", and "itemprop" (the microdata equivalents, roughly). schema.org processors like Google, Yahoo/Microsoft, and Yandex handle both RDFa and microdata just fine, but RDFa arguably offers a little more flexibility for future expansion.
        Hide
        Demian Katz added a comment -
        Thanks for all the work and the suggestions, Dan.

        I've merged your code into master and made a few small adjustments.

        I've also implemented your suggestion regarding publication details -- see VUFIND-911. If you would now like to open a new pull request with additional markup, please feel free.

        I'm closing this ticket since we now have a good baseline in place; please feel free to open new tickets addressing more specific improvements/fixes.
        Show
        Demian Katz added a comment - Thanks for all the work and the suggestions, Dan. I've merged your code into master and made a few small adjustments. I've also implemented your suggestion regarding publication details -- see VUFIND-911 . If you would now like to open a new pull request with additional markup, please feel free. I'm closing this ticket since we now have a good baseline in place; please feel free to open new tickets addressing more specific improvements/fixes.
        Hide
        Chris Hallberg added a comment -
        Dan: Excellent! Looks really good.
        Show
        Chris Hallberg added a comment - Dan: Excellent! Looks really good.
        Hide
        Eoghan Ó Carragáin added a comment -
        This is great - Dan, thanks very much for taking this on & getting everything into master so quickly! Hopefully having VuFind as another example to play with will help with the great work being done by the schemabibex group. Cheers!
        Show
        Eoghan Ó Carragáin added a comment - This is great - Dan, thanks very much for taking this on & getting everything into master so quickly! Hopefully having VuFind as another example to play with will help with the great work being done by the schemabibex group. Cheers!

          People

          • Assignee:
            Unassigned
            Reporter:
            Eoghan Ó Carragáin
          • Votes:
            2 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: