WordPress网站链接预览在LinkedIn组中不起作用

时间:2018-07-15 17:32:15

标签: linkedin api-linkpreview

我想在LinkedIn组中共享此文章链接(https://www.ngdevelop.tech/handsontable/),但链接预览不起作用。我之前的两个链接共享也发生同样的事情。在最后两个共享之前,链接预览可以正常工作,但是现在不能正常工作。

当我查看来自LinkedIn链接预览服务的响应时,我的状态为共享链接时收到错误代码500。

对于组中的链接共享,我得到以下响应:import UIKit class ViewController: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UICollectionViewDelegate { lazy var collectionView : UICollectionView = { let layout = UICollectionViewFlowLayout() layout.scrollDirection = .horizontal let cv = UICollectionView(frame: .zero, collectionViewLayout: layout) cv.backgroundColor = .green cv.isPagingEnabled = true cv.delegate = self cv.dataSource = self return cv }() override func viewDidLoad() { super.viewDidLoad() self.view.addSubview(collectionView) collectionView.register(Cell.self, forCellWithReuseIdentifier: "cell") collectionView.frame = self.view.frame collectionView.contentInset = UIEdgeInsetsMake(0, -45, 0, -45) } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { return UIEdgeInsetsMake(0, 145, 0, 145) } func numberOfSections(in collectionView: UICollectionView) -> Int { return 4 } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 3 } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) return cell } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize(width: self.view.frame.width / 3 - 100 , height: collectionView.frame.size.height - 100) } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { return 5 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { return 5 } } class Cell : UICollectionViewCell { override init(frame: CGRect) { super.init(frame: frame) setupViews() } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } func setupViews() { self.backgroundColor = .red } }

这是我的开放式图表检查https://opengraphcheck.com/result.php?url=https%3A%2F%2Fwww.ngdevelop.tech%2Fhandsontable%2F#.W0TlRNIzaM8

和社交调试:https://socialdebug.com/results?url=https%3A%2F%2Fwww.ngdevelop.tech%2Fhandsontable%2F

我也提到了Stackoverflow :LinkedIn doesn't fetch metadata when sharing website个帖子,还有https://www.linkedin.com/help/linkedin/answer/46687/making-your-website-shareable-on-linkedin?lang=en个帖子,但无济于事。

请帮助...

1 个答案:

答案 0 :(得分:0)

我也一直看到这个问题,并且隔离了正在发生的事情。 这是我最近在WordPress.com网站上共享页面时在LinkedIn上看到的行为: -有时可以在我自己的Feed中共享内容预览。 -在LinkedIn组中共享完全无效。构建预览的LinkedIn XHR请求实际上返回500。

使用LinkedIn Post Inspector工具,我可以看到他们的搜寻器遇到了重定向循环。他们会请求一个HTTPS URL,重定向到HTTP URL,然后一直重定向到HTTPS URL。

使用Safari或Chrome浏览到相同页面时,我没有被重定向。最后,我使用LinkedIn搜寻器的用户代理尝试了相同的操作。啊哈!那是关键。 WordPress.com对LinkedIn(和Facebook)用户代理的处理方式有所不同,并将其重定向到循环中。

使用curl的示例:

curl -v -I -A 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)' -k --http1.1 --header 'Host: yoursite.com' 'https://wordpress origin IPv4 address'

在WordPress.com支持下一周来回之后,他们说这是故意的。出现这种重定向行为的原因是Facebook,LinkedIn等计算URL共享的次数。重定向可防止这些站点将HTTPS URL与同一资源的HTTP URL分开计数。他们的重定向是为了规范化URL。

如果重定向阻止任何人共享URL,那么这个共享计数“ fix”就没有意义了,这就是我现在所在的位置。

祝你好运!