web-dev-qa-db-ja.com

記事ページのスキーマで、他の記事へのリンクに使用するマークアップは何ですか?

記事ページの構造化データを設定する方法を理解していると思います。しかし、これらの記事には、1)自分のサイトの他の記事、2)他の外部サイトの記事へのリンクがあります。

  1. 私は自分のサイトの記事内でItemListを使用できることを知っています。ただし、これがこの用途に適しているかどうかはわかりません。

    主な記事は、より良い食事方法に関するものであり、自分のサイトのレシピへのリンクも含まれます(実際のレシピページにはRecipeスキーマしか使用できないので、そうではありません懸念)。しかし、これらのページへのリンクはページの主な目的ではありません。これらはトップ10デザートのような記事ではありません。 Schema.orgコーディングでマークアップしたいのですが。

    また、それらは常に隣り合っているわけではありません。 ItemListが正しい使用法である場合、個々のパーツを通常の記事テキストで区切っても大丈夫ですか?

  2. 一部の記事は外部サイトにもリンクされます。これらをSchema.orgにマークアップする必要がありますか?または、それらをスキップするのが最善ですか?


ItemListの代わりに、他の記事へのリンクも記事として配置しても大丈夫でしょうか?もしそうなら、どうすればいいですか?

これはページの主要部分の簡略版であり、基本的なSchema.orgに必要なアイテムだと思います。

<div itemscope itemtype="http://schema.org/Article">
  <div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">Feast for Freedom</div>

  <meta itemprop="url" content="https://feast-for-freedom.com/tips/item/29-planning/191-how-and-why-to-cut-out-packaged-food-for-1-week"></div>

  <div itemprop="name">How and Why to Cut Out Packaged Food for 1 Week</div>

  <div itemprop="author" itemscope itemtype="http://schema.org/Person">
    <div itemprop="name">Thora Toft"></div>
  </div>

  <div itemprop="datePublished" content="2017-06-06">June 6, 2017</div>

  <div itemprop="articleSection">Planning</div>

  <div><img itemprop="image" src="/images/cook/no-packaged-food-2.jpg"/></div>

  <div itemprop="articleBody">

    <p>Some content of the article.</p>
    <p>Some content of the article.</p>
    <p>Some content of the article.</p>
    <p>Some content of the article.</p>

      <div><a href="/recipe/salad">Salad</a></div>
      <div><a href="/recipe/soup">Soup</a></div>

    <p>Some content of the article.</p>

    <div><a href="/recipe/chicken">Chicken</a></div>
    <div><a href="/recipe/fish">Fish</a></div>

    <p>Some content of the article.</p>
    <p>Some content of the article.</p>

  </div>
</div>
5
Thora

現在のページと比較してリンクが何であるかを検索エンジンに伝えるために、アンカーに可能なマークアップがかなりあります。

relatedLink

あなたがクレームブリュレについて話しているとすると、キャラメルについて話すページにrelatedLinkを付けることができます。

significantLink

多くの人がドキュメントに従ってクリックするリンク。私は彼らがあなたの領域に何ができるのかあまり知りません。他の非常によく似たレシピへのリンクかもしれません。

speakable

視覚障害者に特に役立つ、ロボットが読むことができるページへのリンク(テキストから音声)。

discussionURL

あなたのウェブサイトにもフォーラムがあるとしましょう。このページのトピックに関するフォーラムへのリンクを持っているかもしれません(すなわち、デザート、野菜、サラダ…)。そのリンクをクリックすることで、ユーザーは何らかの形で他のユーザーと対話できます。

genre

それが食品関連の投稿にうまく当てはまるかどうかはわかりません。つまり、それらはすべて同じジャンルの一部であると考えられています。料理です。たぶん、あなたは別々のタイプの料理(インド、フランス、アフリカ、中東、中国…)を持つことができます。

isBasedOn

これは興味深いものになります。たぶん、野菜のキッシュの作り方を説明して(いいね!)、標準のキッシュへのリンクが必要です。これはそのための完璧なマークアップです。

license

ページのコンテンツでは役に立ちません。ウェブサイトのライセンスページへの1つのリンク(つまり、著作権、契約条件など)で使用できます。

material

食べ物にとって、これはおそらく適切ではありません。

publishingPrincipals

licenseと同様、メインコンテンツには役立ちません。


他のURLマークアップもありますが、この状況ではおそらく役に立たないでしょう。

完全なリストは、 Schema WebPage サポートされているマークアップのリストにあります。

さて、@ WebElaineが述べたように、これはあなたのマークアップの残りが正しいことを確認することに費やされる可能性がある時間を要するでしょう。

また、リンクでは、rel="..."属性を使用するのが習慣です。たとえば、上記のライセンスにはrel="license"のマークを付けることができます。

3
Alexis Wilke

Willtechが簡単に暗示しているように、スキーマは、記述に使用しているコンテンツ全体をマークアップすることを目的としています。したがって、記事やレシピ全体にマークアップを使用するのは正しいことです。ただし、リンクに記事のマークアップを使用しないでください。基本的に、「この1つの小さなリンクタグ-リンクそのものであり、リンクをたどった後に見つけるコンテンツではありません」は記事です。代わりに、リンクが指すページで適切なスキーママークアップを使用します。したがって、リンクがサイトを指しているのか外部のサイトを指しているのかに関係なく、その部分にはスキーマを使用しないでください。

スキーマを追加または削除せずに、記事はそのままマークアップされます(リンクを囲むdivがある理由は完全にはわかりません。それらが多少リストのようであれば、<ul><li>sの方が適切です) 。

2
WebElaine

mentions プロパティは、他のクリエイティブ作品への参照に使用できます。これらのクリエイティブな作品が自分で公開されているか、外部サイトで公開されているかは関係ありません。

マイクロデータの例:

<article itemscope itemtype="http://schema.org/Article">

  <!-- an external creative work -->
  <p itemprop="mentions" itemscope itemtype="http://schema.org/BlogPosting" itemid="http://example.com/blog/foo">
    I read <a itemprop="url" href="http://example.com/blog/foo">a blog post about this issue</a>, but it didn’t give a solution.
  </p>

  <!-- an internal creative work -->
  <p itemprop="mentions" itemscope itemtype="http://schema.org/Recipe" itemid="/recipes/noodle-soup-with-beans">
    Then I cooked my favorite recipe: 
    <a itemprop="url" href="/recipes/noodle-soup-with-beans">
      <span itemprop="name">Noodle soup with beans</span>
    </a>
  </p>

</article>
2
unor