Fix the wrong site, an empty page or a placeholder after a DNS change

llms.txt

You pointed a domain at your server, and the browser shows something unexpected: an old site, a page that says the site was created, or nothing at all. These are three different problems, and each has a short check that tells them apart.

A request travels through four links: your DNS record sends the visitor to an IP address, the server on that address accepts it, Nginx picks the site by the domain name in the request, and the site serves its files. This article follows the chain from the outside in, and tells you which symptom belongs to which link.

Before you begin

  • The exact address you type, with or without www, and whether it is http:// or https://. Many "wrong content" reports are about one form only.
  • A terminal on your own computer for two small checks (dig and curl). Both are standard tools on macOS and Linux; on Windows use WSL or an online DNS lookup.
  • The site open in SrvYard, on its Domains tab. See Add a domain, a free subdomain and DNS records for the full picture.
Note

Reading the symptom first saves time. A page that says SrvYard: site created means the request arrived and the site has not been deployed. A browser error such as "the connection was closed" or an empty reply means Nginx did not recognise the name. Someone else's old content means DNS still points at another machine.

1. Tell the three symptoms apart

What you see Link in the chain Go to
A page that says SrvYard: site created and "Deploy your code to publish this site." The site is reached, but nothing has been deployed. Step 2
The old site, an old host's page, or a different site DNS (or a cache) still sends visitors to another place. Step 3
An empty reply, "connection closed" or "ERR_EMPTY_RESPONSE", or a certificate error for another name The server got the request but no site on it answers to that domain. Step 4

2. The "site created" placeholder

When SrvYard creates a site, it puts a small placeholder page in the web folder so you can see that the domain works. It reads SrvYard: site created with the line "Deploy your code to publish this site." The page disappears the first time your code is deployed.

Open the site's Overview.

The overview of a site that was never deployed
Last deployed: Never means visitors still see the placeholder page.
  1. Visit site. Opens the site in a new tab, to compare with what visitors see.
  2. Last deployed. Never means no deployment has run. Any other value means code was deployed at that time.
  3. Domains. The hostnames the site answers on, each with its DNS status. Points here means the domain's record leads to this server.

If Last deployed says Never, open Deployments and press Deploy now. If a repository is not connected, see Connect a repository and pick a branch. If deployments ran but the page is still the placeholder, the web directory in the site settings may point at the wrong folder: the placeholder is index.html inside the web directory, and a Laravel site serves public.

Tip

If you do not see the placeholder after a deploy but a 403 or 404, the web directory is empty or wrong. Compare the Web directory value on the overview with where your index.php or index.html really lives.

3. The old site still shows

If a visitor sees the previous host, DNS has not moved yet, or something is caching the old answer. Check from your terminal what the name resolves to:

dig +short acme-shop.example A
dig +short www.acme-shop.example A
dig +short acme-shop.example AAAA

Compare the result with the DNS records card of the site.

The Domains tab with the DNS status and the DNS records card
Every hostname the site answers on, its www behaviour and whether DNS points here.
  1. Domain. Every hostname the site answers on. The primary domain decides the certificate and the www behaviour.
  2. www. What happens to the www form: No redirect, Bare domain to www or www to bare domain.
  3. DNS. Points here when the record matches this server. Otherwise the column says what the name resolves to instead.
  4. Add domain. For a hostname that is missing (step 4).

Under the table, DNS records lists the records to create: the type (A), the name and the value, the address of this server. If you use IPv6, remember that a stray AAAA record can still send some visitors elsewhere, so remove an AAAA that does not point at this server.

After you change a record, open the actions menu of the domain.

The actions menu of a domain
Verify DNS re-checks a single domain after you change its record.
  1. Actions. The three dots at the end of the row.
  2. Verify DNS. Checks that domain again right now, so you do not have to wait for the page to refresh. The menu also has Edit (the www behaviour), Make primary and Remove.
  3. Make primary. The primary domain decides the certificate and the www behaviour, so pick the name you want visitors to land on.

Three things keep the old answer alive after the records are right:

  • The time-to-live of the old record. DNS resolvers keep an answer for as long as the previous record allowed, from minutes to a day. A lower value set in advance shortens the wait next time.
  • Caches on your side. The browser, your operating system and sometimes your router cache lookups. Try a private window or another network, such as your phone on mobile data.
  • A hosts file or a proxy. An entry in /etc/hosts overrides DNS on that one computer, and a CDN in front of the domain can keep serving its cached copy until you purge it.

To test a server before DNS moves, ask for the site directly. The --resolve option tells curl which address to use, without changing DNS:

curl -I --resolve acme-shop.example:80:203.0.113.10 http://acme-shop.example/

Use your own server's address instead of the documentation address 203.0.113.10. If this shows the right site, the server side is fine and only DNS (or caches) remains.

4. An empty reply or "connection closed"

SrvYard configures each server so that only the domains you added answer. A request for any other name is closed without a response, so a stray name never shows another customer's site. That also means a missing or mistyped domain gives an empty reply instead of a friendly page.

Common reasons the name is not recognised:

  • The domain was never added to the site, or added with a typo.
  • You added acme-shop.example but visit www.acme-shop.example, which is a different name unless the www choice covers it.
  • The domain is added to a site on another server, while DNS points at this one.

Add the missing name from the Domains tab.

The Add a domain panel
A domain that is not added here gets no answer from the server.
  1. Domain name. The exact hostname, for example shop.acme-studio.example. The panel says the domain is served as soon as Nginx accepts the configuration, and DNS can follow.
  2. www. No redirect, Bare domain to www or www to bare domain. Pick the one you want visitors to land on.
  3. Wildcard subdomains. Also answer on every subdomain of this domain. Wildcard names need a wildcard certificate with DNS validation if you want HTTPS for them.
Important

A new name is not on the existing certificate. When a certificate is installed, reissue it after adding a domain so the new name is covered. Until then browsers warn about a certificate for another name. See Get a free Let's Encrypt certificate.

Troubleshooting

  • HTTP shows the right site, HTTPS shows another or errors. The certificate does not cover the name, or the site has no certificate and the request falls to another site's. Check the SSL tab. See Find out why a certificate failed and issue it again.
  • Two sites seem to swap content. Both sites list the same domain, or one is the www form of the other. Open the Domains tab of each and remove the name from the wrong one.
  • The domain works from my phone but not my laptop. A DNS or hosts-file cache on the laptop. Flush the DNS cache of your operating system, or remove the entry from the hosts file.
  • I moved the site to another server. The domain has to point at the new server's address, and the domain must be on the site there. Both servers answer for the name only if both have it configured.
  • A subdomain shows the main site. The subdomain is not added, so a wildcard or the catch-all answered. Add it as a domain of the right site.
  • The page is the SrvYard placeholder even after deploying. The deployment may have failed. See Find out why a deployment failed and fix it.
Last updated 2026-10-248 min readNeed help? Contact support