Search code examples
schema.orgjson-ld

Schema.org for portfolio homepage


I am building a portfolio home for a friend of mine. He is an artist and his homepage should include a lot of interactive elements, so I decided to build it using React. However, this implies that the overall markup of the page will be nearly empty on load and I would like to include JSON-LD formatted data to regain search engines' attention.

So within the index.html file I have this:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "author": { … }
  …
}
</script>

But is this the right @type, would Person be more accurate here? I even stumbled over the EntryPoint schema, which as well seams to be good because the main index is indeed the »Entrypoint« from the programs point of view.


Solution

  • In principle, each entity can be represented with Schema.org, not just one. You don’t have to decide whether to use WebPage or Person, you can use both.

    But this is what your snippet shows anyway, as the value for the author property would (ideally) be a Person item. This Person could also be the value of other properties, like about/mainEntity, publisher etc.

    For the semantics of the data, it’s irrelevant which entity is the top-level item in the JSON-LD, if that is what you’re asking.

    The EntryPoint type is not suitable, as it’s intended for protocols/APIs/etc., not just any webpage/website.