How do I stop the node from caching
If you add node data in a preprocess hook, then you need to add the cache tag of the node:

$variables['node_title'] = [
  '#markup' =&gt; $node-&gt;getTitle(),
  '#cache' =&gt; [
    'tags' =&gt; $node-&gt;getCacheTags(),
  ],
];


If this node is from a route match, then you need to add a cache context for the route as well:

$node = \Drupal::routeMatch()-&gt;getParameter('node');
$variables['node_title'] = [
  '#markup' =&gt; $node-&gt;getTitle(),
  '#cache' =&gt; [
    'tags' =&gt; $node-&gt;getCacheTags(),
    'contexts' =&gt; ['route'],
  ],
];