Closed filipedeschamps closed 2 years ago
Legal demais, acho que dá pra fazer isso sim. Mas e os links únicos de comentários, também seriam classificados como artigos?
Acredito que sim @gabrnunes 👍 eu já escrevi algumas respostas ali no TabNews que são mini artigos, por exemplo: https://www.tabnews.com.br/filipedeschamps/82830059-7733-4a11-80da-47533557df69
E a gente sempre deveria mirar para que cada resposta tenha algum valor concreto 🤝
E dai como ficaria o title
? Pq isso é importante pra um artigo né? Será que colocamos algo genérico como "Comentário de Filipe Deschamps"? Hoje o título tá meio confuso, pq só tem o nome do usuário e aquela hash gigante.
Ahhh ponto interessantíssimo! Sim, eu senti isso na hora de criar as páginas e não sabia muito como resolver.
O curioso é que um content
child pode ter uma propriedade title
, isso está disponível na API mas a interface web não dá chance disso ser injetado. Bom, dado a isso, o que acha de:
100
primeiros caracteres do corpo, por exemplo. Vai ficar muito melhor o resultado que aparece no buscador (ou não, porque daí talvez teremos que limpar um pouco alguns caracteres do corpo?). Talvez podemos começar com eles sujos para ver o que acontece.Ainda parece estranho 🤔 E se a gente pegar sempre o título do post de maior level? Aqui no GitHub, por exemplo, o link direto pro comentário é só uma âncora https://github.com/filipedeschamps/tabnews.com.br/issues/393#issuecomment-1139116157
Ainda parece estranho 🤔 E se a gente pegar sempre o título do post de maior level?
Puts seria perfeito, algo como: Em resposta a "...."
mas hoje infelizmente o model content
não tem um método para pegar o conteúdo root
, mas vai ter mais para frente, até para conseguir usar isso na página da resposta para dar mais contexto.
Aqui no GitHub, por exemplo, o link direto pro comentário é só uma âncora
Correto, eles não tem uma página para a resposta, então seria algo como um Tweet respondendo outro Tweet, exemplo:
https://twitter.com/mhmdou1/status/1528841400850296834
Interessante que nesse caso eles fazem uma mistura das ideias (um prefixo com o corpo):
Corpo:
It contains lot of changes
But sincerely one of the best updates i have seen
Like wow holy moly🙄🥺
I swear i keep adoring next more and more
Segment routes are amazing
Nested layouts
Making our lives easier❤️
Eles não possuem uma tag
document.title
> 'Mohammad AlOulabi on Twitter: "@vercel It contains lot of changes But sincerely one of the best updates i have seen Like wow holy moly🙄🥺 I swear i keep adoring next more and more Segment routes are amazing Nested layouts Making our lives easier❤️" / Twitter'
Mas acho que usar o corpo inteiro seria ruim porque pode ficar um mega título 😂
Hahahaha, boa! Pois é, vi que no Dev.to é assim também, eles colocam o conteúdo do comentário no título. Acho que vamos seguir dessa forma mesmo.
@filipedeschamps desculpa, mas eu acabei tendo que focar na criação do novo site pra Codecon e não to conseguindo ajudar aqui :(
Assim que eu der um tempo posso resolver essa Issue, mas fica livre se outra pessoa quiser resolver também!
Sem problema algum @gabrnunes foco total nas tarefas do seu trabalho e de quebra se quiser mais para frente, não deixe de fazer uma publicação com Pitch:
lá no TabNews contando um pouco sobre esse implementação do novo site e se tem algo a destacar que tenha valor pra turma, e com isso trazer mais pessoas para a Codecon. Acho um Pitch super válido, pois você teve envolvimento direto com o projeto.
Em paralelo o @rodrigoKulb na issue #433 perguntou se ele podia ajudar em algo. Rodrigo, talvez iterar nessa implementação seja interessante. É algo que faz parte da Milestone 4, que já foi executada pelo @gabrnunes mas que podemos ajustar para algo mais refinado a "artigos". E como lida com SEO, todo carinho é pouco ❤️ 🤝
Antes de fecharmos essa issue, sugiro criarmos uma função que limpe todo o markdown do body
para ser usado nas tags de description
.
Pegando como exemplo essa última publicação que fiz:
<meta name="description" content="[Seal](https://docs.planet.ink/data/seal/) faz parte de uma ferramenta chamada [Planet](https://planet.ink/product) (um aplicativo de gerenciamento de conhecimento) que consegue comprovar em"/>
O melhor seria gerar algo como:
<meta name="description" content="Seal faz parte de uma ferramenta chamada Planet (um aplicativo de gerenciamento de conhecimento) que consegue comprovar em"/>
Temos a opção de utilizar essa dependência ou fazer na unha. https://www.npmjs.com/package/markdown-to-text Qual sugestão?
Edit: Pensando aqui você não acha legal a API do content retornar 2 body's com markdown e somente texto? Dependendo da utilização já vem direto da content essa opção.
Sugiro usar uma lib, porque tem várias regrinhas chatas, mas a dúvida é qual lib, pois tem essa sua, e tem outras:
E remover HTML também é importante, porque dá pra inserir no body
coisas como <img>
.
Sobre retornar isso limpo na API, não sei, por enquanto acho que não. Mas seguindo sua idéia, o model
content poderia ter um método para limpar o body. Mas nesse caso em específico, pelo uso ser somente no Layout, primeiro eu resolveria lá e depois com a necessidade real eu transportaria para o model (e daí expor na API). Esse tipo de refatoração é o tipo mais fácil e é uma delícia de fazer, ou não fazer porque o futuro nos provou que não foi necessário antecipar uma abstração assim 🤝
@filipedeschamps na verdade o objetivo inicial dessa Issue foi realizado na ultima #453 PR, mas venho fazer uma sugestão de uma nova implementação para SEO:
https://developers.google.com/search/docs/advanced/structured-data/article?hl=pt-br
AMP com dados estruturados: as páginas AMP com dados estruturados podem ser exibidas no carrossel das Principais notícias, no carrossel de host da pesquisa aprimorada, nas histórias visuais e em resultados da pesquisa aprimorada em dispositivos móveis. Esses resultados podem incluir imagens, logotipos de páginas e outros recursos interessantes de resultados da pesquisa.
Show Rodrigo! Não entendo muito bem de AMP, mas sei que o Next possui suporte para isso de alguma forma (acho), mas lembro que no passado o Google anunciou que iria parar de dar atenção ao AMP, olha só: https://plausible.io/blog/google-amp
É sobre o mesmo assunto?
@filipedeschamps realmente parece que o Google vai descontinuar o AMP principalmente para notícias / artigos. Tentei achar alguns artigos com APM não consegui simular nenhum caso, Achei somente para receitas e livros. Então podemos cancelar a missão.
Vamos finalizar essa Issue?
Vamos finalizar essa Issue?
Vamos 🤝 mas obrigado por trazer esse ponto para cá, SEO é algo fundamental para o tipo de site que é o TabNews 🤝 👍
@gabrnunes depois seria interessante analisarmos se
website
é o melhorog:type
para os conteúdos do TabNews, pois talvez oarticle
seja melhor.https://github.com/filipedeschamps/tabnews.com.br/blob/d4d8717c8973df1786ec4a3329065ba1601ce72d/pages/interface/components/BaseLayout/index.js#L15
Mas quanto mais eu pesquiso aqui, mais perdido eu estou, por exemplo:
https://stackoverflow.com/questions/29748013/what-is-the-correct-implementation-of-the-open-graph-article-type
E aí comecei a testar umas coisas com essa ferramenta e ela gerou umas tags muito interessantes com prefixo
article
, olha só:No objeto de
content
nós temos o que seria oarticle:published_time
pela propriedadecontent.published_at
earticle:modified_time
pela propriedadeupdated_at
. Oarticle:author
daí seria ocontent.username
.Já no
article:section
eu chuteitecnologia
.O que acha de lapidarmos isso?