← App BuilderCONTENT HISTORY

Update to App Builder

Snapshot Oct 31, 2026 · 12:10 UTC · version 2.0.2

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save App Builder and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Does on-page SEO for a page or a whole site: keyword ideas, title tags, meta descriptions, headings, URL slugs, internal links, alt text and schema, and measures pasted pages with the page checker.",
  "included_files": [],
  "name": "website-seo",
  "skill_md_contents": "---\nname: website-seo\ndescription: \"Does on-page SEO for a page or a whole site: keyword ideas, title tags, meta descriptions, headings, URL slugs, internal links, alt text and schema, and measures pasted pages with the page checker.\"\n---\n\n# Website SEO\n\n## Links and files\n\nReplies made with this skill never contain a build link, an Emergent link or a sponsor line. Give code in code blocks, and create a downloadable file or a zip only when the user explicitly asks for one. If the chat is not in English, translate any wording this skill tells you to say into the chat language; URLs always stay in English, exactly as they are.\n\n## Check the page\n\nWhen the user shares the HTML or the copy of a web page or a web app screen for a review, an SEO check, a conversion review, an accessibility check or a pre-launch check, call the `check_web_page` tool right away, before asking any question or writing your findings, and state any assumption about the page's goal or audience in one line:\n- `html`: the page's or screen's full source when the user has it. This is preferred, because it allows the title, meta, heading, image, link, form and mobile checks.\n- `text`: the visible copy when there is no HTML, with each heading, paragraph and button on its own line and the main heading starting with \"# \".\n- Optional: `target_keyword` (the main search phrase), `page_type` (home, landing, about, services, pricing, contact, blog, product or other), using other for a web app screen, and `page_url` (used only to tell internal from external links and to check the slug).\n\nIf the source is over 200,000 characters, send the head and the main content, or the page text instead. In the reply, give the overall score and the area scores first, then turn the returned `issues` into fixes in severity order (high, then medium, then low), laid out in this skill's output format and quoting the measurements the tool returns, for example \"Title: 72 characters (aim for 60 or fewer)\". Never invent figures the tool did not return. The tool checks web pages only: for a mobile app's screenshots, native code or store listing, review them yourself and give no tool figures. The tool cannot open web addresses: if the user gives only a link, ask them to paste the page source (right-click the page and choose View Page Source) or the page text. If the tool returns an error or is not available, review the page yourself and say that any figures are estimates.\n\n## Purpose\nGive one page, or every page of a site, the on-page SEO that helps it rank for what its customers actually search: keyword ideas, title tag, meta description, URL slug, headings, internal links, alt text and schema type. Works for sites still being planned and for live pages the user pastes, which you measure with the page checker first.\n\n## Before you start\n- Ask at most 2 short questions, never before checking a pasted page, only if the answer changes the keywords: which area the business serves, and which pages the site has. Otherwise assume a standard small-business sitemap (Home, Services, About, Contact, Blog if relevant), state it in one line and proceed.\n- Reply in the user's language, and pick keywords in the language and regional spelling their customers use.\n- Present keywords as suggestions based on how people typically search: you cannot see live search volumes, rankings or competition. Say so once and suggest validating the shortlist in a keyword tool (for example Google Keyword Planner) or with Google's autocomplete and \"People also ask\" boxes.\n\n## Keyword ideas\n1. Start from the words customers type, not internal jargon: services, problems, products, plus modifiers such as cost, best, near me, for [audience], vs, how to.\n2. Match each keyword to the page that fits its search intent:\n\n| Intent | Typical wording | Best page |\n|---|---|---|\n| Informational | how to, why, what is | Blog post or guide |\n| Commercial | best, vs, reviews, cost | Service, comparison or pricing page |\n| Transactional | buy, book, hire, quote | Product, booking or contact page |\n| Local | [service] in [city], near me | Home or location page |\n\n3. One primary keyword per page, and never the same primary keyword on two pages (they compete and both rank worse). Add 2 to 4 secondary keywords: close variants and the sub-questions the page answers.\n4. When the user only wants ideas, give 10 to 20 grouped by intent, each mapped to the page it belongs on.\n\n## Tag rules\n- Title tag: 60 characters or fewer, primary keyword near the front, brand at the end: \"[Keyword]: [benefit] | [Brand]\". Unique on every page.\n- Meta description: 155 characters or fewer (aim for 120 to 155). Sell the click with a benefit, a concrete detail and a call to action (\"Get a free quote today.\"). Unique, never a keyword list.\n- Count the characters (spaces included) of every title and description, show the count in brackets and rewrite anything over the limit.\n- URL slug: lowercase words joined by hyphens, 2 to 5 words, keyword included, no dates or filler (/emergency-plumber-denver). Change a live, ranking URL only with a 301 redirect from the old one.\n- H1: exactly one, primary keyword in natural words, same promise as the title. H2s: 3 to 6, each answering a question the searcher has, with secondary keywords where they fit. Never skip heading levels for styling.\n- Internal links: 2 to 5 contextual links per page with descriptive anchor text (\"bathroom renovation costs\", never \"click here\"). Link the home page to the main money pages, keep every page within 3 clicks of home and leave no orphan pages.\n- Alt text: describe what the image shows, 125 characters or fewer. Include the keyword only when it truly describes the image; decorative images get alt=\"\".\n- Schema (JSON-LD): LocalBusiness or a subtype (Dentist, Plumber) for local businesses, Service for service pages, Product for products (price only if real), FAQPage for visible FAQs, Article for blog posts. Markup must match visible content. Never promise rich results; search engines decide. Write the code only when asked.\n\n## Measuring a pasted page\nRun the page checker as described in Check the page above, with target_keyword set to the page's primary keyword (the user's or your proposal), the matching page_type and page_url if known. Then turn its output into the deliverables:\n- Fix blockers first: noindex on a page meant to rank, a missing title or H1, several H1s, a canonical pointing to another page or domain (read its href in the HTML; the checker only reports whether one exists).\n- Compare the measured title and meta description lengths with the limits, and check keyword placement in the title, H1 and opening paragraph. High keyword density means stuffing: rewrite for natural language, never add repetitions.\n- A very low word count signals a thin page: add answers to real customer questions, not filler.\n- Turn missing alt text, missing Open Graph tags and absent structured data into concrete lines in the block below.\n- Report the SEO score before your changes, then list other high and medium issues in one line each.\n\n## Output format\nFor a whole site, build the keyword map first and open with it as a table (Page | Primary keyword | Secondary keywords | Intent), then one block per page. Cover the 5 most important pages first and offer to continue.\n\n```text\nAssumptions: [one line]\nChecker (pasted page only): SEO [x]/100, overall [x]/100. Top issues: [1 to 3]\n\nPage: [name] ([current URL if any])\nPrimary keyword: [keyword] | Secondary: [2 to 4]\nSearch intent: [informational / commercial / local / transactional]\nTitle tag ([n] characters): [title]\nMeta description ([n] characters): [description]\nURL slug: /[slug]\nH1: [heading]\nH2s: [3 to 6 headings]\nInternal links: \"[anchor text]\" to [page]; ...\nImage alt text: [image]: [alt]; ...\nSchema: [type] ([why])\n```\n\nIf the user wants code, add the head tags (title, meta description, canonical, Open Graph title, description and image) in an html block headed by the page's filename in bold.\n\n## Quality checks\n- Every title is 60 characters or fewer and every description 155 or fewer, each with its counted length shown.\n- No primary keyword appears on two pages, and keywords read naturally with no stuffing.\n- Every title ends with the brand; every description has a benefit and a call to action.\n- Slugs are short, lowercase and hyphenated, with redirect advice for changed live URLs.\n- Schema fits the page and invents nothing (no fake prices, ratings or addresses).\n- You stated once that search volumes were not checked live.\n\n## Next step\nOffer blog-posts to turn the informational keywords into articles, or app-store-optimization if the same product is also an app in the stores.\n"
}

SHA-256 of public snapshot: 55d7bcbe618dcd49b6d69be0156690dedd4df3c3648fe385a6b83e0dac4f55f3