On this page, I can find this meta:
<meta property="fb:smart_publish:robots" content="noauto">
I failed to find what was the meaning or purpose of this meta anywhere on the web.
Related
Here I used to debug the above URL using Facebook sharing debugger. I have this message after debugged.
Invalid Image Content Provided og:image URL, https://mydomain/session/upload/undefined could not be processed as an image because it has an invalid content type.
I have used Next.js, and my head tag include:
<meta
property="og:image"
content={`${apiUrl}/session/upload/${session?.image}`}
/>
How can I solve this?
The image path is "..../undefined", that image most likely does not exist.
Make sure ${session?.image} is not undefined. You could also use a fallback image in case it is not defined, for example:
<meta
property="og:image"
content={session?.image ? `${apiUrl}/session/upload/${session.image}` : 'fallback-image-url'}
/>
Our website suddenly got blocked by Facebook and the error it show when sharing URL is
Your post couldn't be shared, because this link goes against our
Community Standards
If you think that this doesn't go against our Community Standards, let us know.
Further trouble shooting show error as using https://developers.facebook.com/tools/debug/og/object/ show error message as
This link is blocked, or you have triggered an excessive amount of
scrapes. If you think you're seeing this by mistake, please let us
know.
Warning:Critical Errors That Must Be Fixed
Error Linting URL: An internal error occurred while linting the URL.
I have done through tones of page to fix this issue with so respite. i did submit to FB to fix this issue with no response as its with most of the cases.
more testing reveled on debugger mentioned below show no data returned, not sure why? as no other details are mentioned.
https://developers.facebook.com/tools/debug/echo/?q=https%3A%2F%2Fwww.example.com%2Fen%2F
The document returned no data.
I have cross check & tested Open Graph tag and i dont see and issue. Open Graph as generate looks like
<meta property='og:title' content='Company Name'/>
<meta property='og:type' content='website'/>
<meta property='og:url' content='https://www.example.com/en/'/>
<meta property='og:image' content='https://www.example.com/images/page/home.jpg'/>
<meta property='og:site_name' content='www.example.com'/>
<meta name='twitter:card' content='summary_large_image' />
<meta name='twitter:description' content='Brief Description about the company which is less than 120 characters' />
<meta name='twitter:title' content='Company Name' />
<meta name='twitter:image' content='https://www.example.com/images/page/home.jpg'/>
Is there anything i should do different as the website is company website and doent contain any information which violate Facebook community guideline.
What should i do differently to get this resolved from my side
I have a specific page in my application where I want a user to be able to share certain selections they have made on a previous page, selection which I am receiving from my database.
So, for example - I have a user - Barry. I can access his name using ${user}.
He have been asked a question:
What is the first thing that comes to your mind when I ask about ${animals}
The answers they have chosen have been submitted to the DB, and I now want the answers to appear as the sharing description for Facebook. Obviously, the answer for each user will be unique - so I cannot hard code any information in here.
The code I have is the following:
<meta property="og:description" content="${user} thinks:%0A%0A<c:forEach var='animal' items='${animals}' >${animal} - ${animal.thoughts}%0A</c:forEach> />
When I view the source code for the page, I see this:
<meta property="og:description" content="Barry thinks:%0A%0AElephant - Gray%0ABird - Chirpy%0AMonkey - Funny%0ADog - Loyal />
However, when attempting to share the content on Facebook, the description is just empty, as though no description exists.
Unfortunately, this page is only available when the user is logged in, so using the Facebook scraper https://developers.facebook.com/tools/debug/ simply shows me the og data of the logged out landing page.
Am I missing something here?
EDIT
Based on #Cbroe's comments below, I have now adapted the code to be shared on a public page (IE one that you do not need to be logged in to see).
I have also set the description and image location as parameters in the URL - so that anybody who shares this page will see a description and an image relevant to them.
When running the full URL through Facebook scraper, I see the exact results I am after:
However, when actually sharing the link from the application, the dynamic info from the URL is being ignored.
<meta property="og:description" content="${param.description}" />
<meta property="og:image" content="${param.image}" />
My og:url contains the full URL, including the dynamic parameters. If anyone else has any ideas, I would love to hear them.
EDIT 2
Link that helped CBroe debug has been removed due to company policy. Example link provided in my answer.
With massive thanks for #CBroe for baring with me through this process and helping me out in the comments, I have now got a solution to this problem.
Firstly, I created a client facing page that did not require the user to be logged in in order to view. This would act as the page that the dynamic content would be shared from.
The code that I have now looks something like this:
Meta tags
<meta property="og:title" content="My Title" />
<meta property="og:url" content="${pageUrl}" /> // generates FULL URL including all parameters
<meta property="og:description" content="${param.description}" />
<meta property="og:image" content="${param.image}" />
Sharing generator (using jQuery)
var currentLink = encodeURIComponent(window.location.href); // NB to use encodeURIComponent instead of just encodeURI
var tWindow;
$('.facebookShare').on('touchstart click', function(){
tWindow = window.open('about:blank', 'sharer', 'toolbar=0,status=0,width=548,height=325');
tWindow.location.href = 'https://www.facebook.com/dialog/share?app_id=${facebookAppId}&display=popup&href=' + currentLink;
});
The link that was then used to share the page looked something like this:
https://[myURL]?description=My%20favourite%20animals:%20Elephant%20-%20gray%20%7C%20Dog%20-%20Cute%20%7C%20Cat%20-%20Cant%20be%20trusted%20%7C%20Leopard%20-%20Never%20changes%20its%20spots&image=[url_to_my_image]
Using this code, when sharing the page, the correct (and dynamic) image and description were generated each time.
Once again, big ups to #CBroe for helping me get to the bottom of this - and I hope that this can help somebody else in the future.
I'm using MODX Revolution 2.5.7 version for my site.
But unable to update the Meta tags. I searched a YouTube video & follow their given steps But still no success.
I have attached below 2 snaps..
1st for updating the Meta tags & second is published page after saving the metas.
Picture of Dashboard while updating the Meta tags:
Picture after updating the Meta Tags:
It seems as you have confused template tags in your html. It should be
<meta name="description" content="[[*description]]"/>
And you are likely to have:
<meta name="description" content="[[*longtitle]]"/>
that's why you see long title where description should go.
it looks to me like your cache needs to be cleared. (both browser & modx) - if you are using a CDN (i.e. cloudflare) or other caching service - clear that too.
your tags should look like:
<meta name="description" content="[[*description]]"/>
<meta name="keywords" content="[[*introtext]]"/>
...for the setup you are using.
You could also setup a template variable for the keywords (or any other meta information) and out put it like this:
<meta name="keywords" content="[[*keywords]]"/>
(assuming you named the variable "keywords")
There are also quite a few SEO/Meta extras available for modx ~ just search the extras directory.
When the user click "Recommend" button on my page, I'd like to post on his wall title and part of the article from my page. How can I change the information which is send to the user wall/timeline? I've found a tip that I should add open graph meta tags, but when I set og:title and og:description in META:
<meta content="Title" property="og:title">
<meta content="Description" property="og:description">
nothing change.
Any other ideas? Or maybe I do sth wrong?
[Edited]
My code:
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#">
<meta content="Test1" property="og:title">
<meta content="website" property="og:type">
<meta content="*Link to my web page*" property="og:url">
<meta content="*Link to my image*" property="og:image">
<meta content="Description" property="og:description">
<title>Page Title</title>
[...]
</head>
In the Object Debugger I get such messages:
Warnings That Should Be Fixed
Inferred Property: The og:url property should be explicitly provided,
even if a value can be inferred from other tags.
Inferred Property: The og:title property should be explicitly
provided, even if a value can be inferred from other tags.
Inferred Property: The og:locale property should be explicitly
provided, even if a value can be inferred from other tags.
Open Graph Object Properties
og:url: Link to my web page
og:type: website
og:title: Page Title
og:updated_time: 1319793567
Raw Open Graph Document Information
Canonical URL: Link to my web page
So it seems that the debugger gets only info from my page (e.g. <title>), not from Open Graph tags.
What I do wrong?
Probably I've found the reason of my problem - I render my page using JavaScript and then I set my META. Is there any way to set META (dynamically) visible for FB?
Did you run your page through the debug tool at http://developers.facebook.com/tools/debug ?
The debug tool clears Facebook's cache of your page as well as checking the syntax of your meta tags.
There are more tags required than the two you listed there
No, you can't dynamically create meta-tags. You need your server to render those meta-tags correctly when facebook decides to probe it (usually soon after a share/like/recommend operation).
EDIT : To make it clear -
There is no way to control the rendering of meta tags from the client.
If you want different URLs of your app to have different og:title, og:image etc.. you have to make sure your SERVER serves the html with the right meta tags for each URL.
Either put all the info you want in the URL in the first place, for example http://example.com/?title=shalom+world&image=shalom.png and then when you serve the page, parse the URL and render the meta-tags correctly OR..
Have some ID in the URL according to which you will go fetch a corresponding db record and render the head tag of the html you serve with info from that record as meta tags, for example: http://example.com/DB-RECORD-ID-X123