Melhorias no esquema do fórum de discussão

Deixe-me escrever um pseudocódigo para a verificação atual exibida no Search Console. Acho que isso ajudará muito nesses tópicos. Eu poderia enviar a você o ShEx ou SHACL, mas eles são muito menos legíveis por humanos.

    se não (IsDeletedContent() OU IsExternalContent())
       então se não ("text" OU "articleBody" OU "sharedContent" OU "image" ou "video")
         então report(OneOfThreeRequired("text", "image", "video"))
    se não ("author")
       então Report(Required("author"))
    se não("datePublished")
       então Report(Required("datePublished")

A ideia é que, se o DiscussionForumPosting/OP tiver seu conteúdo na página atual, deve haver algum tipo de campo de conteúdo.

Se o DiscussionForumPosting estiver referenciando conteúdo em uma página diferente (como na página original de conteúdo de várias páginas), ele pode ter apenas um stub que contém o que for (como o título do tópico do OP) e, em seguida, referenciar a URL da primeira página. Essa é a verificação IsExternalContent(), que apenas verifica se url != page URL.

O segundo exemplo em nossa documentação deveria modelar exatamente este caso (a 14ª página se refere a uma postagem stub da primeira página).

author e date são atualmente obrigatórios de qualquer forma em nossas regras de validação. Isso é principalmente para evitar um salto extra para encontrar esses dados. Você poderia pelo menos ver como saber a data do OP pode ser útil para entender o quão desatualizado é o comentário. Você pode simplesmente adicionar elementos meta com esses dados? Eu não estava tão preocupado com esses campos em relação ao inchaço da página com dados redundantes.

7 curtidas