Skip to content

Guide

Website security check: test your own site step by step

By Lucas Weber, CyberSec42 · Updated 28 Oct 2026

CyberSec42

A website security check is something a small business owner can largely do alone, with a browser and a handful of free tools: encryption and certificate, security headers, outdated software, exposed admin logins, malware and blacklist status, publicly downloadable files, forms, and the sender settings for your email. This guide shows, for each point, how to test it, what the result means and what to do if something turns up. What no automated scan will find are flaws in your site's logic and access rights. Those take a human tester.

In short.

HTTPS and certificate

Reading an SSL Labs report.

Go to section

Security headers

Measured with Mozilla HTTP Observatory.

Go to section

Outdated software

CMS, plugins, themes and PHP.

Go to section

Admin logins

Who can reach your login page.

Go to section

Malware and blacklists

Safe Browsing and Search Console.

Go to section

Exposed files

Finding backups, .git and .env.

Go to section

Forms and spam

What your contact form accepts.

Go to section

Email senders

SPF, DKIM and DMARC in brief.

Go to section

Before you start

Only test your own website, or a site you have permission to test. Every tool in this guide requests your pages the way a visitor would and reads what they show publicly. For your own site, that is unproblematic.

Keep a simple log: check, result, date, open question. Anything you cannot answer yourself becomes a question for your host, your agency or your website builder. How to secure the basics, meaning accounts, two-factor login, backups and contracts, is covered in our small business website security checklist. This guide is about measuring: what does a stranger see when they examine your site from the outside?

1. Check HTTPS and the certificate

The certificate is your site's digital ID. It makes sure that what visitors type in, such as their name, email address or password, travels encrypted. A padlock in the browser is the first step. A closer test shows how well the encryption is actually configured.

How to check

How to read the result

ResultMeaningWhat to do
A or A+Encryption is set up properly by current standards.Nothing. Repeat the test once a quarter.
B or CUsually old protocols or weak ciphers are still enabled.Ask your host to switch off outdated protocols.
TThe certificate is not trusted, for example because it has expired, is self-signed or is installed incompletely.Fix it now. Visitors usually see a warning.
FSerious configuration flaws.Hand it to your host or provider right away.

Look for two details in the report. First, the certificate's expiry date and whether it renews automatically. Second, the protocols: Germany's Federal Office for Information Security (BSI) recommends in its technical guideline TR-02102-2 (version 2026-01) that TLS 1.3 be preferred, that TLS 1.2 be used only until the end of 2031, and that TLS 1.0 and 1.1 not be used at all. The Internet Engineering Task Force formally deprecated those two old versions in RFC 8996. If the report still lists them as “Yes”, that is a concrete question for your host.

On hosted builders such as Wix, Squarespace or Shopify, the provider handles encryption. A grade below A is no cause for concern there, because you cannot change it anyway.

Security headers are short instructions your site sends to the browser with every page, such as “only load this page over an encrypted connection” or “don't let other sites embed me”. They protect visitors against several common attacks, for example injected scripts or pages that invisibly overlay yours.

How to check

Enter your domain in Mozilla's free HTTP Observatory. It grades from A+ to F, starting from a baseline of 100 points, and shows what is missing for each test. According to Mozilla, a site can be rescanned at most once a minute.

An example from our own site: on 28 Oct 2026 the Observatory gave www.cybersec42.com an A+ with 110 points, 12 of 12 tests passed. A second measurement, fetching the page directly, confirms the headers behind that grade:

strict-transport-security: max-age=63072000; includeSubDomains; preload
content-security-policy: default-src 'self'; script-src 'self' 'sha256-…' …
x-content-type-options: nosniff
x-frame-options: DENY
referrer-policy: strict-origin-when-cross-origin
permissions-policy: geolocation=(), microphone=(), camera=(), …

How to read the result

Missing headers are a task for your web provider, not an emergency. What each header does and how to set it up on Apache, nginx, Netlify or Vercel is covered in our guide to Content Security Policy and security headers. Keep the tool's limits in mind: Mozilla's own FAQ states that even an A+ does not mean a site is secure. Outdated software, vulnerable plugins, SQL injection and password handling are not tested.

3. Find outdated CMS and plugin versions

A content management system (CMS) is the software you use to edit your site, such as WordPress, Joomla or Drupal. Plugins and themes extend it. Many known vulnerabilities in this kind of software were fixed long ago in an update, and automated attack tools look specifically for sites that never installed it.

How to check on WordPress

On other platforms

On hosted builders, the provider updates the platform itself. Your part is the apps and third-party extensions you have installed. If an agency looks after your site, ask for a list of every component with its version number and the date of its last update. If nobody can produce that list, you have already found your most important result. How to keep WordPress up to date for good is covered in our WordPress security guide.

4. Exposed admin logins

Your admin login page is the door with the biggest key ring. On WordPress it sits at /wp-admin/ by default, on Joomla at /administrator/. The testing guide published by OWASP, a non-profit for application security, lists such paths as typical targets because admin interfaces are often not adequately protected against unauthorised access (OWASP WSTG).

How to check

A good result: only people you know have admin rights, all of them use a second factor, and database or server administration is not publicly reachable.

5. Check malware and blacklist status

If malware or a scam page is found on your site, Google puts it on a blocklist. Browsers then show visitors a warning before they open the page. You are often the last to notice, because your own browser loads the page from its cache.

How to check

How to read the result

A clean result only means Google has not flagged anything at the moment. Some malware shows itself only to certain visitors, for example only to smartphones or only to people arriving from a search engine. If your site is listed or you find content you didn't publish, treat it as a breach and follow our guide Website hacked? What to do first. It also explains how to request a review from Google once the site is clean.

6. Publicly exposed files: backups, .git, .env

One of the most damaging mistakes is also one of the simplest: a file sits in the server's public folder where it does not belong. Anyone who guesses the address can download it. The OWASP testing guide names three groups that should generally never be served publicly (OWASP WSTG):

WordPress's Site Health screen also warns when errors are written to a log file that may be publicly accessible.

How to check

In a private browser window, add these paths to your domain and look at what comes back:

https://yourdomain.com/.git/HEAD
https://yourdomain.com/.env
https://yourdomain.com/backup.zip
https://yourdomain.com/wp-content/debug.log

How to read the result

A clean result is worth particularly little here. You tested four obvious names, but a forgotten file might be called site-old-2023.zip. So also ask your provider whether there are backups, exports or copies in the web folder, and have them moved somewhere outside the public area.

7. Forms and spam

Your contact form is where strangers send data to your server. Spam is the visible problem. What matters more is what the form accepts and where the data goes.

What you cannot see from the outside: whether the server validates the input again itself or relies on the check in the browser. That difference is a classic attack vector and one of the things only a manual test reveals.

8. Email senders: SPF, DKIM and DMARC in brief

These three entries in your domain's name system (DNS) define who may send email in your name. Without them, scammers find it easier to send messages that appear to come from your address, such as fake invoices to your customers.

RecordWhat it controls
SPFWhich servers may send mail for your domain.
DKIMA digital signature showing the message was not altered in transit.
DMARCWhat receivers should do with mail that fails the checks, and where to send reports. The record lives at _dmarc.yourdomain.com.

How to check

Under the standard RFC 7489, DMARC has three levels: p=none (monitor and collect reports only), p=quarantine (treat failing mail as suspicious, for example by sending it to spam) and p=reject (refuse it). The usual approach is to start with none, read the reports and only then tighten the policy. Since 1 February 2024, Google has required all senders to Gmail to set up at least SPF or DKIM, and senders of more than 5,000 messages a day to set up SPF, DKIM and DMARC (Google email sender guidelines). So the setup also pays off in deliverability.

Website vulnerability scanners: where the tools stop

The eight checks above show how your site is configured from the outside. Automated tools, paid online scanners included, compare what they see against known patterns. What they fundamentally cannot judge is whether your site does what it is supposed to do, and nothing more:

So the rule of thumb is this: for a purely informational site with a contact form, the eight checks are enough if you repeat them regularly. As soon as your site has a shop, customer accounts, a booking system or custom features, a manual test is worth it, with a person working through the site using several test accounts the way an attacker would. What that involves is explained in Penetration testing: process, duration and what it costs. If you want a broad overview first, our article on vulnerability assessments explains the difference.

Your website security check as a checklist

CheckToolGood if …
HTTPS and certificateSSL Labs, browserGrade A or A+, http redirects to https, certificate renews automatically, no TLS 1.0/1.1
Security headersMozilla HTTP ObservatoryNo failed tests your provider could fix
SoftwareWordPress Site Health, list from your agencyNo pending updates, no abandoned plugins, current PHP version
Admin loginsPrivate browser windowTwo-factor login for every admin, no exposed database tool
Malware and blacklistsSafe Browsing site status, Search ConsoleNo unsafe content, nothing under “Security issues”, no foreign pages in the index
Exposed filesBrowser, question to your providerError page instead of content, no backups in the web folder
FormsYour own test messageOnly necessary fields, restricted uploads, spam protection active
Email sendersGmail “Show original”SPF, DKIM and DMARC each PASS

Repeat the list once a quarter and after every major change to the site, such as a new plugin or a change of provider. For systems that process personal data, the EU General Data Protection Regulation already requires a process for regularly testing the effectiveness of security measures (Art. 32(1)(d) GDPR). What that means for your business specifically is a legal question. This article is not legal advice.

Shop, customer accounts or custom features?

Then we test your website by hand, within a scope agreed in writing: access rights with several test accounts, checkout and login flows, forms and uploads, publicly reachable files and admin access. Every finding comes with reproducible evidence and a plain-language recommendation of what to do. We do not offer an online scanning tool of our own. Learn more about penetration testing.

Request a website security check

Every test is carried out only with written authorisation and within the agreed scope. CyberSec42 is an independent technical security assessment, not an accredited certification body, and does not provide legal advice. CyberSec42 is not affiliated with any of the tool providers mentioned.

Frequently asked questions

How can I run a website security check online?

With free tools that only read what your site serves publicly: the Qualys SSL Labs SSL Server Test for encryption, Mozilla's HTTP Observatory for security headers and Google's Safe Browsing site status for blacklisting. Add the browser checks from this guide, for example for exposed files and admin logins.

Is my website secure if every test comes back green?

No. Good grades show that the basic configuration is right. Flaws in access rights and in your site's logic, such as whether a customer can see someone else's orders, are not found by any automated test. Mozilla itself points out that even a top grade in the Observatory does not guarantee security.

How do I scan my website for malware?

Check your domain in Google's Safe Browsing site status, look at “Security issues” in Google Search Console, and search for site:yourdomain.com to spot pages you did not create. A clean result does not rule out malware for certain, because it sometimes only shows itself to particular visitors.

Can I use these tools on other people's websites?

Only test your own website or one you have permission to test. That applies in particular to requesting targeted paths such as /.env or /.git/. Security testing of other people's systems belongs in a written engagement.

How often should I check my website's security?

Once a quarter is a good rhythm, plus after major changes such as new plugins, a theme change, a move to a different host or a change of provider.

What should I do if I find a public .env file or backup?

Have the file removed from the public area immediately and replace every password and key it contained. You have to assume someone has already downloaded it. If it contained personal data, check with your data protection officer whether you need to report it.

Further reading

Sources