Someone sends you a link to your own site and asks what you think. You scroll. The colours are fine, the photos are fine, the text is fine, and none of that tells you what makes a good website, or whether the site you paid for is one.
What makes a good website
A good website is one a stranger can use to get what they came for, and one you can keep running without asking permission. That means pages that load and answer the question they were opened with, a way to get in touch that actually delivers the message, and ownership of the domain, the hosting and the data in your own name.
Whose name it is all in. The domain, the hosting account, the analytics, any paid service attached to the site. This sounds like paperwork until the day you need to move the site and discover the domain is registered to a developer you no longer work with.
The rest of this article splits that into what you can see for yourself in ten minutes, and what you have to ask someone for. Both halves matter, and most owners only ever check the first.

Why can’t a list like that tell you whether your site is good?
Because a list of features describes what a site has, not what it does for the person reading it. Two sites can carry the same plugins, the same page count and the same stock photography, and only one of them answers the question a visitor arrived with.

Founder
When a project like that comes to us for support, I usually do not start by fixing individual problems. I start by working out what the client actually owns, where everything is, what gets updated and backed up, which dependencies are critical, and how safe it is to change anything at all.
Dmitryfounder and web developer, IntegroFlow
That order matters. Fixing a slow page on a site nobody can move is work you pay for twice, and what this costs to hand over is set out on our pricing page.
What makes a good web page: ten minutes with your own site
Open Search Console and your own site on your own phone, and you can answer most of the visible half yourself. Work through these five in order and write down what you find.
- In Search Console, open Performance, set the range to the last three months, and note impressions and clicks.
- Filter out every query containing your business name, and note what is left.
- Open the Pages report and note how many URLs are indexed and how many are not.
- Search
site:yourdomain.complus a phrase you sell, thensite:yourdomain.comon its own. - Write down today’s average position for the five pages that matter commercially.
Three answers to collect before you look at scope: who is named, when a backup was last restored, and whose name the domain and hosting are in. A proposal that survives those three is worth reading properly.
What can’t you check yourself, and what should you ask for?
Anything that lives below the interface: how the site was installed, what the server is allowed to write to, and which credentials exist in whose name. You do not need to understand it, but you do need it written down, and the wording below is what to send.
What to ask for
- Ask
- Ask your host’s support or your developer to install WordPress manually: create the database and the database user, set a distinctive table prefix, upload the files to the right directory, generate fresh security keys in wp-config.php, and set file ownership to your hosting account rather than the web server user.
- Caveat
- We cannot see your configuration. Directory layouts and permission models differ between providers, and parts of this may already be handled or may not apply to your plan at all.
- Check
- Your domain opens, /wp-admin accepts the credentials they send you, and those credentials are in your name.
The same split runs through the SEO side of the site. Some of it is settled by whoever installed the plugin, and some of it is not theirs to settle.
Under the plugin’s control:
- the title and meta description in the search result
- the XML sitemap
noindexon pages you want out of the index- the canonical tag, which names the original version of a page
- schema markup and breadcrumbs
Outside it:
- which page you wrote for which question
- internal links naming the page that should win
- hosting speed and how heavy the theme is
- whether the text answers what was searched for
- anything that needs server access
Which of these stay good on their own, and which decay
Almost nothing stays good on its own. Text and structure hold their value for years; everything that depends on software, browsers or third-party services drifts within months of being left alone.
| Group | What it covers | Why it comes back every month |
|---|---|---|
| Working order | Page speed and Core Web Vitals, Google’s measures of loading and stability; broken links; testing forms and checkout; how the site renders on current phones | Pages get heavier and dependencies drift with every change |
| Safety | Core, theme and plugin updates, off-site backups, a restore actually tested once | An unpatched plugin is the most common way a small site is lost |
| Content | Prices, staff, opening hours, anything with a year in it | Wrong details cost enquiries long before they cost rankings |
From forty site handovers and audits
The recurring problem was not a missing plugin setting. Several pages were competing for the same search intent, with no clear primary page established by the site’s internal links.
What to check before you accept a new site
Ask the three ownership questions before the site goes live, while the other side still has work outstanding. After launch they become favours.
- What do you own, and is it in your name? Domain, hosting, analytics, anything with a subscription.
- What updates, on whose schedule, and who checks the site afterwards?
- What would break the site if it disappeared tomorrow? A plugin nobody maintains counts.
“A quotation from an outside source sits here, at roughly the length of the founder quote above — forty to fifty words — and ends on the sentence the section is actually leaning on. Unlike the founder quote it always names where it came from, and the name is a link.”
Source name, publication, 2026 View source