Rota personalizada não sendo indexada/aparecendo na visualização do crawler

Continuado de: Creating Routes in Discourse and Showing Data

Desculpe por desenterrar o tópico, mas este parece ser o lugar relevante para perguntar…
Depois de seguir este e outros tutoriais sobre como criar uma rota e exibir dados

Eu repliquei isso para uma página não administrativa /snack, e funciona, e mostra meus dados perfeitamente!
Então, parece algo assim:

...
</header>

<h1>donut</h1>

<hr>

<p>delicious!</p>

<footer>...

Mas acabei de perceber que esta página não é indexada, rastreada, mapeada em sitemap, otimizada para SEO, etc. em lugar nenhum, e aparentemente é porque as páginas do Discourse têm versões “crawler view” sem JavaScript…

Então… depois de seguir o tutorial acima, Por onde ir a partir daqui para exibir os mesmos dados em uma versão “crawler view”, sem JavaScript dessa página?

No momento, a versão sem JavaScript se parece com isto:

...
</header>

empty

<footer>...

Diz “empty” com um texto real… isso é porque ele carrega o empty.html.erb padrão, certo? Como fazer com que ele mostre nosso { name: "donut", description: "delicious!" } em vez disso? :slight_smile:
Tentei algumas coisas do Google, mas nada útil…
Coisas como… respond_to do… e format.html… e format.json
E diferentes tipos de render plain, text, html
Nada…

:frowning:

Um template separado .*html*.*erb* para a visualização sem JavaScript talvez?
Como nomeá-lo? Onde colocá-lo? Como obter { name: "donut", description: "delicious!" } para ele?

:frowning:

Ajuda :grinning:

Eu não sei. Mas você definitivamente precisa de um template não js. O que acontece se você visitar a página com o javascript desativado?

1 curtida

Ele mostra a página não js usual… cabeçalho… rodapé…

Mas isso é o esperado, já que todo tutorial cobre apenas como alimentar dados json a um template ember…

1 curtida

Páginas apenas com JavaScript não são rastreadas, pelo que sei.

Você pode querer dar uma olhada em algo em que eu estava trabalhando:

1 curtida

Por que você está me mostrando isso? ^^
Eu estava perguntando sobre o tutorial Criando Rotas no Discourse e Exibindo Dados
Eu o segui
Eu tenho uma rota
Eu tenho dados: { name: "donut", description: "delicious!" }
A rota lê json e mostra esses dados

Como obter esses mesmos dados para a página do crawler?

Como outra versão do plugin de página estática me ajuda com isso? ^^ Existe um número de plugins de página estática por aí, a maioria morta e abandonada. Então… yay… mais um…
Eu encontrei um tópico com a mesma pergunta, How to transfer data from plugin to app/views templates?
E ninguém o ajudou também ^^
E parece que a solução do cara foi parar de usar o discourse ^^

Essa é a única solução “real”? :slight_smile:

É um plugin para o Discourse que, em última análise, renderiza templates de back-end que são expostos a crawlers e têm suas próprias rotas, esse é o motivo. Talvez você pudesse:

  1. usá-lo
  2. adaptá-lo às suas necessidades?

Pensando bem, o melhor é você conferir o plugin vanilla, sem as extensões:

Mas como você preferir.

1 curtida

Então você claramente sabe como fazer…
Você não pode simplesmente mostrar como fazer? ^^

Como “para fazer donut delicious! aparecer na página do crawler também, adicione esta pequena linha de código a este arquivo específico”…
Feito…

Ou é ilegal ajudar aqui? ^^
Se for muito complexo ou “hackish” e precisar criar 20 novos arquivos com centenas e centenas de linhas de código ilegível, então, claro, pode ser razoável seguir com soluções alternativas… ^^

Olá @MrBug :slight_smile:

Sinto muito que você não esteja recebendo as respostas que esperava, mas após revisar este tópico, o tom de suas postagens se tornou cada vez mais inadequado com o que esperamos aqui no meta. Se você gostaria de continuar participando, poderia por favor se lembrar de ter algum respeito por aqueles que estão contribuindo com seu tempo e esforço para ajudar as pessoas com seus problemas.

Vou encerrar este tópico agora.

3 curtidas