Fill in before sending
[site address][server name][site key, or "main site"][business name][industry][services][phone][address][service area][opening hours][email][where the real photos are]
My site [site address] is live on my Opus Growth hosting server. The server name is [server name], and if it is an extra site its key is [site key, or "main site"]. I want you to take this site to the highest standard by passing every page through measurable gates. First measure without changing anything, then fix the problems in order of priority, then measure again the same way. Do not call the job done until the criteria below are met.
Business details, with "none" where I do not know: [business name], [industry], [services], [phone], [address], [service area], [opening hours], [email], [where the real photos are].
1. Preparation. Read the guides with site_design_guide and site_seo_guide. List the files with site_list_files and the current version with site_versions, and note it as the restore point. List the published pages, leaving out the 404 page. Do not call scaffold_site, because it overwrites the existing index.html and assets folder.
2. Before measurement, changing nothing:
1. For every page, get the mobile and desktop performance score, LCP, CLS and TBT with core_web_vitals.
2. For the home page and [most important service page], use seo_audit to list the mobile accessibility, SEO and best practices failures element by element. This tool uses credits, so tell me how many calls you will make first.
3. With site_run_command, run `node seo-check.mjs`, `node design-check.mjs` and `npx --yes html-validate "**/*.html"` in the site root. If the kit tools are not in the root, use seo_technical_audit instead of these three and say so in the report.
4. Open every page with site_preview at 360, 390, 768 and 1440 pixels wide. Look for horizontal scrolling, overflowing headings, overlapping elements and tap targets smaller than 44 pixels.
5. Read the home page with site_read_url and text=true. Say whether a browser that does not run JavaScript sees the menu, the internal links, the phone number and the address. With the same tool, check that robots.txt, sitemap.xml and llms.txt return 200.
6. Tick this list for AI search: is robots.txt open to GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, Bingbot and CCBot; does sitemap.xml carry real lastmod dates; does llms.txt give a short, accurate summary of the site and its key pages; does every page carry JSON-LD tied into one @id graph (Organization, the right LocalBusiness subtype, WebSite, WebPage, BreadcrumbList on every page except the home page, FAQPage only where real questions are shown); does the service page answer the question directly in its first paragraph; is there a visible last updated date and business information.
Put all of this in a "before" table per page and device.
3. Fix plan. Order the findings like this, show file by file what will change and wait for my approval:
1. Access: broken internal links, addresses returning 404, wrong canonicals, robots.txt blocks, unintended noindex.
2. Content: unfilled placeholders, missing or duplicated titles and descriptions, more or less than one h1, bodies under 150 words. Never invent anything; do not write hours, coordinates, ratings, prices, reviews, awards or customer counts I did not give you, ask me instead.
3. Accessibility: contrast, skipped heading levels, images without alt text, tap targets under 44 pixels. The kit's default footer uses light grey column titles that fail contrast and are h4 elements that break the heading order; rewrite them as normal paragraphs in dark grey text.
4. Menu and footer: `<site-nav>` and `<site-footer>` are printed by JavaScript, so browsers that do not run it never see the menu or the contact details, and the page shifts when the menu loads. Write a small `chrome-stamp.mjs` script that prints them as static HTML on every page: it reads site.config.js the way seo-stamp.mjs does, rewrites the area between `<!-- chrome:nav:start -->` and `<!-- chrome:nav:end -->` (chrome:footer for the footer) on every run, builds the mobile menu with `<details>` and no JavaScript, sets aria-current on the current page, keeps every link at least 44 pixels tall and prints the name, address and phone in the footer. Keep managing the menu only in site.config.js.
5. HTML validity: `<!DOCTYPE html>` in capitals, no inline style attributes, a type on every input, ` ` instead of spaces in a visible phone number (html-validate reports this as tel-non-breaking), width and height on every image.
6. Schema and AEO files: fill the gaps from the AEO list above. Put page specific JSON-LD at the end of the body. Re-stamp the base graph with `node seo-stamp.mjs`. If an address has to change, 301 redirect the old one with site_redirects; never use a meta refresh.
7. Performance: replace the Tailwind Play CDN with compiled, minified CSS, host the fonts yourself, regenerate the images as WebP and AVIF with srcset, remove unused scripts and check the cache headers with site_headers. No request may leave the site's own origin, favicon included.
4. Apply after my approval. After every change rerun `node seo-stamp.mjs`, `node chrome-stamp.mjs` and the CSS build in that order. If anything breaks, go back to the version you noted with site_restore.
5. After measurement: repeat every measurement from step 2 on the same pages and devices. Use runs=2 for seo_audit, because lab results move from run to run. Criteria: on every page mobile performance of at least 95 and accessibility, best practices and SEO of 100; on desktop all four at least 95; seo-check 0 errors and 0 warnings; design-check 0 errors (explain every warning); html-validate 0 errors; no overflow at any of the four widths. Fix and measure again any page that misses a criterion.
6. After publishing: confirm with site_read_url that the live home page changed, submit sitemap.xml with gsc_submit_sitemap and show the home page's index status with gsc_url_inspect. My Search Console property is [Search Console property, or "none"].
Format the output like this: first a two sentence summary. Then a before and after table: page, device, performance, accessibility, best practices, SEO, LCP, CLS. Then a gate table: gate, before, after. Then the list of changed files and why each one changed. Finally, anything that could not be fixed or is waiting for information from me.