Sitemap
DesignToCodes

DesignToCodes

DesignToCodes offers a huge collection of free and premium HTML templates, Bootstrap landing pages, One Page portfolio templates, and Tailwind templates.

The CMS Says Updated. The Customer Still Sees the Old Value.

6 min readOct 20, 2026

--

Find the first stale layer before changing the website’s whole caching strategy.

Press enter or click to view image in full size

The CMS Says Updated. The Customer Still Sees the Old Value.

Find the first stale layer before changing the website’s whole caching strategy.

The visible page is only one part of the workflow. The information, editing responsibility, and next action determine whether the website is useful in the situation described here. An attractive sample layout does not resolve those decisions for the business.

Start with one complete task rather than a long feature wish list. Identify the facts the reader needs, the person maintaining them, and the evidence that would show the task works. Where the example is fictional, use it as a planning model rather than a customer result.

The full practical guide follows, including its comparisons, worksheet, worked example and implementation limits.

Why is updated CMS content not showing on a Next.js website?

Check the record, environment, and publication status first, then trace the update through the fetch, application cache, and deployment. A correct CMS edit can still be absent from the public page if the website reads another dataset, serves cached content, or only rebuilds at deployment. Identify the stale layer before changing the entire caching strategy.

A service business changes an opening hour or guide price and expects the website to reflect it. The editor sees the new value in the CMS, but a customer sees the old one. That is a content-freshness problem. It requires a different diagnosis from a page-speed score or a general “is Next.js good for SEO?” discussion.

This procedure works from observed values and timestamps. It is not a package test of any DesignToCodes template. Check your installed Next.js version, router, and hosting arrangement before adapting an API example; current documentation is not a guarantee that an older starter behaves identically.

Locate the first layer that still has the old value

Observation: CMS editor shows a draft change

  • First layer to inspect: Publication workflow
  • Useful next check: Read the published record through the intended API

Observation: Public API still returns the old value

  • First layer to inspect: Dataset, status, or upstream cache
  • Useful next check: Confirm record identifier and production environment

Observation: API is correct, server output is old

  • First layer to inspect: Application data or route cache
  • Useful next check: Inspect fetch configuration and revalidation path

Observation: Direct request is correct, open tab is old

  • First layer to inspect: Client state or browser cache
  • Useful next check: Compare a fresh session and navigation behavior

Observation: Only one host/environment is stale

  • First layer to inspect: Deployment configuration
  • Useful next check: Check the deployed commit and environment settings

Observation: Rebuild fixes it; later edits do not

  • First layer to inspect: Update mechanism
  • Useful next check: Determine whether content is read at build time

Write down the observation rather than merely saying “the cache is broken.” A failed CMS publish and a missing revalidation event can look identical on the page but require different repairs. Use non-sensitive content for the diagnostic record.

Step 1: Identify the exact content record

Record the public URL, CMS record identifier, field, previous value, and intended new value. Confirm that the edit is published and that the production API exposes it. Keep preview and production datasets separate in the investigation.

Inspect the request the application actually makes. A local development environment may use a different dataset or endpoint from production. Check names and routing without displaying tokens or secrets. If the server never receives the new value, invalidating its cache will not correct the upstream record.

For a beginner’s project structure, use the existing Next.js portfolio build guide. This article stays focused on an already deployed site’s content update rather than another complete build tutorial.

Step 2: Identify the project’s caching model

Find the installed Next.js version and whether the page uses the App Router or Pages Router. Inspect the relevant loader, fetch options, and route configuration. Determine whether the value comes from a CMS request, a local file, a build-generated artifact, or a client-side data library.

The Next.js caching guide describes a particular caching model and links to the newer alternatives. Use documentation that matches the actual project. Do not assume every fetch is cached or uncached across framework versions.

Get DesignToCodes’s stories in your inbox

Join Medium for free to get updates from this writer.

For older downloaded templates, inspect the delivered package instead of inferring behavior from the product’s framework label. A portfolio with local data files will not start reading a CMS merely because an editor creates a record elsewhere.

Step 3: Match the update event to the affected output

Update design: Content read during build

  • Question to answer: What triggers the next build?
  • Validation result: New deployment renders the intended value

Update design: Time-based freshness

  • Question to answer: What delay is acceptable for this content?
  • Validation result: The value changes within the agreed process

Update design: Path revalidation

  • Question to answer: Which page or layout needs refreshing?
  • Validation result: The correct public route shows the new value

Update design: Tagged data

  • Question to answer: Which pages share the same cached record?
  • Validation result: All affected uses follow the chosen behavior

Update design: Client-side data

  • Question to answer: What refetch/invalidation event is required?
  • Validation result: A fresh session and existing session behave as intended

Update design: Provider/CDN cache

  • Question to answer: Who controls the upstream response?
  • Validation result: The application receives the updated record

The official revalidatePath reference explains path invalidation in server contexts. A Route Handler can mark a path for revalidation on its next visit; the handler’s success response alone is not proof that the public page already contains the edit.

The revalidateTag reference covers shared tagged data. Its current recommended stale-while-revalidate behavior may serve stale data while refreshing. Choose behavior that fits the business requirement and the installed version rather than copying a call without understanding it.

If a CMS webhook triggers the update, verify that the production endpoint receives an authorized event, validates its origin, and targets the intended record. Do not publish secret-bearing example URLs or expose an unrestricted public cache-purge endpoint. The CMS provider’s own delivery record and the application’s logs should refer to the same permitted test.

Worked example: An opening hour updated in the wrong dataset

This is a fictional diagnostic trace. A business editor changes Thursday closing time in a preview dataset. The production website continues to show the old time. A developer initially suspects route caching because a local preview shows the new value.

The record check reveals that the production API also returns the old time. The team publishes the approved change in the correct dataset and then follows its configured update mechanism. Only after the API and public page agree do they close the issue.

The repair does not involve disabling all caching. The example illustrates why the upstream record belongs at the start of the investigation. It is not evidence that your website has the same fault.

Step 4: Retest the public page and related views

Use a fresh session to inspect the exact public route. Check any related listing card, detail page, and alternate entry point that displays the same value. Record the observation time and expected update behavior. Where a stale response is intentionally allowed, make the permitted delay part of the maintenance agreement.

Keep performance and discoverability checks separate. The existing Next.js performance guide addresses speed, while the established SEO guide addresses search implementation. Neither replaces the record-to-page freshness test.

Choose a starter around the editing requirement

If CMS editing is essential, ask which integration, data structure, and update mechanism the starter actually supplies. Compare the Next.js collection with that requirement. Buying another layout is unnecessary when a small, verified data-flow repair solves the problem.

Frequently asked questions

Should I disable caching to fix stale CMS content?

Locate the stale layer first. A dataset or publication error remains wrong even without application caching. Choose freshness behavior appropriate to the content.

Does a successful webhook response prove the update is live?

No. Trace the event to the intended record and inspect the public output under the configured revalidation behavior.

Why does a rebuild fix the page temporarily?

The site may read content at build time or reset a relevant cache during deployment. Inspect the actual loader before concluding which mechanism applies.

Can I copy current revalidation syntax into an older template?

Match the installed version and router to their documentation. Current API behavior can differ from older starters.

What should a support request include?

Provide the public route, non-sensitive record identifier, version, expected value, observed value, and timestamps. Keep credentials and private customer data out of screenshots.

Next.js template collection and documented scope. Compare its current format and included scope with the task in this guide.

Related reading

Sources and platform references

--

--

DesignToCodes
DesignToCodes

Written by DesignToCodes

DesignToCodes offers a huge collection of free and premium HTML templates, Bootstrap landing pages, One Page portfolio templates, and Tailwind templates.