diff --git a/pages/accessibility.vue b/pages/accessibility.vue
index c2cdafefd8944488a6bef34766018701c2c719e5..96337fb4f2c70139e7024612cf88a513a0fd96a1 100644
--- a/pages/accessibility.vue
+++ b/pages/accessibility.vue
@@ -8,7 +8,44 @@
 </template>
 
 <script>
-export default {}
+export default {
+  head() {
+    const titleText = `Accessibility`
+    const descriptionText =
+      'Read the accessibility statement for the EUbOPEN Portal.'
+
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
+}
 </script>
 
 <style></style>
diff --git a/pages/acknowledgement.vue b/pages/acknowledgement.vue
index f2621365e36c7e750ba420146921bef7bb473347..6c98fcd57af8673cfcc2c1dd7bd8aa57ec7b3846 100644
--- a/pages/acknowledgement.vue
+++ b/pages/acknowledgement.vue
@@ -1,6 +1,6 @@
 <template>
   <div>
-    <h1 class="font-weight-light">Acknoledgement</h1>
+    <h1 class="font-weight-light">Acknowledgement</h1>
     <v-divider />
     <br />
     <p class="text-justify">
@@ -72,6 +72,42 @@ export default {
       ],
     }
   },
+  head() {
+    const titleText = `Acknowledgement`
+    const descriptionText =
+      'Read the acknowledgement statement for the EUbOPEN Portal.'
+
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
 }
 </script>
 
diff --git a/pages/compound/browse/_state.vue b/pages/compound/browse/_state.vue
index 41747b0685cd19987a3efcbdf57faf64498b61dd..e5fec734d8d66fc43c347ec460756ddb5049efde 100644
--- a/pages/compound/browse/_state.vue
+++ b/pages/compound/browse/_state.vue
@@ -4,6 +4,7 @@
 
 <script>
 import EBCompoundsBrowser from '~/web-components-submodule/components/common/Browsers/specific_browsers/compound/eubopen/EBCompoundsBrowser.vue'
+import EntityNames from '~/web-components-submodule/standardisation/EntityNames.js'
 
 export default {
   components: {
@@ -15,6 +16,42 @@ export default {
       isEmbedded: false,
     }
   },
+  head() {
+    const titleText = `Explore all ${EntityNames.EubopenCompound.pluralEntityName}.`
+    const descriptionText =
+      'The EUbOPEN consortium is an Innovative Medicines Initiative (IMI) funded project to enable and unlock biology in the open.'
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      title: titleText,
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
 }
 </script>
 
diff --git a/pages/cookie_notice.vue b/pages/cookie_notice.vue
index 08dc2446560940e47af48304d627a551fa7f0cff..0013cf4b08e047a73ceff873928e13c659e93b21 100644
--- a/pages/cookie_notice.vue
+++ b/pages/cookie_notice.vue
@@ -1,6 +1,6 @@
 <template>
   <div>
-    <h1 class="font-weight-light">Cookie statement</h1>
+    <h1 class="font-weight-light">Cookie Statement</h1>
     <v-divider />
     <br />
     <p class="text-justify">
@@ -52,7 +52,43 @@
 </template>
 
 <script>
-export default {}
+export default {
+  head() {
+    const titleText = `Cookie Statement`
+    const descriptionText = 'Read the cookie statement for the EUbOPEN Portal.'
+
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
+}
 </script>
 
 <style></style>
diff --git a/pages/disclaimer.vue b/pages/disclaimer.vue
index 53976ffd6e84a43870102e636099bccb9b1ecebf..2b016d3b32de04af977a1b0732048d9fc78ad7e0 100644
--- a/pages/disclaimer.vue
+++ b/pages/disclaimer.vue
@@ -12,7 +12,44 @@
 </template>
 
 <script>
-export default {}
+export default {
+  head() {
+    const titleText = `Disclaimer`
+    const descriptionText =
+      'Read the disclaimer statement for the EUbOPEN Portal.'
+
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
+}
 </script>
 
 <style></style>
diff --git a/pages/index.vue b/pages/index.vue
index eacc9d597eba68fcea86ba490f7efb7a9b64061a..9294132d8e2773b139bceac6a7e629581974ebf0 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -52,6 +52,37 @@ export default {
     Sponsors,
   },
   layout: 'default',
+
+  head() {
+    const titleText = `Welcome to the EUbOPEN Portal`
+    const descriptionText =
+      'The EUbOPEN consortium is an Innovative Medicines Initiative (IMI) funded project to enable and unlock biology in the open.'
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      meta: [
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
   computed: {
     esProxyBaseUrl() {
       return process.env.esProxyBaseUrl
diff --git a/pages/privacy_notice.vue b/pages/privacy_notice.vue
index 2b016e371376adabc40f41f1b0df497109c08f29..c2ca402273d80bb4211019e8751338e4869d0433 100644
--- a/pages/privacy_notice.vue
+++ b/pages/privacy_notice.vue
@@ -17,7 +17,43 @@
 </template>
 
 <script>
-export default {}
+export default {
+  head() {
+    const titleText = `Privacy Notice`
+    const descriptionText = 'Read the privacy notice for the EUbOPEN Portal.'
+
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
+}
 </script>
 
 <style></style>
diff --git a/pages/target/browse/_state.vue b/pages/target/browse/_state.vue
index d3fa9126eac762eab2894214c4ca1b937f1af1e2..8c8d001547abf6b6dba97800a1975b0b950afb62 100644
--- a/pages/target/browse/_state.vue
+++ b/pages/target/browse/_state.vue
@@ -3,6 +3,7 @@
 </template>
 
 <script>
+import EntityNames from '~/web-components-submodule/standardisation/EntityNames.js'
 import EBTargetsBrowser from '~/web-components-submodule/components/common/Browsers/specific_browsers/compound/eubopen/EBTargetsBrowser.vue'
 export default {
   components: {
@@ -14,6 +15,42 @@ export default {
       isEmbedded: false,
     }
   },
+  head() {
+    const titleText = `Explore all ${EntityNames.EubopenTarget.pluralEntityName}.`
+    const descriptionText =
+      'The EUbOPEN consortium is an Innovative Medicines Initiative (IMI) funded project to enable and unlock biology in the open.'
+    const canonicalURL =
+      `https://${process.env.primaryDomain}` + this.$route.path
+
+    const imgURL = `https://${
+      process.env.primaryDomain
+    }${require('~/static/img/logo.png')}`
+    return {
+      title: titleText,
+      meta: [
+        {
+          hid: 'description',
+          name: 'description',
+          content: descriptionText,
+        },
+        { hid: 'og:title', name: 'og:title', content: titleText },
+        {
+          hid: 'og:description',
+          name: 'og:description',
+          content: descriptionText,
+        },
+        { hid: 'og:type', name: 'og:type', content: 'object' },
+        { hid: 'og:url', name: 'og:url', content: canonicalURL },
+        { hid: 'og:image', name: 'og:image', content: imgURL },
+      ],
+      link: [
+        {
+          rel: 'canonical',
+          href: canonicalURL,
+        },
+      ],
+    }
+  },
   computed: {
     state() {
       return this.$route.params.state