web-dev-qa-db-ja.com

Schema.orgの語彙を使用して休業日(休日)を表す最良の方法は何ですか?

現時点では、Schema.orgには、休日期間(クリスマスなど)をGoogleボットや他のWebクローラーに直接伝えることができるプロパティはありません。 Schema.orgのGitHubリポジトリに関する未解決の問題 があるように見えますが、何かがいつ追加されるか、またはいつ追加されるかはわかりません。

これまでに、この問題に対する2つの解決策を見てきました。

  1. openingHoursSpecificationおよびopensプロパティなしでclosesを使用します。

    <p property="openingHoursSpecification" typeof="OpeningHoursSpecification">
        Closed between <time datetime="2015-12-24" property="validFrom">24th of December</time> and <time datetime="2015-12-26" property="validThrough">26th of December</time>.
    </p>
    

    これはいい解決策のように思えますが、Googleボットがこれを適切に理解するという証拠はありますか? GoogleのStructured Data Testing Toolで検証されているようですが、それはopensclosedプロパティがGoogleによって要求されないことを意味しますか?

  2. 等しいopeningHoursSpecificationおよびopensプロパティを持つclosesを使用します。

    <p property="openingHoursSpecification" typeof="OpeningHoursSpecification">
        Closed between <time datetime="2015-12-24" property="validFrom">24th of December</time> and <time datetime="2015-12-26" property="validThrough">26th of December</time>.
        <meta content="00:00:00" property="opens" />
        <meta content="00:00:00" property="closes" />
    </p>
    

    これもニースのソリューションですが、Webクローラーがこれを正しく理解し、これを誤ったマークアップとして扱わないという証拠はほとんどないようです。また、ビジネスがゼロ秒間開いていることを指定しなければならないのは少し非論理的なようです。

私が考えることができる他の唯一の解決策は、openingHoursSpecificationvalidFromおよびvalidThroughプロパティとともに使用して、すべての時間枠を個別に指定することです(デフォルトの営業時間が有効な場合でも)。

<div property="openingHoursSpecification" typeof="OpeningHoursSpecification">
    <meta content="10:00:00" property="opens" />
    <meta content="18:00:00" property="closes" />
    <meta content="2015-12-23" property="validThrough" />
</div>
<p>
    Closed between <time datetime="2015-12-24">24th of December</time> and <time datetime="2015-12-26">26th of December</time>.
</p>
<div property="openingHoursSpecification" typeof="OpeningHoursSpecification">
    <meta content="10:00:00" property="opens" />
    <meta content="18:00:00" property="closes" />
    <meta content="2015-12-27" property="validFrom" />
</div>

もちろん、このソリューションにも欠陥があります。

  1. 潜在的に多くの重複マークアップが必要です。

  2. Googleが推奨している可視データをマークアップする代わりに、「非表示」meta要素を使用することに大きく依存しています。

それで、これらの解決策のどれが最良/最も間違っていますか?より良い解決策はありますか?

4
user55970

Schema.orgには未解決の問題があるため、独自のソリューションを試行し、試行錯誤を使用して、Googleがそれを正しく選択するかどうかを確認することをお勧めします。ソリューション2を使用します。これは、営業時間外で最も明確に見えるため、schema.orgスレッド https://github.com/schemaorg/schemaorg/issues/240#issuecomment-95458846

これは問題ではありません- によると、非表示および機械で読み取り可能なデータの使用を検討する場合、機械で読み取り可能な日付は例外の1つですGoogleのポリシー これには、日付、価格、通貨などが含まれます。

Googleの公式ドキュメントでは、変更を反映するのに数か月かかる場合があると記載されていますが、Fetch-As-Googleを発見し、microdataとJSON-LDの両方のほとんどの作業で、たとえば long schema.orgのmicrodataの質問に対するコメントのリスト 元の投稿者は、最後の変更とgoogleがそれを拾うまでの3日間で、数日間隔でいくつかの異なる変更を試みています。

1
Mousey