Obtain a good, BIG/LARGE image in rich link preview in Telegram - html

I saw a lot or request about rich link preview in Telegram, but this is specifically about "how to get a BIG/LARGE image" in the preview.
Let's take this article on my site as example. It already has all of the OGs:
<meta property="og:title" content="Questa settimana su TLI (08 dicembre 2018)" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://turbolab.it/immagini/12483/max" />
<meta property="og:url" content="https://turbolab.it/newsletter-turbolab.it-1349/questa-settimana-tli-08-dicembre-2018-1812" />
<meta property="og:description" content="Non hai tempo di leggerci tutti i giorni? nessun problema! ecco a te il riepilogo di quanto proposto da TurboLab.it nel corso della settimana in conclusione." />
<meta property="og:locale" content="it_IT" />
<meta property="og:site_name" content="turbolab.it" />
Result: it works when the link is posted on Telegram, but the image is small and floated right even if the og:image (this) is 1000 px wide. I'd like to have it big, on it's own line.
Check this out (first entry is my site, the one I want to fix: note the small image, floated right. 2nd and 3rd is the result I want as shown by a YouTube video and a Mashable article).
The 3 URLs used in the image above are:
https://turbolab.it/newsletter-turbolab.it-1349/questa-settimana-tli-08-dicembre-2018-1812
https://www.youtube.com/watch?v=y6eHY537Cao
https://mashable.com/article/xiaomi-48-megapixel-camera/?europe=true&utm_cid=hp-r-1#cR2kG7X_naqO
richpreview.com isn't helpful, because it preview the image as "small" on all of the theree (one, two, three).
Strange thing is: it works as expected on Facebook. There, I get big, wide images. It's perfect on Twitter too.
What am I missing?

Adding twitter meta tags fixed the issue for me
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="{IMAGE URL}" />

Telegram bases its preview images on Twitter sharing cards markup. You're missing the summary_large_image content. You need to add the following in addition to what you have:
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://turbolab.it/immagini/12483/max">
Once you've updated your markup, paste the share link in to Telegram's Webpage Bot and choose Update Preview to clear Telegram's image cache and view the enlarged image.
Consult Summary Card with Large Image on Twitter Developers for more info.
To further enrich your results with large images you could also create a Telegram Instant View. Note however Instant Views only appear for designated templates chosen by Telegram itself.
Example custom Instant View Template:
# enable for items in the post section
?path: /post/.+
# define required elements
title: //*[#itemprop="headline"]
body: //*[#itemprop="articleBody"]
# if cover exists, define images
?exists: //head/meta[#property="og:image"]/#content
cover: //head/meta[#property="og:image"]/#content
image_url: $cover/self::img/#src
Example meta tag for to allow joins to your channel from the Instant View:
<meta property="telegram_channel" content="turbolabit">
You may lose some visibility of your visitor metrics but your users will have a better experience reading and enjoying your site from within Telegram which translates into brand recognition.

You're missing the Open Graph protocol prefix-attribute in your html tag:
<html prefix="og: http://ogp.me/ns#">
Learn more about the Open Graph protocol at ogp.me.

Related

How to add url link with its image or fetching with its image using normal html and css? (Share link with metadata in social media)

I want to do the thing which is shown in this image
If you see in the above image the container contains the link URL and image which is fetched from that URL...
How it is achieved using HTML and CSS?
Well, to achieve such a thing you need to use the open graph protocol meta tags in your HTML <head>, to enable social media graph read your metadata. There are several tags that are available within the open graph protocol but the main ones are:
og:title: The title of your object as it should appear within the graph, e.g., "The Rock".
og:type: The type of your object, e.g., "video.movie". Depending on the type you specify, other properties may also be required.
og:image: An image URL which should represent your object within the graph.
og:url: The canonical URL of your object that will be used as its permanent ID in the graph, e.g., "http://www.imdb.com/title/tt0117500/".
<html prefix="og: http://ogp.me/ns#">
<head>
<title>The Rock (1996)</title>
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
<meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
...
</head>
...
</html>
NOTE From the moment that you add these meta tags to your HTML <head> it may take a while (1-2 weeks) until they get read by social media graphs.

HTML | Description in Facebook not Changing

When I shared a link on the Facebook, Facebook only show the last or previous of my Website.
New title: Kirk Niverba | Official Website
Old Title: W3Schools Web Development
Picture Titles | Facebook
Note that in the "New Title" is scriptly edited on Facebook (Inspect Element edit)
Thanks for someone will notice this =)
I think i understand. In order for you to do this, look specifically at this link
https://developers.facebook.com/docs/plugins/like-button
Which gives you some ideas about how to specify the content shown on Facebook once someone shares your web page, on their FB page.
Also for some added reference, check this links as well.
https://developers.facebook.com/docs/sharing/web
It will give you what you need.
EDIT*** specifically, when you add it properly, these lines will give you exactly what you need alongside an image for your post/share.
<head>
<title>Your Website Title</title>
<!-- You can use open graph tags to customize link previews.
Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
<meta property="og:url" content="http://www.your-domain.com/your-page.html" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Your Website Title" />
<meta property="og:description" content="Your description" />
<meta property="og:image" content="http://www.your-domain.com/path/image.jpg" />
</head>
Otherwise, FB uses old/current page data at random i believe. Or based on a percentage of the top 1/3 of the page(if i remember correctly).

Integrating with Twitter

I hate to be doing this, but since going through the proper channels has led to being completely ignored for two weeks, I bring myself here instead. Hopefully you guys can prove why we're better ;)
I'm trying to integrate Twitter Cards, however despite following the instructions, and despite the Validator loading just fine (screenshot of the validator), it fails to show up in actual Tweets.
The URL being Tweeted in this example is http://pfq.link/?Megayena and the relevant Meta tags on that page are:
<meta name="twitter:card" content="product" />
<meta name="twitter:site" content="#SystemSalamence" />
<meta name="twitter:creator" content="#SystemSalamence" />
<meta name="twitter:domain" content="pokefarm.com" />
<meta name="twitter:title" content="Sei's Mightyena on PokéFarm Q" />
<meta name="twitter:image" content="http://pfq.link/?Megayena=004000ccff99300300.png" />
<meta name="twitter:label1" content="Species" />
<meta name="twitter:data1" content="Mightyena [Mega Forme Q]" />
<meta name="twitter:label2" content="Held item" />
<meta name="twitter:data2" content="No item" />
<meta name="twitter:description" content="Sei's Mightyena is a Level 100 Mightyena [Mega Forme Q]. She is hungry, so come visit her on Solaria and give her a Berry!" />
Everything looks valid, and it works on the validator preview, so why are Tweets not getting their cards?
When visiting the URL and inspecting (view source in the browser) your tag refers to a different URL than the one in the question.
it currently refers to:
http://pokefarm.com/img/script/pokemon?00400ccff99300300Megayena
Trying to visit that image URL, It returned a HTML page that contains an error (PHP error).
maybe that is the problem.
Have you tried using a summary card rather than a product card?
https://dev.twitter.com/cards/types/summary
While I can't see any obvious errors in the code, it might be worth trying different cards and seeing if they work.
The problem comes perhaps from there :
The image must be a minimum size of 120px by 120px
See https://dev.twitter.com/cards/types/summary

How to successfully implement og:image for the LinkedIn

THE PROBLEM:
I am trying, without much success, to implement open graph image on site: http://www.guarenty-group.com/cz/
The homepage is completeply bypassing the og:image tag, where internal pages are reading all images from the site and place og:image as the last option.
Other social networks are working fine on both internal pages and homepage.
THE CONFIGURATION:
I have no share buttons or alike, all I want is to be able to share the link via my profile.
The image is well over 300x300px: http://guarenty-group.com/img/gg_seal.png
Here is how my head tag looks like:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Guarenty Group : Pojištění pro nájemce a pronajímatelé</title>
<meta name="keywords" content="" />
<meta name="description" content="Guarenty Group pojišťuje příjem z nájmu pronajímatelům, kauci nájemcům - aby nemuseli platit velkou částku v hotovostí předem - a dále nájemcům pojišťuje příjmy, aby měli na nájem při nemoci, úrazu či nezaměstnání." />
<meta name="image_src" content="http://guarenty-group.com/img/gg_seal.png" />
<meta name="image_url" content="http://guarenty-group.com/img/gg_seal.png" />
<meta property="og:title" content="Pojištění pro nájemce a pronajímatelé" />
<meta property="og:url" content="http://guarenty-group.com/cz/" />
<meta property="og:image" content="http://guarenty-group.com/img/gg_seal.png" />
<meta property="og:description" content="Guarenty Group pojišťuje příjem z nájmu pronajímatelům, kauci nájemcům - aby nemuseli platit velkou částku v hotovostí předem - a dále nájemcům pojišťuje příjmy, aby měli na nájem při nemoci, úrazu či nezaměstnání [...]" />
...
</head>
THE TESTING RESULTS:
In order to trick the cache i have tested the site with http://www.guarenty-group.com/cz/?try=N, where I have changed the N every time. The strange thing is that images found for different value of N is different. Sometimes there is no image, sometimes there is 1, 2 or 3 images, but each time there is a different set of images.
But, in any case I could not find the image specified in the og:graph!
MY QUESTIONS:
https://developer.linkedin.com/documents/setting-display-tags-shares is saying one thing, and the personnel on the support forum is saying "over 300" Does anyone know What is the official minimum dimension of the image (both w and h)?
Can an image be too large?
Should I use the xmlns, should I not use xmlns or it doesn't matter?
What are the maximum (and minimum) lengths for og:title and og:description tags?
Any other suggestion is of course welcomed :)
Thanks in advance, cheers~
This answer I found on LinkedIn forums might be of help to you:
Guys, I've spent a whole day trying different things. What worked for
me is using the mata [sic] tags as following:
<meta prefix="og: http://ogp.me/ns#" property="og:title" content="{Your content}" />
<meta prefix="og: http://ogp.me/ns#" property="og:type" content="{Your content}" />
<meta prefix="og: http://ogp.me/ns#" property="og:image" content="{Your content}" />
<meta prefix="og: http://ogp.me/ns#" property="og:url" content="{Your content}" />
Just try to add prefix to every tag (not to html tag), then re-sign in
with your LI account to clear the cache...
Post your results.
I found this simple fix which worked for me after lots of complicated solutions which didn't work:
LinkedIn
The only way to “clear” the sharing preview cache for LinkedIn is to trick LinkedIn into thinking your page is a different (and new) page.
This is done by adding a made-up parameter to the link. It doesn’t affect your webpage, but it does force the metadata to be re-fetched.
Example:
Original link: //beantin.se/consultant-resume
"New" link: //beantin.se/consultant-resume?1
I was having the same issue last night. Spent hours researching solutions and I tried the solutions recommended by others in this post but to no avail. Finally I contacted LinkedIn about this issue and they responded right away. Their development team has implemented a new tool called "Post Inspector", which allows you to optimize content sharing. Literally, in just minutes this actually worked.
All you have to do is type in your URL and they do all the busy work i.e. verifying correct code of properties such as image, author, title, description, publication date etc. Not only do they verify, they also tell you what code to include, what is missing, and how to fix it.
Here is the website to use Post Inspector:
https://www.linkedin.com/post-inspector/
LinkedIn is also caching previews. If OpenGraph image was incorrectly cached at some point before, try defeating the cache with a query parameter on a shared link, e.g. https://your-website.com/?1.
Just a little late lol,
But I came across this exact issue, figured out that linkedIn was pulling the meta tags from the final landing page.
My website that i was trying to link to had an instant redirect, adding the og tags to the page where it was redirected to fixed the issue.
Make sure your og: tags are part of the head tag.
I ran into this recently, spent a huge amount of time working on it with all the types of solutions above. I was working with someone else's HTML and finally figured out that the html was simply missing the head tag, while it did have the closing tag for head.
Linked In is apparently not scanning page text for the og tags, but processing the page dom, and if the dom objects aren't properly coded, they won't process. If you have issues with unmatched tags or unclosed tags, this could be your issue if everything else is not working.
I did not need to add prefix to the meta tags or add og image height and width tags once the html was fixed. Linked In processed it fine once the html was fixed.
If you don’t want to add a fake query string parameter to your LinkedIn URLs—as suggested in e.g., #Kym's answer—a simple solution is just to sign out and then sign back in.
For me solution was to put all the <meta> tags (without prefix) inside <head> tag.
For other social networks like Facebook, Twitter or Google you don't even need to have <head> tag. (because it it optional in HTML5 specs)
PS. There is a new nice way for testing <meta> tags on your website: https://metatags.io/
After researching for a day, I found that meta tag with attribute property should be used instead of name.
<!doctype html>
<html prefix="og: http://ogp.me/ns#">
<head>
<meta property="og:type" content="website" />
...
Ref: https://ogp.me/
In my case I did exactly this and it worked fine (on my page of course).
Put these four lines in the head:
<title> aanalytics </title>
<meta data-react-helmet="true" property="og:image" content="/photos/s5.jpg">
<meta data-react-helmet="true" property="og:type" content="website">
<meta data-react-helmet="true" property="og:url" content="https://www.aanalytics.de">
BUT, pay attention that if you have more than one head in your page, these lines need to be inserted in the first head otherwise it will not work.
I also had prefix="og: http://ogp.me/ns#” in the html
I got it finally working by adding the full image path:
<meta name="image" property="og:image" content="https://hasan.life/images/preview.png">
This is worked for me.
Somehow this problem happens if you don't set your open graph tags properly.
Instead of this:
<meta name="image" property="og:image" content="{content}" />
Try this:
<meta name="image" property="og:image" content="{content}" />
<meta property="og:image:secure_url" content="{content}" />
<meta property="og:image:width" content="640" />
<meta property="og:image:height" content="442" />
I've tried for more than half an hour and I found this one which worked 100% correctly
Source: https://www.linkedin.com/help/linkedin/answer/a521928/making-your-website-shareable-on-linkedin?lang=en
• You can also check your Open graph credentials on https://www.opengraph.xyz/
<meta name="title" property="og:title" content="Enter your title here">
<meta property="og:type" content="Enter any tyoe like Article or Website">
<meta name="description" property="og:description" content="Enter description here">
<meta name="image" property="og:image" content="Enter image URL here">
<meta property='og:url' content='Enter website URL here'/>

How to exclude images from the facebook like button

I'm having a problem with my facebook like button and the webpage. The webpage contains banners and random images as well as the article image, now facebook have removed the share button, though it still works, but with the current like button. Facebook chooses the image automatically, and sometimes it chooses the banners instead of the article image. Is there any alternate way instead of adding properties to the article images? Like exculding all the images but the article image.
This answer isn't necessarily helpful for "excluding" specific images, but you can control what Facebook scrapes off of your page via Open Graph protocol with meta tags. For example:
<meta property="og:title" content="This is my title" />
<meta property="og:type" content="activity" />
<meta property="og:url" content="http://www.mysite.com/redirect/" />
<meta property="og:image" content="http://www.mysite.com/logo.jpg" />
<meta property="og:site_name" content="I'm on Facebook!" />
<meta property="og:description" content="Hello World!" />
This will force Facebook to reference http://www.mysite.com/logo.jpg to use as thumbnail.
Additionally, my blog post on the related subject matter might help you: http://weblogs.asp.net/kon/archive/2011/06/07/trick-facebook-scrapping-of-facebook-tab-url.aspx
I had the same problem. Kon has a good suggestion, but I'd rather have Facebook use the article image and not the logo, so what I did is put all logos and ad banners as background-image through CSS.
Something like this:
<span style="background-image: url('IMAGE OF AD'); width:Xpx; height:Xpx; display:block;"></span>