Posted by ethanhawksley 2 days ago
Is there any similar recommendations available for their new, LLM, world?
For example, there's no explicit property in schema's Person type [1] for a nickname. But the FOAF standard does [2].
Just add FOAF to the JSON-LD context:
{
"@context": {
"@vocab": "https://schema.org/",
"foaf": "http://xmlns.com/foaf/0.1/",
"pronouns": "https://schema.org/pronouns"
}
You now use the FOAF nickname property: "@type": "Person",
"givenName": "Timothy",
"familyName": "Berners-Lee",
"foaf:nick": "TBL",
You can do the same thing with Dublin Core, DBPedia, etc.I think you should just think about what metadata you actually care about, and the main metadata I care about (choose your own list) is authorship, publish date, last update, subject keywords, thumbnail (OpenGraph 1200x630), and summary.
There’s a long list of additional metadata that I could put in my webpages because there are standardized ways to do it, but, why bother?
And yes, you should use whatever metadata is applicable to your site and test it against the search engines/etc. you want to support to make sure that they are reading the metadata correctly.
Json-ld says: if you want to know whether the “title” property means the schema.org or the dublin core variant then you can find out which it is by <json-ld algorithm>
So you’d always use json-ld _with_ schema.org or something.
I tried using RDFa and liked the property that it was theoretically less redundant, but switched to JSON-LD because it JSON-LD is just easier to get working. And this is speaking as somebody who uses a hand-rolled static site generator—the issue here is that whether information is present in the raw HTML is something contextual, and if something isn’t present in the HTML then you need to put it somewhere else or it’s not mechanically parseable from the page. Like, to a human reader, a post on “Alice’s Blog” is assumed to be authored by Alice, so I may omit the “by Alice” text from the document, and then I would want to put that metadata in the page some other way.
Putting the metadata in JSON-LD lets me just be dumb about it. The metadata is always in JSON-LD, and the HTML may or may not contain an explicit representation of that same metadata. Easy.
But the JSON-LD does not need to contain the URL of the page (which is <link rel=canonical>) or the title (which is in <title>), for example.
For me, it depends on the project. For personal projects, I tend to use RDFa; otherwise, JSON-LD.
Granted, all of this is not for SEO purposes, but part of the ActivityPub ecosystem, which also uses JSON-LD for data encoding.