Writing

The cheap half of SEO

I put analytics on this site this week. Then I asked the obvious next question. Can anyone find it?

The answer is yes, and also no, and the distance between those two answers is most of what people get wrong about search.

What a search engine actually needs

There is an entire industry built on making this sound complicated. Strip it away and the list is short. A crawler, the program a search engine sends to read pages, arrives and wants to know four things. What is this page called. What is it about. Which address is the real one. How does it connect to the rest of the site.

Every page here answers those. One title, one description, one main heading, one canonical address. That last one matters more than it sounds. This site answers at orfas.dev, at www.orfas.dev, over plain http, and with or without a slash at the end of a path. Four addresses for the same page. If all four served it, a search engine would treat them as four pages and split whatever credit the page earns four ways. So three of them redirect to the fourth. One page, one address.

A page that does not exist returns a proper 404 status, not a friendly page wearing a 200. Crawlers trust the status code, not the apology.

Then there is the part that makes a link look like something when you paste it into a chat. Open Graph tags, a card for the bird site and its descendants, an image generated for every page at build time. None of this is for search engines. It is for the person on the other end of the message deciding whether to click.

And structured data. Every page carries a small block that says, in a format machines read, that this site belongs to a person with this name and this job. Every article carries a second block saying it is an article, with a headline, a date, and an author. It costs nothing and it lets a search engine show a piece of writing as a piece of writing rather than as a URL.

Speed is a decision, not an optimisation

The site is plain HTML. The stylesheet is inlined into each page so there is no second request before anything paints. The three fonts are preloaded. There is no JavaScript framework, because nothing here needs one. A page is around 57 kilobytes including all its styling. The menu toggle is a dozen lines of script and that is the whole of the interactivity.

I did not optimise for speed. I declined to make it slow. Those are different activities and the second one is much cheaper.

Measurement that does not follow people home

Analytics means Plausible. One script, no cookies, no consent banner, no profile of you being assembled in a data centre somewhere. I can see which pages are read, where people came from, and whether anyone downloads the CV or leaves for one of the other projects. That is all I need to know, and it is all I think I am entitled to know.

Search Console tells me what Google sees, which queries bring people here, and which pages it has chosen to index. Bing imports the same view. Neither will say anything useful for a couple of weeks. That is fine. The site is new to them.

One page is deliberately kept out. The design system page, where every component sits in isolation so I can check it, is useful to me and meaningless in a search result. It is marked so crawlers skip it and it is left out of the sitemap.

The honest half

All of the above took an afternoon. It is the cheap half of search, it is done, and nothing technical on this site will hold it back.

Here is the expensive half. Before this post, the site had one article, two case studies, and about three thousand words in total. Search for my name and you will find it. Search for the things I actually do, coaching teams in extreme programming, training developers to write the test before the code, building software that ships, and you will not. No amount of tags or schema changes that.

Ranking for a subject is not a property of a site. It is a property of a body of work that other people link to. In systems terms, the technical setup is a stock. You fill it once and it stays full. Writing is a flow. It accumulates slowly, it compounds, and every shortcut eventually gets found out.

So the plan is boring. Write about the work, one piece at a time, in plain words, about things I have done rather than things I have read. Put case studies up as they ship and not before. Let the places I already work link back here because there is something here worth linking to.

Discoverable, yes. Built properly, yes. Found for what I do, not yet. Only writing changes that, which is why this is the second post and not the last.

All Writing