diff --git a/app/models/post.rb b/app/models/post.rb
index b761dee70fd..0c9af4a381b 100644
--- a/app/models/post.rb
+++ b/app/models/post.rb
@@ -1087,7 +1087,8 @@ class Post < ActiveRecord::Base
end
def image_url
- image_upload&.url
+ raw_url = image_upload&.url
+ UrlHelper.cook_url(raw_url, secure: image_upload&.secure?, local: true) if raw_url
end
private
diff --git a/app/views/topics/show.html.erb b/app/views/topics/show.html.erb
index 30b2cc4c755..9d391f7cb7f 100644
--- a/app/views/topics/show.html.erb
+++ b/app/views/topics/show.html.erb
@@ -62,7 +62,7 @@
<% if post.image_url %>
-
+
<% end %>
diff --git a/spec/requests/topics_controller_spec.rb b/spec/requests/topics_controller_spec.rb
index e5e2c356f40..2c03389c5da 100644
--- a/spec/requests/topics_controller_spec.rb
+++ b/spec/requests/topics_controller_spec.rb
@@ -2438,6 +2438,17 @@ RSpec.describe TopicsController do
body = response.body
expect(body).to have_tag(:meta, with: { name: 'description', content: '[image_description]' })
end
+
+ it "uses image cdn url for schema markup" do
+ set_cdn_url("http://cdn.localhost")
+ post = Fabricate(:post_with_uploaded_image)
+ cpp = CookedPostProcessor.new(post).update_post_image
+
+ get post.topic.url
+
+ body = response.body
+ expect(body).to have_tag(:link, with: { itemprop: 'image', href: post.image_url })
+ end
end
end