دعني أكتب بعض الكود الزائف للفحص الحالي المعروض في Search Console. أعتقد أن هذا سيساعد كثيرًا في هذه المواضيع. يمكنني إرسال ShEx أو SHACL لك، لكنهما أقل قابلية للقراءة البشرية.
if not (IsDeletedContent() OR IsExternalContent())
then if not ("text" OR "articleBody" OR "sharedContent" OR "image" or "video")
then report(OneOfThreeRequired("text", "image", "video"))
if not ("author")
then Report(Required("author"))
if not("datePublished")
then Report(Required("datePublished")
الفكرة هي أنه إذا كان محتوى DiscussionForumPosting/OP موجودًا في الصفحة الحالية، فيجب أن يكون هناك حقل محتوى من نوع ما.
إذا كان DiscussionForumPosting يشير إلى محتوى في صفحة مختلفة (مثل الصفحة الأصلية لمحتوى متعدد الصفحات)، فيمكن أن يحتوي فقط على جزء يمثل أي شيء (مثل عنوان موضوع OP) ثم يشير إلى عنوان URL للصفحة الأولى. هذا هو فحص IsExternalContent() الذي يتحقق فقط مما إذا كان url != page URL.
المثال الثاني في مستنداتنا كان من المفترض أن يمثل هذه الحالة بالضبط (الصفحة 14 تشير إلى منشور مختصر من الصفحة الأولى).
author و date مطلوبان حاليًا بغض النظر عن قواعد التحقق لدينا. هذا في الغالب لمنع خطوة إضافية للعثور على هذه البيانات. يمكنك على الأقل رؤية كيف يمكن أن يكون معرفة تاريخ OP مفيدًا لفهم مدى قدم التعليق. هل يمكنك فقط إضافة عناصر meta بهذه البيانات؟ لم أكن قلقًا بشأن هذه الحقول بقدر ما كنت قلقًا بشأن تضخيم الصفحة ببيانات زائدة.