How to comply with GDPR on your website: a step-by-step checklist
Most small businesses know they should follow GDPR but are not sure what it means for an ordinary website with a contact form, an analytics tag and a newsletter sign-up. The answer is a short list of jobs done in the right order: know what personal data you collect and where it goes, have a lawful reason for each use, tell people about it clearly, ask for consent where the law requires it, have proper terms with the companies that handle data for you, keep it secure, delete it when you no longer need it, and be ready when someone asks for their data. This guide turns UK GDPR and EU GDPR into an ordered checklist for a small site, with examples, templates and the checks that show each step is done.
What GDPR compliance means for a website
GDPR applies whenever you handle personal data, meaning any information that identifies a living person directly or indirectly. On a website that includes names and email addresses from forms, order details, account logins, IP addresses in server logs, and the identifiers analytics and advertising tools store in cookies.
In the UK the law is UK GDPR together with the Data Protection Act 2018, and cookies and marketing emails are also covered by PECR. In the European Union it is the EU GDPR plus each country's ePrivacy rules. The core principles are the same in both. Personal data must be:
- processed lawfully, fairly and transparently;
- collected for specific purposes and not reused for unrelated ones;
- limited to what you actually need;
- accurate and kept up to date;
- kept no longer than necessary;
- kept secure.
On top of those, the accountability principle says you must be able to show that you comply. That is why so much of this checklist produces a document: a data inventory, a note of your lawful bases, a privacy notice, contracts and a retention schedule. If a customer complains or a regulator asks, those records are your evidence.
Start with a data audit
You cannot comply with rules about data you do not know you have. List every place your website collects or passes on personal data. Look at forms, checkout, accounts, comments, newsletter sign-ups, chat widgets, booking tools, analytics, advertising pixels, embedded videos and maps, and your server and security logs.
To find third parties you have forgotten about, load a page and list every external host it contacts:
curl -s https://www.example.com/ | grep -oE '(src|href)="https?://[^/"]+' | sed -E 's/.*:\/\///' | sort -u
That only catches what is in the HTML. Open the Network panel in DevTools as well, reload, and sort by domain to see hosts added later by scripts. Each one is a company that receives at least the visitor's IP address.
Record what you find in a simple table, one row per activity:
| Activity | Data | Lawful basis | Shared with | Kept for |
|---|---|---|---|---|
| Contact form | Name, email, message | Legitimate interests | Email host | 24 months |
| Online orders | Name, address, phone, order | Contract; legal obligation for tax records | Payment provider, courier | 6 years |
| Newsletter | Email, sign-up date | Consent | Email marketing service | Until unsubscribe |
| Analytics | Cookie ID, IP address, pages viewed | Consent (PECR) | Analytics provider | 14 months |
This table becomes the basis of your record of processing, your privacy notice and your retention schedule, so time spent here saves time later.
Choose a lawful basis for each use
Article 6 gives six lawful bases. A small website normally uses four of them:
- Contract for what you must do to deliver an order or service the person asked for.
- Legal obligation for records the law makes you keep, such as tax and accounting records.
- Legitimate interests for reasonable uses people would expect, such as answering an enquiry or keeping server logs for security. Write a short balancing note showing why your interest is not outweighed by the person's rights.
- Consent for newsletters, marketing and non-essential cookies, where PECR or the nature of the use requires it.
Pick the basis before you collect the data and do not swap later. If you rely on consent, it must be opt-in and as easy to withdraw as to give. A marketing tick box on a form should look like this, unticked:
<label>
<input type="checkbox" name="newsletter" value="yes">
Send me the Example Bakery newsletter. I can unsubscribe at any time.
</label>
Special category data, such as health information or ethnicity, needs an additional condition under Article 9. If your forms ask for anything like that, take more care and consider a data protection impact assessment.
Publish a clear privacy notice
Articles 13 and 14 list what you must tell people. Your privacy notice should say, in plain language:
- who you are and how to contact you;
- what personal data you collect, and why, with the lawful basis for each purpose;
- who you share it with, by name or by category;
- whether data goes outside the UK or EU, and the safeguard used;
- how long you keep each type of data;
- the rights people have and how to use them;
- the right to complain to the ICO or their local regulator.
Link it from the footer of every page and next to every form. Copying a template is fine as a starting point, but it must describe what your site really does, which is why the data audit comes first. The privacy policy guide walks through each section.
Then deal with cookies. Non-essential cookies need consent before they are set, through a banner that makes rejecting as easy as accepting. The cookie consent guide covers the set-up and cookie banner dark patterns shows the designs to avoid.
Processors, transfers and security
Every company that handles personal data on your behalf, such as your host, email marketing service, form tool, payment provider and analytics service, is a processor. Article 28 requires a written contract with each. Most providers publish a data processing agreement or addendum that you accept in your account settings; find it, accept it and keep a copy.
If a provider stores data outside the UK or EU, check which safeguard it relies on. For UK data that is usually an adequacy decision, the UK Extension to the EU-US Data Privacy Framework, or the International Data Transfer Agreement or Addendum. For EU data it is an adequacy decision, the Data Privacy Framework or standard contractual clauses.
Article 32 requires security appropriate to the risk. For a small website the essentials are:
- https everywhere, with HSTS and sensible security headers;
- updated CMS, plugins and themes, and removing what you do not use;
- strong, unique passwords and two-factor sign-in for every admin account;
- backups that are themselves protected and tested;
- form submissions sent by email only when necessary, not copied into several inboxes.
Retention needs a mechanism, not only a policy. For enquiries stored in a database, a scheduled job like this enforces the 24 months in the table:
DELETE FROM enquiries WHERE created_at < NOW() - INTERVAL 24 MONTH;
Rights requests, breaches and the ICO fee
People can ask to see their data, correct it, have it deleted, restrict or object to its use, and receive it in a portable form. You must respond without undue delay and within one month, which you can extend by up to two further months for complex or numerous requests if you tell the person. Requests do not have to use particular words or a form, so make sure anyone who reads your inbox recognises one.
Write down where to look for one person's data: the CMS, the shop, the mailing list, your email, the form tool and any spreadsheets. Most systems let you search and export by email address, and many CMS platforms have built-in export and erase tools.
If personal data is lost, stolen or exposed, you must report it to the ICO within 72 hours of becoming aware, unless it is unlikely to result in a risk to people. Keep an internal log of every breach, reported or not.
If you are based outside the UK or EU but target customers there, you may also need to appoint a representative. If you serve US customers too, read GDPR vs CCPA vs HIPAA.
The fix, step by step
Step 1
Map the personal data your site handles
List every form, account system, checkout, newsletter, chat widget, analytics tag, advertising pixel, embed and log file that collects or passes on personal data. Use curl and the DevTools Network panel to list every external host your pages contact. Record each activity in a table with the data, purpose, recipients and retention period. You are done when nothing the browser loads is missing from the table.
Step 2
Pick and record a lawful basis
For each row in your table choose one of the Article 6 lawful bases, usually contract, legal obligation, legitimate interests or consent, and write it down. For legitimate interests, add a short note explaining why the use is expected and fair. For consent, check the request is opt-in and unticked. Confirm that no row is left without a basis before you move on. Review these notes whenever a purpose changes.
Step 3
Remove data you do not need
Go through every form and remove fields you do not genuinely need, such as phone numbers on a simple enquiry form or dates of birth for a newsletter. Turn off features that collect data nobody uses, such as unused comment systems or old tracking tags. Test each form afterwards to confirm it still works and that the submitted data now matches only what you listed.
Step 4
Publish an accurate privacy notice
Write or update your privacy notice from the data table, covering who you are, what you collect, why, the lawful basis, who receives it, any transfers abroad, retention, rights and the right to complain. Link it from the footer of every page and beside every form. Check the result by comparing each section with your table and confirming that every recipient is mentioned. Date the notice so readers know it is current.
Step 5
Fix cookie consent
Install or reconfigure a cookie banner that blocks non-essential cookies until the visitor agrees, with Accept all and Reject all on the first screen and every optional category off by default. Add a Cookie settings link in the footer. Test in a private window with DevTools: before any click and after rejecting, no analytics or advertising cookies should be set and no tracking requests sent.
Step 6
Put processor agreements in place
For every provider that handles personal data for you, such as hosting, email, forms, payments and analytics, find its data processing agreement and accept it in your account, saving a copy. Note where each provider stores data and the transfer safeguard it relies on. You are done when every recipient in your table has a saved agreement and a recorded transfer mechanism. Store the agreements together in one folder.
Step 7
Secure the site and set retention
Enable https with HSTS, update the CMS and plugins, remove unused ones, and turn on two-factor sign-in for every admin account. Then set up automatic deletion for each retention period in your table, for example a scheduled database job or the retention setting in your form tool. Confirm a week later that old records are being removed as expected, and note each job in your data table so it is reviewed with everything else.
Step 8
Prepare for requests and breaches
Write a one-page procedure listing every system where one person's data could be found and how to export or delete it. Note the one-month deadline for responses and the 72-hour deadline for reporting serious breaches to the ICO. Create a log for requests and breaches. Test the procedure by finding and exporting all data held about a colleague's test email address. Review the procedure once a year.
Step 9
Pay the fee and schedule reviews
Use the ICO self-assessment to check whether you must pay the data protection fee, and pay it if so. Put review dates in your calendar: a six-monthly check of external hosts against your table, and a yearly check of agreements, retention jobs and the privacy notice. Run a GDPR scan after each review to confirm the visible parts of the site are still correct. Keep the dated results with your other records.
Edge cases worth knowing
- Record of processing. Organisations with fewer than 250 staff are exempt from keeping a full Article 30 record unless their processing is more than occasional, likely to be risky, or involves special category data. Running a website and a customer list is usually regular processing, so keep the data audit table up to date anyway; it costs little and covers most of what a record needs.
- Server logs. IP addresses in access logs are personal data. Keep them for a set period, such as 30 to 90 days, and say so in your notice.
- Embedded content. YouTube videos, maps and social feeds can set cookies and send data as soon as the page loads. Use privacy-enhanced embeds or load them after consent.
- Industry rules. Online shops have extra points around payment and marketing, covered in GDPR for ecommerce. Software services acting as processors for clients should read GDPR for SaaS.
- Law changes. The Data (Use and Access) Act 2025 adjusts parts of UK GDPR and PECR, for example around searches for rights requests and some cookie exemptions. Check the ICO guidance for the current position.
Staying compliant
GDPR compliance is not a one-off project. Each new form, plugin, tag or supplier changes your data map. A few habits keep it accurate:
- Before adding a new tool, ask what data it collects, where it sends it and whether it needs consent, and update the inventory, privacy notice and banner on the same day.
- Every six months, repeat the external host check and compare the list with your inventory.
- Once a year, confirm processor agreements are still in place, the ICO fee is paid and retention jobs are running.
- Keep a short folder with the inventory, lawful basis notes, processor agreements, breach log and rights request log.
A regular GDPR scan catches the most visible problems, such as tags firing before consent and a missing privacy link, and the GDPR guide explains each check in more depth.
1. How do I make my website GDPR compliant?
Start by listing every piece of personal data your site collects and where it goes, then give each use a lawful basis. Publish a privacy notice that matches what you actually do, block non-essential cookies until visitors consent, and accept a data processing agreement with every provider that handles data for you. Keep the site secure, delete data on a schedule, and have a simple procedure for rights requests and breaches. Keeping notes of each step is what lets you show that you comply.
2. Does GDPR apply to a small business website?
Yes, GDPR applies to any business that handles personal data, whatever its size. A contact form, a mailing list, an online shop or an analytics tag is enough to bring a small website into scope. Size does affect some obligations: organisations with fewer than 250 staff have a narrower duty to keep a formal record of processing, and the expected level of documentation is proportionate to the risk. The core rules on lawful basis, transparency, security and rights still apply in full.
3. Do I need consent for everything under GDPR?
No. Consent is only one of six lawful bases, and for many website activities another basis fits better. Fulfilling an order relies on contract, keeping tax records relies on legal obligation, and replying to an enquiry or keeping security logs usually relies on legitimate interests. You do need consent for marketing emails to most individuals and for non-essential cookies, because PECR requires it. Using consent where another basis fits can cause problems, because people can withdraw it at any time.
4. What must a GDPR privacy notice include?
A privacy notice must say who you are and how to contact you, what personal data you collect, why you use it and the lawful basis for each purpose. It must also cover who you share the data with, any transfers outside the UK or EU and their safeguards, how long you keep each type of data, the rights people have, and their right to complain to a regulator. Write it in plain language and make it easy to find from every page and form.
5. Do I need to pay the ICO data protection fee?
Most UK organisations that process personal data must pay the ICO data protection fee each year, unless an exemption applies. Exemptions cover some organisations that only process data for limited purposes, such as staff administration or their own accounts, but a business running a website that collects customer details will often need to pay. The ICO website has a short self-assessment that tells you whether you are exempt and which tier applies. Failing to pay can lead to a separate penalty.
6. How long do I have to answer a subject access request?
You must respond without undue delay and within one calendar month of receiving the request. If the request is complex, or a person has sent several, you can extend the deadline by up to two further months, but you must tell them within the first month and explain why. Requests can arrive by any channel, including email, social media or phone, and do not have to mention GDPR, so make sure everyone handling enquiries can recognise one and passes it on promptly.
7. What happens if my website is not GDPR compliant?
The ICO can issue reprimands, enforcement notices and fines, and individuals can complain or claim compensation if they suffer damage or distress. In practice, the ICO usually starts with advice and asks the organisation to fix the problem, reserving large fines for serious or deliberate failures. The bigger day-to-day risks for a small business are lost customer trust, problems with partners who require compliance, and the cost of handling a complaint without records to show what you did.
The GDPR scan checks your pages for a privacy notice, cookie consent that works, tags firing before consent and third parties receiving visitor data, and lists what to fix first.
Open GDPR Fixes โ