diff --git a/app/views/layouts/_head.html.erb b/app/views/layouts/_head.html.erb
index 0c95870ef..bda586af5 100644
--- a/app/views/layouts/_head.html.erb
+++ b/app/views/layouts/_head.html.erb
@@ -68,6 +68,6 @@
" />
<% end %>
-<% if @post %>
- <%= render 'posts/schema', post: @post %>
+<% if content_for? :schema %>
+ <%= yield :schema %>
<% end %>
\ No newline at end of file
diff --git a/app/views/posts/_schema.html.erb b/app/views/posts/_schema.html.erb
index 13774c93a..4db9af843 100644
--- a/app/views/posts/_schema.html.erb
+++ b/app/views/posts/_schema.html.erb
@@ -7,7 +7,7 @@
"mainEntity": {
"@type": "Question",
"name": "<%= @post.title %>",
- "text": "<%= @post.body.gsub(/\r?\n/, '') %>",
+ "text": "<%= strip_tags(@post.body).gsub(/\r?\n/, '\n') %>",
"answerCount": <%= @children&.length || 0 %>,
"upvoteCount": <%= @post.upvote_count %>,
"suggestedAnswer": [
@@ -15,7 +15,7 @@
<% if i > 0 then %>,<% end %>
{
"@type": "Answer",
- "text": "<%= answer.body.gsub(/\r?\n/, '') %>",
+ "text": "<%= strip_tags(answer.body).gsub(/\r?\n/, '\n') %>",
"upvoteCount": <%= answer.upvote_count %>,
"url": "<%= post_url(answer) %>"
}
diff --git a/app/views/posts/show.html.erb b/app/views/posts/show.html.erb
index c25a17c03..b968e7b71 100644
--- a/app/views/posts/show.html.erb
+++ b/app/views/posts/show.html.erb
@@ -17,6 +17,10 @@
" />
<% end %>
+<% content_for :schema do %>
+ <%= render 'posts/schema', post: @post %>
+<% end %>
+
<%= render 'posts/expanded', post: @post, float_notice: false %>
<% if @post.post_type.has_answers %>