Technical SEO decides whether search engines can find a page, understand it and send people to something that loads well. Content and links matter a lot, but they can't help a page that isn't indexed or that takes five seconds to show anything.
Here is the checklist we apply to every site we ship, from a one-page portfolio like Simply Andy to a bilingual studio site like this one.
Start with crawling and indexing
Before anything else, make sure the right pages can be crawled and the wrong ones can't. A robots.txt that points to your sitemap, a sitemap that lists only pages you want indexed, and a canonical URL on every page cover most of it.
Thin or unfinished pages are better kept out of the index. While this site's blog only had sample posts, those pages carried a noindex tag and stayed out of the sitemap. Once the articles were written, we removed the tag.
Core Web Vitals in numbers
Google measures three metrics on real visits and reports the 75th percentile, so a slow minority of visits still counts. A page is in the good range when Largest Contentful Paint is 2.5 seconds or less, Interaction to Next Paint is 200 milliseconds or less and Cumulative Layout Shift is 0.1 or less. INP replaced First Input Delay as a Core Web Vital in March 2024.
What usually slows a page down
Most slow pages we audit have the same few problems. The largest image above the fold is several megabytes. Fonts load late and the text jumps when they arrive. Images have no width and height, so the layout shifts as they appear. Scripts that nobody uses anymore still load on every page.
The fixes are unglamorous: modern image formats like WebP at the size they're shown, width and height on every image, preconnected fonts, and removing scripts before adding new ones.
Structured data and hreflang
Search engines and AI assistants both read structured data. We add Schema.org JSON-LD for the organization, services, FAQs, articles and breadcrumbs. On bilingual sites, each page also declares its other language with hreflang, and the sitemap lists both versions, so the English and Spanish pages point to each other instead of competing.
Write so answer engines can quote you
Answer engines like ChatGPT and Perplexity quote short passages. A section that answers its question in the first two sentences is easier to quote, so we write the answer first and the detail after it. Clear headings help for the same reason: they tell a reader, human or not, what each part covers.
A short checklist
- robots.txt points to a sitemap that only lists indexable pages.
- Every page has a unique title under 60 characters and a description under 155.
- Canonical URLs on every page, and hreflang on multilingual sites.
- Images in WebP or AVIF, with width and height set.
- LCP under 2.5 s, INP under 200 ms and CLS under 0.1 on mobile.
- JSON-LD for the organization and for each page type.
