= Technical description = [[PageOutline]] # Technical requirements # ## Google tag manager ## Free tag management through which we manage Google Analytics and other scripts. Please add the following directly under the on every page. {{{ }}} ## All site pages on https ## ## Hidden form field to be injected by Javascript ## ## Embedding of youtube ## ## Use the open graph protocol ## (http://ogp.me/) for good presentation on social media ## Don’t forget the favicon: http://css-tricks.com/favicon-quiz/ ## ## RSS feed for new courses ## (once we have a blog, the blog will have its own RSS feed, here we need one for the courses) ## Direct URL to filtered view ## To design the course catalogue so we can provide a URL to a user that will direct him to a filtered view. (when the filtered view is reached, the relevant filter button should be “turned on”.) o Use case example: I would like to link to the course catalogue when only the water management courses are displayed, or, for example, to display only free courses, sorted by the start date. # SEO # ## Index/no index, follow/no follow drop down menu ## ## Meta title ## ## Meta description ## ## Canonical field ## ## Friendly URLs ## ## HTTP Code 301 redirection Management ## ## HTTP Code 404 page sending a valid 404 response error, customizable in CMS. ## ## No frames, no iframes for content, no table for layout. ## ## Semantics (correct headings) ## ## No flash ## ## Img alt ## ## Robots.txt upload via ftp ## ## Search engine friendly Breadcrumbs markup ## See https://schema.org/breadcrumb ## No-www  with www redirection (if not on subdomain) ## ## XML Sitemap ## ## “Semantic” IDs and Classes for in tags for better event management via !GoogleTagManager. ## ## Ability to inject third party code at the bottom of the ## (this cannot be done using google tag manager). This is needed for A/B testing software.