Imr*_*qvi 5 ruby-on-rails web-crawler google-crawlers angularjs ruby-on-rails-4
我在一个前端在angularjs,后端在的站点上工作ROR, SameROR API用于android app也 。现在我这里有一个情况。我需要在社交媒体上分享我的网站帖子,例如facebook,twitter和google plus。除了单个帖子的链接外,还应该有一个small preview(帖子的预览,在发布之前会爬行,例如在 facebook 中)。我使用 angular Plugins 做到了。但是在Android方面,他们分享的内容和在Facebook上显示的内容只是链接。然后我做了一些研发,我开始知道它必须在服务器端使用social media meta tags. 我做了一点,但仍然没有效果。我坚持下去了。以下是我到目前为止所做的。
def show
@post = Post.find_by_permalink(params[:id])
respond_to do |format|
format.html
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
在我的意见posts/show.html.erb
<!DOCTYPE html>
<html>
<head>
<title> Shared Question</title>
<meta property="og:title" content="My Page" />
<meta property="og:description" content="A description of my page." />
<meta property="og:image" content="http://www.example.com/images/my_lovely_face.jpg" />
<!-- etc. -->
</head>
<body>
Here is the body
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
每当某些用户在任何媒体上分享我的网络帖子链接时,我只需要显示一个小预览
您是对的,您需要为定制的社交共享功能实现特殊的开放图(和其他)标签。
请记住,例如 Facebook 会缓存您的页面。
因此,您可以尝试https://developers.facebook.com/tools/debug/来测试您的代码而不使用缓存 - 代码本身看起来不错。
示例代码:
将此代码放在其他元标记之间<head>并</head>与其他元标记一起放置。
<meta property="og:title" content="Title">
<meta property="og:site_name" content="Name">
<meta property="og:url" content="URL">
<meta property="og:description" content="Description Text">
<meta property="og:type" content="article">
<!--- network Specific -->
<meta property="fb:app_id" content="AppID">
<meta name="twitter:card" content="app">
<meta name="twitter:site" content="@FernerJohannes">
Run Code Online (Sandbox Code Playgroud)
如果你想专门针对 Twitter,这里是他们的卡片指南: https: //dev.twitter.com/cards/getting-started
您可能还想查看:HTML5 的 Open Graph 验证
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |