I've recently added some Facebook content to my webpage, enabling the "like" and "send" buttons, found here: http://developers.facebook.com/docs/reference/plugins/like/, to my webpage.I find when I 'like' my webpage, and the status appears on my Facebook wall, the description shown under the link-title does not match what my meta-tags are described as. Where is this description coming from? Is there a way to change it?I've added and changed several styles of meta tags (meta title, meta name, meta description, etc). Nothing seems to change this description. I've also cleaned my Safari caché after testing new content, with no more luck.I know I'm looking right at the problem.
If you look at the link's source code, you can see there is no indication of this description.
Please ask me for the website address if necessary.
Please help? Thanks.
This answer comes a little late but Facebook caches all pages internally. The easiest way for facebook to read your tags is to scrape the website by going to http://developers.facebook.com/tools/debug and entering the URL of your website. This will fix the issue.
What you need to do is place the correct og:tags into your page...This link will tell you what tags to place on your page according to the content you have. There is also the facebook url linter that you can use to test your og:tags...
Hope this helps!
Good luck!
I'm a bit unclear about what exactly your problem is, but on http://developers.facebook.com/docs/reference/plugins/like/ Step 2 - Get Open Graph Tags, it will generate the appropriate meta tags with the correct syntax. If the problem isn't fixed with that method, I would suggest looking into the PHP Facebook API because I had a lot of problems that I was frankly too lazy to figure out with the JavaScript Facebook stuff that I could easily correct and design with the PHP version. Hopefully this at least points you in the right direction. Maybe some code too, ya?
EDIT: By the way, the generated meta tags look something along these lines:
<meta property="og:title" content="" />
<meta property="og:type" content="" />
<meta property="og:site_name" content="" />
<meta property="fb:admins" content="" />
etc.
EDIT 2: It just occurred to me as well that, if you have a Facebook Page, the information will be pulled from there. However, if you don't and are trying to use a link to a website, you can/should make a Facebook App for Webpages that will allow you to customize the description, title, etc. and all that other jazz you're probably having troubles with.
Related
I am working on applying the Helix Design Principles in an existing Sitecore project. One thing that I haven't been able to understand was the Metadata Feature.
I used Sitecore Habitat and searching through Google as a reference but haven't been able to understand it there as well. I haven't been able to find a detailed resource/documentation to learn more about what it does, how it works and how I would implement it to a currently existing project.
I'm sure this is a really broad question but any help would be appreciated.
Metadata will add tags to your page header section
ex
<title>site name</title>
<meta name="description" content="Description"/>
this will help you with seo
to implement it you need to add PageMetadata to your page base template and siteMetadata to your site base template, and add PageMetadata view to placeholder in your layout header tag
I have searched for the solution of this question but I didn't get proper answer.
My website has articles that may have more than one authors. So, I added multiple Facebook Open Graph meta tags
<meta property="article:author" content="https://www.facebook.com/{author_name_1}" />
<meta property="article:author" content="https://www.facebook.com/{author_name_2}" />
After doing this, I shared the article on facebook, but it is showing only the name of the first author. I want to show the names of all the authors whose profile has been mentioned in the open graph meta tag. How to do that?
That is not possible.
By Facebook’s definition, one article has one author, not multiple.
I'm using the Facebook comments box plugin..I have many pages with different get urls (example.com/id.php?id=1,example.com/id.php?id=2), and I'm attempting to give each its own seperate comments box. Everything is working fine except I get a warning telling me to add the href to the like button so I did. The only problem is, now a moderation link doesn't even appear..Here's code
" href="example.com/example.php?id="> ...I also included all meta tags I'm 100% sure..
I figured out the problem..Basically, if the page requires a login of some sort to view the contents, Facebook's bots don't have access to the meta tags.Therefore, you should add the meta tags to the page that a non-logged in user would see..This really caused me trouble and I hope this helps someone!
I have a like button on my site, i have defined all the og: meta tags and its works for most of most pages, but doesnt for 2 other pages. Its using a template so its exactly the same code, how can it work for some but not all pages?
For the pages it doesnt work, it doesnt pick up the title, image, link or description, basically any of the meta tags information.
Working like button....
http://www.imoffonholiday.com/holiday.php?id=des_home&destination=faliraki
Not working Like button
http://www.imoffonholiday.com/holiday.php?id=des_home&destination=ayianapa
Any ideas?
One usual problem is caching. If you were testing and at some point had the wrong data in the metatags facebook will cache that info.
One simple wat to test if it is a caching issue is to add a random param at the end of the URL.
so www.yourpage.com/index.php?cacheBust=1
Running the Facebook Debugger often clears those kind of things up. It appears to refresh the FB cache when you do.
I'm a pretty experienced Grails developer, but most of my experience has been with using grails for serving up JSON/XML to a flex app and some relatively simple HTML websites.
I've been diving deeper into using the sitemesh integration in grails and I'm struggling a little to find best practices for some more complex configurations, and I'm curious if there are any good tutorials or examples out there. The original Sitemesh website isn't that useful as the tags it talks about aren't directly exposed in grails.
A google search is mostly showing old mailing list posts and some vanilla sitemesh stuff which is helping me to move a little further along, but it's a lot of trial and error.
I fully understand how the basic g:layoutTitle, g:layoutHead, and g:layoutBody tags work. Those are easy and well documented.
The kinds of things that I'd like to see examples for:
g:applyLayout - the documentation on this is weak and I don't fully understand the uses suggested in the main docs. How is this different than setting the meta name='layout' content='foo' property?
g:pageProperty - some better examples on how to pull and use properties into the main template by setting the values as meta tags in the page that's being decorated. The grails docs on pageProperty show only the onload attribute from the body being brought forward. I think you can also use meta tag values here as well, anything else?
can you use multiple levels of sitemesh layouts? My testing seems to make me think that I can't, but that seems to reduce reusability. I think that the answer here is some usage of the g:applyLayout, but that's where I'm struggling the most.
the g:pageProperty is a very powerful, but very poorly documented thing. Lets say in my layout I specify where to put some content like this:
<html>
<body>
<g:pageProperty name="page.header" />
</body>
Now in my page I can specify some content:
<content tag="header">
<!-- header -->
</content>
Sitemesh will take the content tag, regardless of actual position in the HTML of the page and place it where it needs to go in the flow of the layout.
Even better, if within my page I render a template that also specifies a content area with a tag of "header", it will overwrite the first declaration, and it will be the template's content that will be rendered in the final layout.
Well, I can answer a bit:
Your first and third questions are related, as you can't chain layouts using the meta tag.
Your final page should have a meta tag as you suggest, but if you want to layer a layout on top of another layout, you put a g:applyLayout tag at the top of the child layout, pointing at the parent.
In your edit.gsp, you'd have:
<meta name="layout" content="editTemplate" />
and in editTemplate.gsp, you'd have:
<g:applyLayout name="baseTemplate" >
<!-- the html for the editTemplate -->
</g:applyLayout>
so edit.gsp would use editTemplate.gsp, which would use baseTemplate.gsp as a base layout. You can chain those as needed.
I haven't used g:pageProperty at all, so I can't throw you better examples there, sorry.
The Sitemesh together with Grails is a very very powerful feature. The more I use it - the more I love it. You can decorate any part of our web site: you can have layout for error messages, tooltips, news lines, comments, etc, etc. Just to note that you can do even that with in your pages and have multiple levels of decoration (no <content> needed):
/view/layout/inline-error-message.gsp
<span class="errorMessageInSomeFancyBox">
<span class="errorIcon"></span>
<g:layoutBody />
<span>
/views/book/create.gsp
<%-- let's decorate our error message with some fancy box --%>
<g:applyLayout name="inline-error-message">${some.error.message}</g:applyLayout>
See our Rabbtor Showcase App for a few very good examples on
creating nested layouts
rendering templates
applying layouts to specific parts of a page
. This app is actually a showcase for our tool Rabbtor which enables using GSP outside Grails but parts related with Sitmesh are also valid for Grails.