How to publish a website

Publish early and badly rather than late and completely. The problems are all in the publishing.

The faults in publishing a site are all in publishing, and publishing is the step most people leave until the end.

Two orders of work, one publishing first and one publishing last.
Two orders of work, one publishing first and one publishing last.

Publish first

Register the domain. Put one page at it, even a holding page. Confirm it loads on a phone.

That takes an afternoon, and it exercises every part of the chain: the registrar, the record, the host, the certificate, the upload route.

Everything that goes wrong goes wrong now, while there is one file and no deadline. The alternative is discovering the same faults the night before launch with forty files and an announcement scheduled.

Order When faults appear
Publish first Day one, with one file
Publish last Launch night, with everything

What differs between local and live

Four things, reliably.

Absolute paths. A path starting with a slash resolves to the root of the domain. Locally that is your working folder, live it is somewhere else, and the page arrives unstyled.

Capitalisation. Your machine probably ignores it and the server will not. Images referenced with the wrong case vanish in a pattern that looks random.

Missing files. A font, a favicon, one image in a subfolder. Present locally, never uploaded, and the failure is silent.

Development conveniences. The tool you built in supplies things a plain server does not. Those absences only show up live.

None are visible before publishing. All are obvious within thirty seconds of publishing.

file:// on your own disk ✗ Only you can open it ✗ Path breaks when moved ✗ No preview card when shared ✗ Some browser features stay switched off https:// on a hosted page ✓ Anyone with the link opens it ✓ Address is stable ✓ Preview card in chat apps ✓ Full browser features
A page on your own machine against the same page served to others.

Keep it private if you want

Publishing early does not mean showing an unfinished site to the world.

Use a temporary address, or put a password on it, or leave a holding page at the domain while the real pages sit at a hidden address. Any of those keeps the route exercised without exposing work in progress.

The point is the route, not the audience.

The live address opened on a phone in a browser that has never visited it.
The live address opened on a phone in a browser that has never visited it.

The final check

Before announcing anything: open the live address on a phone, on mobile data, in a private browser window.

Private matters because your normal browser has cached files, remembered addresses and possibly a signed-in session. A fresh window sees what a stranger sees.

Click every link, including the footer. Check the page that people will land on from a search result, not just the homepage.

Then announce

Announcement last, after the live version has been checked on a real device.

The order is unglamorous and it is the difference between launching and firefighting.

If this is near what you are doing, How to host a website and How to turn an HTML file into a website cover the cases on either side.

Put it at an address

Register the domain before building, publish one page to it immediately, build against the live address, check on a phone in a fresh browser, and announce only after that.

Questions people ask

When should I publish?

As soon as one page exists. Publishing surfaces every path, capitalisation and domain problem while the site is small.

What order should the steps go in?

Register the domain, publish one page to it, then build the rest. Doing it last means finding faults at the deadline.

What breaks that did not break locally?

Absolute paths, filename capitalisation, files never uploaded, and anything the development server was supplying for free.

Should a half-finished site be visible?

It can be at a temporary address or behind a password. What matters is that the publishing route is exercised early.

What is the last check before announcing?

Open the live address on a phone, on mobile data, in a browser that has never visited it.

Keep reading