Who this is for. Every developer, within their first hour on a site and many times after. Keep this page bookmarked.

1. Did you build?

The site serves the committed build output, not your source. A change to SCSS or JavaScript needs the production build and a commit of its output (The build output is committed and served). Templates need no build.

2. Did you deploy?

Is the commit pushed, and to the branch that this environment follows? A push to any other branch deploys nothing. To see what is deployed, look at the ?v= value on the stylesheet's URL in the page source, if the templates use the deployed commit there, or at the environment's Deployments log under System › Sites › Environments (Super admin and Developer users). On an environment updated by uploads, check that the file was uploaded. See Deploying a change.

3. Is it cached?

  • After a deploy, rarely. A deploy clears the page cache, the compiled templates and the CDN's copies of static files.
  • After a content change, usually not for long. With the default cache clear mode, Smart, saving a record clears the cached pages it takes part in. A site set to Manual clears nothing on content changes.
  • On a development environment, never. An environment in development mode does not cache pages at all.
  • In your browser. Built files are kept by browsers for a year; without a cache-buster in the URL, a visitor, or you, can be sent the old file. Reload without the cache to rule it out.

The environment's Clear Cache action, under System › Sites › Environments, clears everything at once, but only Super admin and Developer users can use it.

4. Is the record published, and are you signed out?

Signed in as a backend user, you see unpublished records on the site as well, because the setting Show unpublished is on by default; the public gets a 404 for the same page. And a Published date in the future is not published yet. Check in a private window.

When all four pass

  • The page uses another layout, so your template is not the one rendering it. Open the page in the admin and look at its layout, then at the layout's template.
  • An area name in the template does not match the layout: a wrong name prints nothing.
  • You are on another environment than the one you deployed to. Check the hostname.
  • The template has an error. On a development environment you see it in full; on production, the admin's Template Errors list records it. See Inspecting a render.