Skip to content

Nodebb design

Solved General
2 2 1.3k 1
  • wrote on last edited by Panda
    #1

    When I first thought on the topic of how I would design a forum, I envisaged a mostly JS front-end app, using the back end to access the Database.
    That has some advantages and disadvantages. One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum.

    How Nodebb builds its pages is different than I might have guessed. Its heavily reliant on Templating and CSS.

    Anyway before getting to that, I have been looking at how Nodebb builds its pages.

    On Nodebb forum one of the devs said
    The “read api” is used by the NodeBB frontend when loading pages
    The “write api” is preferred for server-to-server interactions.

    I asked for clarification on what server-to-server interactions might be?
    That part of my question was missed, can anyone add some explanation to help me understand?

  • When I first thought on the topic of how I would design a forum, I envisaged a mostly JS front-end app, using the back end to access the Database.
    That has some advantages and disadvantages. One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum.

    How Nodebb builds its pages is different than I might have guessed. Its heavily reliant on Templating and CSS.

    Anyway before getting to that, I have been looking at how Nodebb builds its pages.

    On Nodebb forum one of the devs said
    The “read api” is used by the NodeBB frontend when loading pages
    The “write api” is preferred for server-to-server interactions.

    I asked for clarification on what server-to-server interactions might be?
    That part of my question was missed, can anyone add some explanation to help me understand?

    wrote on last edited by phenomlab
    #2

    @Panda said in Nodebb design:

    One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum.

    From recollection, Google and Bing have the capability to read and process JS, although it’s not in the same manner as a physical person will consume content on a page. It will be seen as plain text, but will be indexed. However, it’s important to note that Yandex and Baidu will not render JS, although seeing as Google has a 90% share of the content available on the web in terms of indexing, this isn’t something you’ll likely lose sleep over.

    @Panda said in Nodebb design:

    The “write api” is preferred for server-to-server interactions.

    This is mostly based around overall security - you won’t typically want a client machine changing database elements or altering data. This is why you have “client-side” which could be DOM manipulation etc, and “server-side” which performs more complex operations as it can communicate directly with the database whereas the client cannot (and if it can, then you have a serious security flaw). Reading from the API is perfectly acceptable on the client-side, but not being able to write.

    A paradigm here would be something like SNMP. This protocol exists as a UDP (UDP is very efficient, as it is “fire and forget” and does not wait for a response like TCP does) based service which reads performance data from a remote source, thus enabling an application to parse that data for use in a monitoring application. In all cases, SNMP access should be “RO” (Read Only) and not RW (Read Write). It is completely feasible to assume complete control over a firewall for example by having RW access to SNMP and then exposing it to the entire internet with a weak passphrase.

    You wouldn’t do it (at least, I hope you wouldn’t) and the same ethic applies to server-side rendering and the execution of commands.

  • phenomlab phenomlab marked this topic as a question on
  • phenomlab phenomlab has marked this topic as solved on

Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee ☕
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • What is this bar called?

    Solved Customisation nodebb
    92
    1
    36 Votes
    92 Posts
    42k Views
    DownPW
    This is good
  • Sidebar Widget is no longer on the side!

    Moved Solved General nodebb
    4
    2
    2 Votes
    4 Posts
    1k Views
    phenomlab
    @Panda said in Sidebar Widget is no longer on the side!: Ah, so sidebar wont work on mobile? Correct. If you review the docs on bootstrap, you’ll notice that it is designed on a grid system https://getbootstrap.com/docs/5.0/layout/grid/ What I mean by changing the category is moving it on here to general as you posted it in bugs, when it isn’t.
  • Issues with 2nd NodeBB installation

    Solved General
    22
    3 Votes
    22 Posts
    10k Views
    phenomlab
    @cagatay yes, that will be fine. Just watch for potential caching conflicts as you will have two sites writing to the one instance of iframely.
  • NodeBB v2.4.0

    Solved General nodebb version error
    3
    1
    2 Votes
    3 Posts
    2k Views
    Sampo2910
    @phenomlab As always…Thank you. Worked for me.
  • Nodebb as blogging platform

    General blog
    10
    5 Votes
    10 Posts
    6k Views
    phenomlab
    @qwinter I’ve extensive experience with Ghost, so let me know if you need any help.
  • Discourse can turn posts into wiki posts. Can nodeBB?

    General wiki
    4
    2 Votes
    4 Posts
    2k Views
    phenomlab
    @qwinter it’s workable I think, but not perfect - then again, unless you write a specific plugin to perform such a task, what is. As you pointed out, you have versioning of sorts with the historical access to reach post.
  • NodeBB vs Flarum for a non developer

    Solved General
    17
    10 Votes
    17 Posts
    6k Views
    phenomlab
    @marusaky That’s really easily done. I think the docs need updating for the latest release. Did you land up on the 18.x train ?
  • [NodeBB] custom Gravatar image not showing

    Solved Customisation
    6
    1 Votes
    6 Posts
    3k Views
    JAC
    @jac said in [NodeBB] custom Gravatar image not showing: @phenomlab said in [NodeBB] custom Gravatar image not showing: @jac are you using Custom ? Sure am mate Confirmed Fixed