Este guia explica como os sites públicos do Discourse funcionam com mecanismos de busca como o Google e como a plataforma garante que o conteúdo seja indexado corretamente, mesmo sendo uma aplicação JavaScript.
Nível de usuário necessário: Todos os usuários
Indexação de sites Discourse por mecanismos de busca
O Discourse é construído como uma aplicação JavaScript, mas é especificamente projetado para garantir que os mecanismos de busca possam rastrear e indexar adequadamente todo o conteúdo em sites públicos.
Como o Discourse suporta rastreadores de mecanismos de busca
Embora o Discourse use JavaScript moderno para seus recursos interativos, ele implementa várias técnicas para garantir que os mecanismos de busca possam indexar corretamente todo o conteúdo:
Layout dedicado para rastreadores
O Discourse detecta automaticamente os bots de mecanismos de busca por seu user agent (agente de usuário) usando o módulo CrawlerDetection. Quando um rastreador é detectado, o Discourse serve um layout HTML completamente separado renderizado pelo servidor (crawler.html.erb) em vez da aplicação JavaScript normal. Este layout de rastreador inclui:
- Conteúdo de tópico e listas de tópicos totalmente renderizados em HTML — sem necessidade de JavaScript
- Marcação de dados estruturados Schema.org (por exemplo,
DiscussionForumPosting,ItemList,BreadcrumbList) para ajudar os mecanismos de busca a entender seu conteúdo - Paginação adequada com links
rel="prev"erel="next"para permitir o rastreamento completo - Cabeçalhos
Last-Modifiedem páginas de tópicos para sinalizar a atualidade do conteúdo
Fallback sem JavaScript
Para navegadores comuns que têm JavaScript desabilitado, o Discourse também inclui uma tag \u003cnoscript\u003e no layout da aplicação padrão. Isso contém listas de tópicos e conteúdo de tópicos renderizados, garantindo que o site permaneça acessível mesmo sem JavaScript.
Robots.txt e controles de indexação
O Discourse fornece várias configurações para controlar como os mecanismos de busca interagem com seu site:
allow_index_in_robots_txt
Esta configuração do site (ativada por padrão) controla se o robots.txt do seu site permite o rastreamento. Quando desativada, o robots.txt negará a todos os rastreadores e um cabeçalho X-Robots-Tag: noindex será adicionado a todas as respostas.
Lista de permissões e lista de bloqueio de rastreadores
Você pode controlar quais rastreadores têm permissão para acessar seu site usando:
allowed_crawler_user_agents— quando definido, apenas os rastreadores listados são permitidos; todos os outros são bloqueados viarobots.txtblocked_crawler_user_agents— quando definido, os rastreadores listados são bloqueados enquanto todos os outros são permitidos
Robots.txt personalizado
Os administradores podem personalizar totalmente o arquivo robots.txt em /admin/customize/robots. Um robots.txt personalizado substitui inteiramente o gerado por padrão.
Caminhos negados por padrão
Por padrão, o Discourse bloqueia rastreadores de caminhos que não são úteis para indexação, como /admin/, /auth/, /email/, /session, /search e outros. O Googlebot recebe uma configuração mais permissiva, bloqueando apenas os caminhos centrais de administração/autenticação.
Visualizando a versão do rastreador
Você pode ver como os mecanismos de busca visualizam seu site Discourse:
- Instalando um plugin de navegador que desativa o JavaScript no Chrome ou Firefox
- Usando o Chrome DevTools para desativar o JavaScript (instruções do Google)
- Alterando a string do user agent do seu navegador para um rastreador conhecido (por exemplo,
Googlebot) para ver o layout dedicado ao rastreador