This reference explains how public Discourse sites work with search engines like Google and how the platform ensures content is properly indexed even as a JavaScript application.
Required user level: All users
Search engine indexing of Discourse sites
Discourse is built as a JavaScript application, but is specifically designed to ensure search engines can properly crawl and index all content on public sites.
How Discourse supports search engine crawlers
While Discourse uses modern JavaScript for its interactive features, it implements several techniques to ensure search engines can properly index all content:
No-JavaScript rendering
Discourse automatically serves appropriate content to search engine bots through:
- A complete
NOSCRIPT
tag that contains both topic lists and full topic content - Dedicated fallback views for older browsers with limited JavaScript capabilities
- Proper pagination in the no-JavaScript rendering to allow complete crawling
This approach ensures that search engines like Google can effectively index your entire Discourse community without requiring JavaScript execution capabilities.
Viewing the no-JavaScript version
You can view how search engines see your Discourse site by:
- Installing a JavaScript-disabling browser plugin in Chrome or Firefox
- Using Chrome DevTools to disable JavaScript (Googleβs instructions)
Example of no-JavaScript rendering
Below is an example of how Discourse Meta appears to Googlebot:
Note that pagination is properly included in the no-JavaScript rendering:
Last edited by @jessii 2025-05-21T22:32:48Z
Check document
Perform check on document: