Creative agency glossarySEO and Analytics

304 Not Modified

A 304 Not Modified response tells a browser or a crawler that the page has not changed since it was last fetched, so the cached copy can be used instead.

What is a 304 Not Modified response?

When a browser already has a copy of a page, it can ask the server a cheaper question than "send me the page": it asks "has this changed since the version I have?" It does that by sending the date it last fetched the file or a fingerprint of the content called an ETag. If nothing has changed, the server replies with a 304 and no body at all, and the browser uses the copy it already holds. The response is a few hundred bytes instead of a full page.

It is a 3xx code, which puts it in the redirect family, but it does not send anyone anywhere. It is closer to a nod: you already have this, carry on.

Why it matters

Why 304 Not Modified matters

Speed and bandwidth, mostly. Repeat visitors get pages, images, scripts and stylesheets from local cache without downloading them again, so the site feels faster on the second visit than the first. For a media-heavy brand site, where the hero film and the campaign imagery are the biggest files on the page, the saving is real.

It matters for crawling too. Googlebot sends conditional requests, and a server that answers 304 correctly lets the crawler confirm that an unchanged page is unchanged without downloading it. On a large site that frees crawl budget for the pages that actually moved. A server that always answers 200, even when nothing changed, makes the crawler do all the work every time.

In practice

How 304 Not Modified works in practice

  1. 01

    It is configured, not written. The web server, the CDN or the hosting platform sets caching headers on each type of file: how long it can be cached, whether it carries an ETag, whether it should be revalidated. Most modern hosting does a reasonable job by default for images and static assets, and a poorer job for HTML pages, which often ship with headers that forbid caching entirely.

  2. 02

    The check is in the browser's developer tools. Load a page twice and look at the network panel: assets returning 304 on the second load, or served from memory cache without a request at all, are working. Assets returning 200 with the full file size every time are not being cached, and someone should ask why.

Watch out

What people get wrong about 304 Not Modified

Treating it as an error because it is not a 200. A page audit that flags every 304 as a problem has misread the code; it is the sign of a server and a browser cooperating. The actual mistake runs the other way: caching so aggressively that an updated page keeps serving the old version, which is why cache headers on HTML need a shorter life than headers on a logo that has not changed in years.

Forgetting the crawler. Caching is usually tuned for visitors, but the conditional request from Googlebot is the one that affects indexing. If your server cannot answer it, every crawl of your site is a full download.

Questions

People also ask

Is a 304 status code a problem?

No. It means the browser asked whether a file had changed and the server said it had not, so the cached copy was used. It is a sign that caching is working.

Does 304 Not Modified affect SEO?

Indirectly. It makes repeat visits faster, which helps the user experience signals Google measures, and it lets Googlebot skip downloading unchanged pages again, which helps crawl efficiency on large sites.

Why does my page return 200 instead of 304?

Either the file really did change, or the server is not sending the headers (Last-Modified or ETag) that make a conditional request possible. Check the response headers, and check whether a CDN or a plugin is stripping them.

Next to it in the glossary

  1. 200 (OK) Response CodeA 200 OK response code is the server's confirmation that a request succeeded and the page was delivered as asked.
  2. 301 RedirectA 301 redirect is a permanent instruction that sends browsers and search engines from an old URL to a new one, carrying the old page's ranking signals with it.
  3. 302 RedirectA 302 redirect is a temporary instruction that sends visitors from one URL to another while telling search engines the original address will return.
  4. 307 Temporary RedirectA 307 Temporary Redirect sends a visitor to a different URL for now, while guaranteeing that the request is repeated exactly as it was made.
  5. 403 ForbiddenA 403 Forbidden error means the server understood the request but refuses to serve the page, usually because the visitor does not have permission to see it.
  6. 404 Not FoundA 404 Not Found error is the response a web server returns when a requested page does not exist, which harms search visibility and user trust unless it is handled with a redirect or a useful custom page.

Every SEO and Analytics term →

In the work

Where it shows up

All our creations →

From the journal

Read around it

The journal →

Talking the talk is one thing

We make the work.

RIOT is a creative agency and production studio in New York. Strategy, brand, film, photography, design and the campaigns that carry them, made by one team. A few lines is enough to start: we read every brief the same day.

    Footage