SEO check

Server Signature Off: What the Check Means and How to Fix It

See what your Server header tells attackers, how our free report tests it, and the Apache, nginx, IIS and LiteSpeed settings that hide it.

Free to use 8 min read Updated Oct 2026

Server signature off: the quick answer

Quick answer: The server signature is the software banner your web server puts in its Server response header, and getting server signature off stops your site from announcing what it runs. Our report passes this line only when no Server header comes back at all.

  • Pass: our request gets no Server header back.
  • Warning: a Server header came back, so the report shows its value in a badge, even for a bare Apache, nginx or cloudflare.
  • Fail: our HEAD request errored or timed out after 3 seconds.
  • Fix: hide the version first, then remove the header at the server or proxy.

Check my site free

What is a server signature in HTTP?

The phrase covers two things people mix up. The first is the HTTP Server header, which carries the banner on every response and which RFC 9110 defines. The second is the footer line Apache can print under its own error pages and directory listings, controlled by the ServerSignature directive.

Apache adds a third control. The ServerTokens directive decides how much detail the server banner carries, and its values run from Prod, Major, Minor and Minimal up to OS and Full. Prod gives you a bare Server: Apache, while Full adds the operating system and the version strings of modules that announce themselves, such as PHP or OpenSSL. Apache defaults to Full for ServerTokens and Off for ServerSignature, but Debian and Ubuntu ship a security.conf that sets ServerTokens OS and ServerSignature On.

Real banners look like these, and the first three give an exact version.

Text
Server: Apache/2.4.58 (Ubuntu)
Server: nginx/1.24.0
Server: Microsoft-IIS/10.0
Server: LiteSpeed
Server: cloudflare

The MDN Server header reference gives the neutral definition and advises keeping the detail low, which is the idea behind everything that follows.

Why turn the server signature off?

A vulnerability scanner such as Nmap or Nikto does banner grabbing: it reads the version and matches it against CVE databases. That version disclosure saves an attacker a step of guessing.

Honest limit: Hiding a banner is security through obscurity. Patch management does the real work, and server fingerprinting can still identify software from behaviour.

Still, the change costs nothing, has no meaningful speed impact and takes five minutes, which is why scanners keep flagging it. It is not a Google ranking factor. We test it as information disclosure hygiene, in the same security group as the HSTS check and the directory browsing check.

How SEO Site Checker tests your server signature

Our report sends one plain HTTP HEAD request to the URL you entered, with a 3 second timeout and no browser rendering. Redirects are not followed, so the first response counts, such as the one that sends http visitors to https. Only the Server header is read, never the footer, X-Powered-By or the page HTML.

The exact rule: any non-empty Server header gives a warning. Only a missing or empty header passes.

ResultWhat our request seesWhat the report shows
PassNo Server header, or an empty oneGreen tick and the message that the server signature is off
WarningAny Server header, with or without a versionWarning icon, the raw value in a red badge and a How to Fix button
FailA timeout, DNS failure, TLS error or refused connectionRed icon, the same wording as a warning, no badge and a How to Fix button

That strictness surprises many owners. A bare Server: Apache or Server: nginx still warns, so hiding the version alone does not turn the line green, and a warning counts as not passed in the score. A CDN that answers first supplies the header we see, so a site behind Server: cloudflare usually cannot go green here. A failed result means only that our request got no answer.

Run the same test yourself

Use curl to print only the headers, then look for the server line. Use the exact URL you entered in the report, because curl without -L does not follow redirects either. If you typed http:// and the server redirects, both tools read the redirect response, and adding -L shows the final page's headers as a separate test. In DevTools, the Network tab and the first request's Response Headers show the same thing.

Text
curl -sI https://example.com/

Check my website

How to turn the server signature off in Apache

Edit httpd.conf or apache2.conf, or on Debian and Ubuntu the conf-available/security.conf file, which is enabled by default (run a2enconf security only if you switched it off). A control panel such as cPanel may keep its own include, so check that nothing loads after your line.

Text
ServerTokens Prod
ServerSignature Off

ServerTokens is allowed in server config only. If you put it in .htaccess, Apache returns a 500 Internal Server Error for that directory and logs "ServerTokens not allowed here", so remove it and edit the main config instead. ServerSignature is the one you can set in .htaccess, provided AllowOverride permits it (guides usually cite FileInfo, while the Apache reference lists the level as All), and it only hides the footer on error pages. Apply the change with apachectl configtest, then reload with systemctl reload apache2 or systemctl reload httpd.

The limit: ServerTokens Prod leaves Server: Apache in place, and on Apache 2.4.52 our own test showed that mod_headers with Header always unset Server did not remove it either. Core Apache settings therefore cannot turn the report line green. The route to a pass is a reverse proxy in front that clears the header, such as nginx with headers-more. The official Apache ServerTokens documentation lists every value and what each one sends.

Server signature off in nginx, IIS and LiteSpeed

Only some servers can remove the header instead of trimming it. The nginx server_tokens reference covers the syntax and the contexts it works in.

ServerSettingHeader left behindReport result
nginxserver_tokens off; in http, server or locationServer: nginxWarning
nginx with headers-moremore_clear_headers Server;NonePass
IISremoveServerHeader="true" under requestFiltering in web.configNonePass
LiteSpeedServer Signature set to Hide VersionServer: LiteSpeedWarning
LiteSpeed EnterpriseServer Signature set to Hide Full HeaderNonePass

With nginx, run nginx -t and then reload. The headers-more module ships as libnginx-mod-http-headers-more-filter on Debian and Ubuntu and is bundled in OpenResty. Only NGINX Plus has the string form of server_tokens that can empty the header, and our nginx 1.24.0 test confirmed both results above.

On IIS, the attribute needs Windows Server version 1709 or later, so 2019 and newer, and Windows Server 2016 ignores it. X-Powered-By is a separate header with its own setting, often added by PHP applications. In LiteSpeed WebAdmin, find Server Signature in the server's General settings, where Hide Full Header is Enterprise only.

On a CDN, shared hosting or a hosted site builder, the provider owns the header, so ask them or accept the warning. The hosting checker shows who answers for your domain, and the CDN usage test confirms whether a CDN sits in front.

Why your server signature still shows after you turn it off

Each cause leaves its own fingerprint. If the footer vanished from your 404 page but Server: Apache/2.4.58 (Ubuntu) still arrives, you changed ServerSignature when the header belongs to ServerTokens.

If the version survives ServerTokens Prod, another file is probably winning. Debian and Ubuntu load conf-enabled/security.conf, and a later include can set the value back. Find each copy with grep -ri servertokens /etc/apache2 /etc/httpd, check the load order with apachectl -t -D DUMP_INCLUDES, and reload once more.

Sometimes the header is not yours at all. A proxy or CDN adds its own, which is why Server: cloudflare can replace your Apache line. Request the origin directly with curl -sI -H "Host: example.com" http://203.0.113.10/, using your own server IP. A bare Apache there and the CDN on the public URL means your setting works.

Last, check what you tested. An http address that redirects reports on the redirect response, and a cached copy can show a header the live page no longer sends.

How to Fix

The short version, the same steps you see when you click How to Fix in your report.

Why this fails: Our request got a Server header back, for example Apache/2.4.58 (Ubuntu) or nginx/1.24.0, which tells scanners what software you run. The report flags any Server header, so hiding the version is step one and removing the header is what turns the line green.

How to fix it:

  1. Apache: set ServerTokens Prod and ServerSignature Off in the server config (security.conf on Debian and Ubuntu), then reload. Do not put ServerTokens in .htaccess, because Apache is not allowed to read it there and answers with a 500 error. Apache still sends Server: Apache and cannot drop the header itself, so a proxy in front is the way to a green line.
  2. nginx: add server_tokens off; and, with the headers-more module, more_clear_headers Server; then run nginx -t and reload.
  3. IIS: set removeServerHeader="true" in requestFiltering in web.config. This needs Windows Server version 1709 or later, so 2019 and newer.
  4. LiteSpeed: open the Server Signature setting in WebAdmin and choose Hide Version, or Hide Full Header on Enterprise.
  5. CDN or managed hosting: ask the provider, because they set the header.
Text
# Apache
ServerTokens Prod
ServerSignature Off

# nginx
server_tokens off;
more_clear_headers Server;
XML
<system.webServer>
  <security>
    <requestFiltering removeServerHeader="true" />
  </security>
</system.webServer>

To confirm, run this command against the exact URL you entered in the report and check that no server line comes back.

Text
curl -sI https://example.com/

Re-test: Run that curl command again without -L, since the report does not follow redirects, then run our free report again and check that the line turns green. The Server header reference explains the header in more detail.

Re-test my website

Frequently Asked Questions

What is a server signature?
A server signature is the text a web server sends about itself, mainly the Server response header such as Apache/2.4.58 (Ubuntu). On Apache it can also be a footer line under error pages. Both tell visitors and scanners which software and version you run.
How do I turn off the server signature in Apache?
Set ServerTokens Prod and ServerSignature Off in the server config, run apachectl configtest and reload Apache. ServerTokens in .htaccess causes a 500 error. The header stays as Server: Apache, so our report still warns until a proxy removes it.
How do I turn off the server signature in nginx?
Add server_tokens off; to hide the version, then more_clear_headers Server; from the headers-more module to remove the header completely. Run nginx -t and reload. Only the second line removes the header, which is what lets our report pass.
Why does the Server header still show after I set ServerSignature Off?
ServerSignature only controls the footer on pages the server generates, while the header follows ServerTokens. On Ubuntu, security.conf can keep sending Server: Apache/2.4.58 (Ubuntu) after the footer has gone. A CDN or proxy may also add its own header.
Should I disable the server signature for security?
Yes, as a cheap hardening step, because it removes a free hint for scanners that match versions to known vulnerabilities. It does not replace patching, since attackers can fingerprint a server in other ways. Treat it as one layer of defense.
How can I test my server signature?
Run curl -sI on the exact URL you entered and read the server line, or check the Response Headers of the first request in the DevTools Network tab. Our free report also flags any Server header it receives and shows the raw value.
Does turning off the server signature affect performance or SEO?
No. Removing the banner trims a few bytes from each response, changes no page content and is not a Google ranking factor. It matters only as a security hygiene item in a technical audit, beside the other security checks.

See how your site scores right now

Paste your address into the free report, then use the How to Fix button on anything that needs work.

Free to use. Results in under a minute for most sites.