Facebook 좋아요-캐시 된 버전 og : image 표시, 새로 고침하거나 다시 색인화하는 방법?
Facebook 좋아요 및 캐시 된 og : image에 문제가 있습니다.
간단히 말해서 페이스 북은 이전 버전의 좋아요 이미지를 캐시했습니다. 메타 콘텐츠 URL은 변경할 수 없습니다. 새로 고침하기 위해 할 수있는 일이 있습니까?
긴 이야기 : 내가 작업중인 사이트에는 페이지가 좋아요 표시 될 때 Facebook에서 사용하는 og : image에 대한 메타 태그가 있습니다. 이 메타 태그는 사이트의 모든 페이지에서 동일한 이미지 URL을 사용합니다. 이미지는 단순히 사이트의 브랜딩 이미지입니다.
문제는 사이트가 최근 브랜딩을 업데이트했으며 Facebook 좋아요 이미지를 업데이트 할 수 없다는 것입니다. 사용자가 '좋아요'링크를 클릭하면 결과적으로 Facebook에 게시되는 게시물에는 여전히 이전 브랜드 이미지가 표시됩니다.
메타 태그는 다음과 유사합니다.
<meta property="og:image" content="http://[domain].com/images/bookmark/apple-touch-icon.png"/>
좋아요가 Facebook으로 이동할 때마다 이미지의 URL이 다음과 같이 캐시 된 Facebook URL로 변경됩니다.
http://external.ak.fbcdn.net/safe_image.php?d=AQDajxm-qgVNdfEL&w=90&h=90&url=http%3A%2F%2F[domain].com%2Fimages%2Fbookmark%2Fapple-touch-icon.png
이 URL은 이전 버전의 사이트 브랜딩을 표시합니다. 일주일이 지났지 만 아직 업데이트되지 않았습니다.
Facebook이 이미지를 다시 색인화하거나 캐시를 지우도록 강제하는 방법이 있습니까? 아니면 Facebook이 주기적으로이 작업을 자동으로 수행합니까? 이에 대한 관련 정보를 찾을 수 없습니다.
메타 태그의 URL을 변경하면 문제가 해결 될 수 있다는 것을 알고 있지만 메타 태그는 여러 사이트에서 사용되는 코드에 의해 생성되며 변경할 수 없습니다. 나는 또한 다른 사람들이 나에게 제안한 delinter 도구를 사용해 보았습니다. 불운.
URL을 린터에 삽입 하면 캐시가 다시로드됩니다.
페이지 URL을 입력 할 수있는 Facebook의 개체 디버거를 사용할 수 있으며 다음 페이지에서 '새 스크랩 정보 가져 오기'요청으로 다시 제출할 수 있습니다. 그러면 주어진 URL에 대한 Facebook의 캐시가 지워집니다. 모든 캐시 노드에 전파되는 데 시간이 걸릴 수 있습니다.
Facebook의 Object Debugger는 https://developers.facebook.com/tools/debug/ 에서 찾을 수 있습니다.
우리는 최근 Facebook이 상대 URL에 대한 쿼리 문자열을 사용하여 URL을 캐싱하고 쿼리 문자열이 무시되고 쿼리 문자열을 기반으로 만 제공하는 동적 이미지 몇 개를 엉망으로 만드는 것을 발견했습니다.
FB가 사이트를 크롤링 할 때 항상 올바른 이미지를 가져 오도록하기 위해 마지막으로 수정 된 타임 스탬프 (유닉스 타임 스탬프 형식)를 지정할 수 있습니다.
다음 OG 메타 태그를 포함하여 수행 할 수 있습니다.
동적 사이트의 경우 콘텐츠 값을 생성 할 수 있습니다. PHP를 사용하여 현재 유닉스 타임 스탬프를 다음과 같이 삽입 할 수 있습니다.
<meta property="og:updated_time" content="<?=time()?>" />
도움이 되었기를 바랍니다!
가능한 해결책이 있다고 생각합니다. URL 끝에 임의의 문자열을 추가하면 어떨까요?
좋아요 www.server.com/something.php?v=<?php echo rand() ?>
또는www.server.com/something.jpg?v=<?php echo rand() ?>
URL에 따라 facebook cahce 개체를 ... 무작위로 변경하면 도움이 될 것 같습니다.
7 년이 지난 후에도이 게시물은 여전히 문제이지만 페이스 북의 캐시는 아닙니다. 사람의 실수입니다.
OG : TYPE은 이미지 스크랩에 영향을줍니다.
- https://ogp.me/#type_article 은 https://ogp.me/#type_website 와 동일하지 않습니다.
og : type = website는 해당 URL의 모든 / sub-pages /를 "표준"으로 만듭니다. 이것은 무엇을하든 스크레이퍼를 사용하여 이미지를 업데이트하는 데 문제가 있음을 의미합니다.
이 "가정과 일반적인 실수"를 고려하십시오
- <meta property="og:type" content="website" />
=> https://www.example.org (상위)
- <meta property="og:type" content="website" />
=> https://www.example.org/sub-page/
- <meta property="og:type" content="website" />
=> https://www.example.org/sub-page/child -2 /
- 인체 공학적 : /sub-page/
및 /child-2/
상속 할 og:image
부모를
그것들은 "모든 웹 사이트"가 아니며, 1은 웹 사이트이고, 나머지는 기사입니다.
그렇게하면 Facebook은 모든 것이 표준이라고 생각하고 FIRST og : image를 모두에 넣을 것입니다. (시도해 보면 알 수 있습니다)-og : url을 루트 또는 부모 도메인으로 설정하면 facebook에 모두 표준이라고 말한 것입니다. (그럴만 한 이유가 있지만 주제에서 벗어남)
이 솔루션을 고려하십시오 (대부분의 사람들이 "정말로 원하는").
- <meta property="og:type" content="article" />
=> https://www.example.org/sub-page/
- <meta property="og:type" content="article" />
=> https://www.example.org/sub-page/child-2/
지금 그렇게하면 Facebook은 새로운 이미지를 스크랩하는 데 훨씬 적은 문제를 줄 것입니다.
마지막으로 캐시 버스터, 임의 변수, URL 변경 및 제안 사항이 작동 할 수 있지만 올바르게 지정되지 않은 경우 "간헐적 부두" 처럼 보입니다 og:type
.
추신 : CDN 또는 서버 측 캐시는 가장 최신 버전을 볼 수 있다고 "생각"하더라도 Facebook의 스크레이퍼에 제공됩니다. (두 번 확인하지 않으면 막대한 시간을 낭비하게 될 것이라는 점을 지적하는 것 외에는 시간을 보내지 않을 것입니다.)
'programing' 카테고리의 다른 글
data.frames () 초기화 (0) | 2021.01.19 |
---|---|
불변 유형 : 공개 최종 필드 대 게터 (0) | 2021.01.19 |
Windows에서 개발하는 Meteor 지원 (0) | 2021.01.19 |
LINQ Group By 및 Select 컬렉션 (0) | 2021.01.19 |
ASP.NET 4.5 MVC 4가 Windows Server 2008 IIS 7에서 작동하지 않음 (0) | 2021.01.19 |