Schema:Recipe vs FOAF - schema

I'm using a Drupal site which seems to add FOAF by default, therefore an image would have the following tag:
<img typeof="foaf:Image" src="....
I'm trying to setup Rich Snippets and on a wrapper I have this div:
<div typeof="schema:Recipe">
and then I have schema markup on all fields within this.
Using Google Search Console it pulls in all the other values but I've had trouble with the Recipe Image specifically. I'm wondering if there's a conflict going on? How do FOAF and Schema act with each other? What is FOAF even used for?
Google Structured Data tool is only pulling the Image type in, whereas I'd assume it should by default pull the src URL in too?
For reference the Recipe I'm testing is here: http://www.simplybeefandlamb.co.uk/recipes/pulled-beef-brisket

Related

Adding manual schema (rich snippet) code to wordpress website( template) without yoast

we are working on SEO for one of the content related (article, videos) website and using wordpress template to build the website. Now if I use yoast generated schema the standard webpage schema is being used to all the pages which I really don't want and won’t be useful. I need to insert the schema according to the page category that can be manually coded (json-ld) or using any plugin that supports category wise schema uploading.
Please help me how to add schema code manually to wordpress website each page or any plugin that will help me to do the same.
you can use to Custom Fields.
you need add your schema code to article and Video Custom field and choose that on every post.

Google's SERP breadcrumb returning a `null` value for page despite returning correct schema markup in googles structured data testing tool

We see the following search engine listing for a page. Note that the breadcrumbs includes a null value.
Image of SERP
Google Listing
However, when testing that page's DOM in the Structured Data Testing Tool, we see that all the right values in the breadcrumbs found in the JSON+LD schema.
Schema image
Does this mean that the Google listing is out of date? Or, is there something I am missing?

Implementing JSon-LD Schema in Ektron, is it possible?

This is my first time using Ektron and i'm trying to implement Json-LD schema scripts for each page. I have 68 scripts that I need to implement that are unique for each page.
I thought I would be able to implement these scripts through meta data, but now i'm unsure. Each script is over 1000 characters, the html and meta tag types only allow 500 characters, so i'm assuming i'm in the wrong place. If anyone could shed some light it would be much appreciated.
Ektron's metadata isn't intended for large chunks of data / content. So, yes, you will find limits there.
Here are two things you might try as workarounds.
Most direct:
Use the Ektron Library. Go to the Library tab and click on the Root node and view Properties. Add an extension to allow you to upload your JSON-LD as a file. Use metadata on the content item to reference the uploaded file. Combine the two upon output.
If you want the JSON-LD to be editable within the CMS...
Gaming the platform a bit
Create a new SmartForm definition and include in it a single plain-text, multi-line field (not Rich text). This should hold your JSON-LD. Set up a folder and, if your version supports it (you didn't specify CMS version, so I will assume relatively recent), set the folder to be non-searchable so these things don't come up in site search results. Add a restriction to the folder to only allow the Smart Form definition you just created. Create your JSON-LD there using the plain-text field. You should be able to store up to 1MB.
Same as above, add your JSON-LD as text then use a reference to this item from the content you want to use it.
The metadata in this case (and possibly the library one, though I'd have to test and I don't have an Ektron environment for development anymore) will give you the Content ID for the object holding your JSON-LD. You'll have to make another API call but will give you the solution you appear to want from above.

Concepts for RDFa DRY references

I started digging into RDFa recently and try to spice my website with semantic information. The site offers services, events, a blog and may offer products in future. Happily schema.org has coarse but adequate categories for it all. But now it comes to practical questions.
All the examples have all information on a single page, which seems pretty academic to me. E.g. on my landing page is a list with upcoming events. Events have a location property. My events run at 2 different locations. I could paste the location information for each entry in and inflate my html. I'd rather link to pages, which describe the locations and hold full details. Not sure, whether this is what sameAs is for. But even then, how would it know which RDFa information on the target URL should be used as the appropriate vCard?
Similarly, my landing page has only partial company information visible. I could add a lot of <meta>, but again a reference to the contact page would be nice.
I just don't want to believe that this aspect slipped the RDF creators. Are there any best practices for redundancy reduction?
URIs! (or IRIs, e.g., in RDFa 1.1)
That’s one of the primary qualities of RDF, and it makes Linked Data possible, as coined by Tim Berners-Lee (emphasis mine):
The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data.
Like the web of hypertext, the web of data is constructed with documents on the web. However, unlike the web of hypertext, where links are relationships anchors in hypertext documents written in HTML, for data they links between arbitrary things described by RDF
From my answer to a question about the Semantic Web:
Use RDF (in the form of a serialization format of your choice) and define URIs for your entities so that you and other people can make statements about them.
So give all your "entities" an URI and use it as subject resp. object in RDF triples. Note that you may not want to use the same URI which your web pages have, as it would make it hard to distinguish between data about the web page and data about the thing represented by the web page (see my answer describing this in more detail).
So let’s say your website has these two pages:
http://example.com/event/42 (about the event 42, i.e., the HTML page)
http://example.com/location/51 (about the location 51, i.e., the HTML page)
Using the hash URI method, you could mint these URIs:
http://example.com/event/42#it (the event 42, i.e., the real thing)
http://example.com/location/51#it (the location 51, i.e., the real thing)
Now when you want to use the Schema.org vocabulary to give information about your event, you may use resource to give its URI:
<!-- on http://example.com/event/42 -->
<article resource="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
</article>
And when you want to specify the event’s location (using Place), you could use the URI of the location:
<!-- on http://example.com/event/42 -->
<article about="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
<a property="schema:location" typeof="schema:Place" href="/location/51#it">Location 51</a>
</article>
And on the location page you might have something like:
<!-- on http://example.com/location/51 -->
<article about="#it" typeof="schema:Place">
<h1 property="schema:name">Location 51</h1>
<a property="schema:event" typeof="schema:Event" href="/event/42#it">Event 42</a>
</article>
Aggregating this data, you’ll have these triples (in Turtle):
#prefix schema: <http://schema.org/> .
<http://example.com/location/51#it> a schema:Place .
<http://example.com/location/51#it> schema:event <http://example.com/event/42#it> .
<http://example.com/location/51#it> schema:name "Location 51" .
<http://example.com/event/42#it> a schema:Event .
<http://example.com/event/42#it> schema:location <http://example.com/location/51#it> .
<http://example.com/event/42#it> schema:name "Event 42" .
EDIT: I’m not sure (and I hope it’s not the case), but maybe Schema.org expects a blank node with a url (or sameAs?) property instead, e.g.:
<article about="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
<div property="schema:location" typeof="schema:Place">
<a property="schema:url" href="/location/51#it">Location 51</a>
</div>
</article>
Each RDF resource has identifier. Identifier is an IRI (and URL is a subset of IRIs). So, just reference locations by their identifiers.
Usually, each page describes one implicit main resource and several explicit additional ones. Take a look at RDFa 1.1 Primer. It has a lot of relevant info

Dynamic blocks in django templates

It is a question about django that has found absolutely no answer for me.
Let's suppose I have a site where I display two blocks in the sidebar :
A list of the last users who've logged in
A list of the last published blog articles
Let's say that these blocks are to be displayed on 80% of the website urls and presented using template files.
The data for these blocks is generated by code (obviously), bt not by url views.
Well, how to do such a thing ?
You might want to take a look at custom template tags.
Edit: more specifically, look at inclusion template tags.