I searched Google for the service I sell, in my city, and did not show up. The complete method I used to fix it, step by step, with the scripts.

Free, in exchange for knowing who you are
You get the whole thing at no cost. I only ask for your email so I can write later and ask how it went: if something did not work for you, I want to know. No spam.
One confirmation email and that is it. You can leave whenever you want.
An audit gave my own site 75 out of 100. Worse: I searched Google for the exact service I sell, in my own city, and I did not show up. Not on the first page, not on the third.
I fixed every item, wrote down what worked and what cost me time, and packaged it into this skill. These are the final numbers, measured in production on the same site you are reading:
Open PageSpeed Insights, type chiragx.com, and check it yourself. I am not asking you to take my word for it.
This is a Claude Code skill. Unzip the folder inside your skills directory:
~/.claude/skills/web-playbook-100/
On Windows that is C:\Users\YOUR-USER\.claude\skills\. It activates on its own when you ask to audit or improve a site's SEO.
Not using Claude Code? It still works. Everything is Markdown and the scripts run on their own from the terminal. Open SKILL.md and read it as the manual it is.
Almost everyone skips this step, which is why they end up fixing the wrong thing. Before touching a line:
Save all four results in a file. At the end you measure the same four again, and that is how you know whether any of it worked.
The scripts/audit.sh script does the technical half for you: status codes, redirects, canonicals, hreflang and metadata across every URL in one pass.
This moved the needle more than anything else, and none of it is technical.
If you sell five services and they live as five paragraphs inside your home page, Google has one page to rank for five different searches. It will lose all five. Each service needs its own URL, its own title, its own description and real content of its own.
In my case I went from a home page with a services section to twelve pages (six services in two languages), each with:
Service and FAQPage.The skill covers this in references/arquitectura.md, including how to decide what deserves its own page. Short rule: if someone could search for it by name, it deserves a page.
This is where most sites lose points to invisible things. The order that works:
Person or Organization), what you sell (Service), your questions (FAQPage) and the navigation path (BreadcrumbList). Validate every page in the Rich Results Test.lastmod. A hand-written sitemap goes stale in two weeks.Once that is in place, verify the site in Google Search Console, submit the sitemap and request indexing for the new pages. Also register on Bing Webmaster Tools: it takes half an hour and it feeds a good share of what AI search engines answer with.
Search Console has a learning curve, and some decisions depend on how your site is built. I am listing it as a step because explaining it properly is a conversation, not a paragraph. Write me and we go through your case.
This is the area with the most myth per square meter. What actually worked, in order of impact:
Google Fonts costs you a connection to another domain before a single letter can paint. Download them and serve them yourself. Two warnings that cost me time:
font-display: optional on your body font. With swap the text repaints, and that is where a good chunk of your layout shift is born.scripts/selfhost-fonts.js handles the download and the deduplication for you.
<picture>, keeping the original as a fallback. My home page went from 1,013 KB to 533 KB with no visible difference.img{max-width:100%} rule, it must include height:auto. Without it your images get squashed. This bug lived on my site for weeks and I only caught it in a screen recording.Getting to zero is about reserving space: dimensions on images, heights on anything that loads late, and nothing that moves when the font arrives. scripts/browser-audit.js measures shift, largest paint and real contrast in an actual browser, which is different from what a lab reports.
Almost nobody does this, and it is what separates "one more website" from "the reference on this topic in your country".
Google does not only index pages, it maintains a graph of entities: people, companies, places and how they relate. If you are not an entity to Google, you compete on words alone. If you are, you compete on being who you are.
The steps, in order:
Person or Organization on your site with a stable @id, and reference that same @id from every page.sameAs to your real profiles: LinkedIn, GitHub, YouTube, X, your company listing.Wikidata has notability rules and your entry can be deleted if you do it wrong, so do not take it lightly. It is covered in references/entidad.md, but if you are doing this for your business, talk to me first and I will tell you whether you qualify and how to approach it.
A site at 100 that publishes nothing drifts back down. You need two things.
Somewhere to publish without touching code. I built my own CMS on Cloudflare because I wanted control over the HTML that comes out, but anything works as long as you actually publish. What matters is that posting an article takes fifteen minutes, not an afternoon: if it is painful, you will not do it. The setup is in references/stack.md and references/cms-y-contenido.md.
Knowing where people come from. Measure first touch, not last: if someone found you through Google in March and messaged you on WhatsApp in May, that was Google, not WhatsApp. Store the source in the browser on the first visit and send it with the form. Without this you are guessing which channel brings you clients.
The skill documents eighteen real mistakes in references/errores.md, each with what it cost. These four are the ones I see most:

Go back to the four numbers from step 1 and compare. You are there when:
If three out of four land and one does not, that one is usually step 5. It is the slowest and the one that pays the most.
Free, in exchange for knowing who you are
You get the whole thing at no cost. I only ask for your email so I can write later and ask how it went: if something did not work for you, I want to know. No spam.
One confirmation email and that is it. You can leave whenever you want.
Stuck on a step?
The resource takes you from zero to a hundred on its own, but some steps land better in a conversation. If you got that far and something is off, send me your site and I will tell you what is going on.
Book a call →