Foundation
Foundation covers 5 of the SEO for Solos checklist's implementation checks. The base layer every other check assumes. Get these wrong and nothing above them can work.
0 of 5
Saved in this browser
5 checks shown.
Foundation
The base layer every other check assumes. Get these wrong and nothing above them can work.
One constant holds the site origin, and nothing else hardcodes it3/S
Why it matters
A domain literal scattered across 40 files is why staging URLs leak into production canonicals and why a domain migration takes a week. One constant makes it a one-line change.
How to verify
grep -rn 'https://yourdomain' --include='*.ts' --include='*.tsx' . | grep -v node_modules | grep -v lib/brand.tsThen confirm the result is empty.
One canonical host, with a permanent redirect from the other4/S
Why it matters
Serving the same content on the apex and the www subdomain splits link equity and doubles the crawl budget spent on identical pages.
How to verify
curl -sI https://example.com | grep -i '^location'Then confirm a 301 to the canonical host. Then run the reverse and confirm it returns 200, not a redirect loop.
HTTPS everywhere, with HSTS and no mixed content3/S
Why it matters
A single http asset on an https page blocks the padlock and, in modern browsers, is blocked outright. HSTS removes the redirect hop on every repeat visit.
How to verify
curl -sI https://example.com | grep -i strict-transport-securityThen confirm a max-age of at least 31536000 with includeSubDomains.
One trailing-slash policy, enforced by redirect3/S
Why it matters
`/about` and `/about/` are different URLs to a crawler. Serving both with 200 creates a duplicate for every page on the site.
How to verify
curl -sI https://example.com/about/ | head -1Then confirm a 301 to the canonical form (or the reverse, consistently).
A missing page returns a real 404 status, not a 200 with an error message4/S
Why it matters
A soft 404 gets indexed. Google then treats an unknown share of your site as thin content, and the pages compete with the real ones.
How to verify
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/this-does-not-existThen confirm it prints 404.