diff --git a/assets/sass/_theme/blocks/posts.sass b/assets/sass/_theme/blocks/posts.sass
index 5bbc3b2c3beeec4221305b7f43a9ddd7ab037c73..c73f7f078284e371a77752d3b55e1493814a64ea 100644
--- a/assets/sass/_theme/blocks/posts.sass
+++ b/assets/sass/_theme/blocks/posts.sass
@@ -10,7 +10,7 @@
         @include grid($block-posts-grid-columns, desktop)
     article
         @include author-and-time-side-to-side
-        [itemprop=headline]
+        .post-title
             a
                 @include stretched-link
                 text-decoration: none
@@ -134,7 +134,7 @@
                     display: flex
                     flex-direction: column
                     padding-top: $spacing-2
-                    [itemprop=headline]
+                    .post-title
                         margin-bottom: 0
                     .post-categories
                         margin-bottom: 0
@@ -180,7 +180,7 @@
 
     &--highlight
         .highlight-post
-            [itemprop=headline]
+            .post-title
                 margin-bottom: $spacing-2
             .media
                 margin-bottom: $spacing-2
@@ -207,11 +207,11 @@
 
         @include media-breakpoint-up(desktop)
             .highlight
-                [itemprop=headline]
+                .post-title
                     @include h2
             .list
                 article
-                    [itemprop=headline]
+                    .post-title
                         @include h4
 
         @include in-page-with-sidebar
@@ -227,7 +227,7 @@
             .list
                 article
                     @include grid(8, desktop, 0, 0)
-                    [itemprop=headline]
+                    .post-title
                         grid-column: 1 / 7
                     .post-categories
                         grid-column: 1 / 7
@@ -323,7 +323,7 @@
         @include in-page-with-sidebar
             .post
                 width: columns(3)
-                [itemprop="headline"]
+                .post-title
                     @include h4
             .carousel
                 .actions-arrows
diff --git a/assets/sass/_theme/sections/posts.sass b/assets/sass/_theme/sections/posts.sass
index 5c319a79ad3653fca4f326a81ee818a298629a33..5986cf3786b85b51b9388f9252c2c2965dd5f688 100644
--- a/assets/sass/_theme/sections/posts.sass
+++ b/assets/sass/_theme/sections/posts.sass
@@ -1,5 +1,11 @@
 .post
     @include article
+    .post-title
+        @include h3
+        a
+            @include stretched-link
+            display: block
+            text-decoration: none
     time
         color: $post-time-color
         display: inline-block
@@ -19,7 +25,7 @@
             margin-bottom: $spacing-3
             padding-bottom: $spacing-3
             flex-direction: row
-            [itemprop=headline] + p
+            .post-title + p
                 margin-top: $spacing-2
             @include media-breakpoint-up(desktop)
                 @include grid
@@ -51,7 +57,7 @@
                     time
                         font-size: $h5-size
                 .post-content
-                    [itemprop=headline],
+                    .post-title,
                     > p
                         max-width: columns(6)
     .posts--grid
diff --git a/assets/sass/_theme/sections/programs.sass b/assets/sass/_theme/sections/programs.sass
index d2895899dece67290a8aa77ae3c05244e2754557..7eb130902101e39a7afc0cdeea68d7137633edd7 100644
--- a/assets/sass/_theme/sections/programs.sass
+++ b/assets/sass/_theme/sections/programs.sass
@@ -1,5 +1,7 @@
 .program
     @include article
+    h2, h3, .program-title
+        @include article-title
 
 div.programs,
 section.programs
diff --git a/assets/sass/_theme/sections/projects.sass b/assets/sass/_theme/sections/projects.sass
index fe4c656195c1c7179d25006eeafd0fbef31947ad..f3b7750e4f51620b4007abf10810586ded6485d4 100644
--- a/assets/sass/_theme/sections/projects.sass
+++ b/assets/sass/_theme/sections/projects.sass
@@ -1,5 +1,7 @@
 .project
     @include article(auto)
+    .project-title
+        @include article-title
 
 .projects__section,
 .projects_categories__term
diff --git a/assets/sass/_theme/sections/volumes.sass b/assets/sass/_theme/sections/volumes.sass
index 2b3d83aa8ccf3d7d7bd92c5824a65d5a6f058b0e..d462fff52544510fd2f93834a34639c4dd9f381d 100644
--- a/assets/sass/_theme/sections/volumes.sass
+++ b/assets/sass/_theme/sections/volumes.sass
@@ -1,5 +1,7 @@
 .volume
     @include article
+    .volume-title
+        @include article-title
     .suptitle
         @include meta
 
diff --git a/assets/sass/_theme/utils/shame.sass b/assets/sass/_theme/utils/shame.sass
index 1be170d21d897d77612726d2666090c4d977098b..0c6f5918d19ede470da5427d0b919c32cd164ce7 100644
--- a/assets/sass/_theme/utils/shame.sass
+++ b/assets/sass/_theme/utils/shame.sass
@@ -1,4 +1,3 @@
-
 @mixin visually-hidden
     clip: rect(0,0,0,0) !important
     border: 0 !important
@@ -32,12 +31,6 @@
             object-fit: cover
             @if $aspect-ratio
                 aspect-ratio: $aspect-ratio
-    h2, h3, [itemprop=headline],  [itemprop=name]
-        @include h3
-        a
-            @include stretched-link
-            display: block
-            text-decoration: none
     p + time
             margin-top: $spacing-2
     .post-categories, .project-categories
@@ -59,6 +52,13 @@
         color: var(--color-text-alt)
         display: block
 
+@mixin article-title
+    @include h3
+    a
+        @include stretched-link
+        display: block
+        text-decoration: none
+
 @mixin list-section
     @include list-reset
     > li
diff --git a/layouts/partials/blocks/templates/pages.html b/layouts/partials/blocks/templates/pages.html
index 64394a082c26a6abd62fc1415e37fdb721eeb2ce..ee6e9a41ab919d2b0d9de97fe15b5fb629adf654 100644
--- a/layouts/partials/blocks/templates/pages.html
+++ b/layouts/partials/blocks/templates/pages.html
@@ -22,7 +22,7 @@
       {{ $title = .Title }}
     {{ end }}
     {{ if .Params.bodyclass }}
-      {{- $page_class = printf "block-page-%s" .Params.bodyclass }}
+      {{- $page_class = printf "block-%s" .Params.bodyclass }}
     {{ end }}
     {{ if $show_main_description }}
       {{- $main_description = partial "GetTruncateContent" ( dict 
diff --git a/layouts/partials/blocks/templates/posts/highlight.html b/layouts/partials/blocks/templates/posts/highlight.html
index ee6b189ed7612f824693239de569c59ff50f96e4..082a9b00f2c5d48cb468781fbf64f38f4ee89c2f 100644
--- a/layouts/partials/blocks/templates/posts/highlight.html
+++ b/layouts/partials/blocks/templates/posts/highlight.html
@@ -1,7 +1,7 @@
 {{ $heading_level := .heading_level | default 3 }}
 {{ $heading := printf "h%d" $heading_level }}
 {{ $heading_tag := (dict 
-  "open" ((printf "<%s itemprop='headline'>" $heading) | safeHTML)
+  "open" ((printf "<%s class='post-title' itemprop='headline'>" $heading) | safeHTML)
   "close" ((printf "</%s>" $heading) | safeHTML)
   ) }}
 <div class="highlight">
diff --git a/layouts/partials/posts/post.html b/layouts/partials/posts/post.html
index 0137312c24227bf98f93550bec9aec4ead3f75d3..eb9f661498990a25fe620c8d05ae53db427a3329 100644
--- a/layouts/partials/posts/post.html
+++ b/layouts/partials/posts/post.html
@@ -2,7 +2,7 @@
 {{- $direction := "" -}}
 {{ $heading := .heading | default "h2" }}
 {{ $heading_tag := (dict 
-    "open" ((printf "<%s itemprop='headline'>" $heading) | safeHTML)
+    "open" ((printf "<%s class='post-title' itemprop='headline'>" $heading) | safeHTML)
     "close" ((printf "</%s>" $heading) | safeHTML)
     ) }}
 {{ $index := .index}}
diff --git a/layouts/partials/projects/project.html b/layouts/partials/projects/project.html
index c7ec5b2829b8440a7bacdaf57a5554e731d6bb09..c6f825ad4e665bbeca3429981ae2228d122aed08 100644
--- a/layouts/partials/projects/project.html
+++ b/layouts/partials/projects/project.html
@@ -1,7 +1,7 @@
 {{ $project := .project }}
 {{ $heading := .heading | default "h2" }}
 {{ $heading_tag := (dict 
-    "open" ((printf "<%s itemprop='name'>" $heading) | safeHTML)
+    "open" ((printf "<%s class='project-title' itemprop='name'>" $heading) | safeHTML)
     "close" ((printf "</%s>" $heading) | safeHTML)
     ) }}
 
diff --git a/layouts/partials/volumes/volume.html b/layouts/partials/volumes/volume.html
index 2ff521816ad11ff47f33a8e972279017f04d6368..d5ca03d13c8aabbf06f453f23d0a764d81a6d9d4 100644
--- a/layouts/partials/volumes/volume.html
+++ b/layouts/partials/volumes/volume.html
@@ -1,7 +1,7 @@
 <article class="volume" itemscope itemtype="https://schema.org/Book https://schema.org/PublicationVolume">
   <hgroup>
     <p class="suptitle" itemprop="volumeNumber">{{ i18n "volumes.volume_number" (dict "Number" .Params.Number) }}</p>
-    <h2><a href="{{ .Permalink }}" title="{{ i18n "commons.more_aria" (dict "Title" .Title) }}" itemprop="name">{{ partial "PrepareHTML" .Title }}</a></h2>
+    <h2 class="volume-title"><a href="{{ .Permalink }}" title="{{ i18n "commons.more_aria" (dict "Title" .Title) }}" itemprop="name">{{ partial "PrepareHTML" .Title }}</a></h2>
   </hgroup>
   <div class="media">
     {{- if .Params.image -}}