Skills/Page systemv2.1.0

Build page templates that crawlers and assistants read well

Builds a site’s page templates and shared components so crawlers and assistants read every page well, and proves each pattern with clickd. About structure and spacing, not color, type or brand.

Add it, from the top of the site’s repositorynpx skills add subinternal/clickd --skill clickd-page-system
Then ask your agentRework our page templates so every page has one h1, the right structured data and a breadcrumb, then check them with clickd.

For someone building a site’s templates, or rebuilding themCheck one page’s headings

A page, as the parts it is built from

It works on the templates, not page by page: one frame shared by every page, one outline, the structured data for its kind, and the parts that carry weight. The look stays yours.

A service page, as the skill builds it

Point at a part to find it on the page.

Sample
  • The frame, built oncetitle, description, canonical, share-image, content-in-htmlStep 2
  • A breadcrumb below homebreadcrumb, within-three-clicksStep 5
  • One outlineone-h1, question-headings, answer-firstStep 3
  • Data for its kindstructured-data, schema-fitsStep 4
  • Parts that carry weighthas-table, image-alt, dated, sources-shownStep 6
  • Linked into hubslinked-in-context, no-orphans, direct-linksStep 5
  • A way to get in touchphone-link, next-step, llms-txtStep 2

First, name each kind of page

clickd gives each kind its own rules, so a page filed under the wrong kind is checked against too few. Where the address cannot change, the structured data says the kind.

  • HomeThe site's front pageOrganization, WebSite
  • Service or productOne offer: a service, a product, a location servedService, BreadcrumbList
  • ArticleA guide, a post, a how-toArticle, BreadcrumbList
  • HubA list of pages of one kind, such as /servicesCollectionPage
  • Plain pageAbout, contact, pricing, policies, authorsWebPage

Then prove each pattern on a live page

Over MCP after the deploy, or one page at a time with the free checks. A rule that still fails usually points at a template step 1 missed.

38clickd rules its patterns answer
8patterns, each with a free check
12spacing traits measured by its script, at 1440 and 375 wide
  • The frametitle, description, canonical, indexable, share-image, content-in-html, one-addressOG image checker
  • One outlineone-h1, question-headings, answer-first, answers-the-question, liftable-blocks, has-tableH1 checker
  • Structured datastructured-data, schema-fits, breadcrumb, faq-matches-page, ratings-are-realSchema checker
  • Links and hubswithin-three-clicks, linked-in-context, no-orphans, direct-links, loads, sitemapRedirect checker
  • Distinct pagesdepth, pages-are-distinctAgent View
  • Parts that carry weighthas-image, image-alt, dated, named-publisher, sources-shown, plain-claims, claims-supported, phone-link, next-stepThe site’s report
  • Speedcompressed, quick-to-answerSpeed test
  • llms.txtllms-txtAI crawler checker

When to reach for it

Reach for it when

  • You are building a new site, or a new kind of page, and want it right from the first template.
  • clickd’s findings point at many pages made from one template.
  • You are reworking a layout, a component library or a design system and want its HTML sound.

Leave it when

  • You want a new look. This changes what is under the page and puts its spacing on one scale, never its color, type or brand.
  • The job is product data on a shop: the shop ready skill covers it field by field.
  • You want copy written. The patterns say where the answer goes; the words come from the site.

Install it by hand

The line at the top adds it for any agent. Or fetch its 12 files where your agent looks. Your agent also needs clickd connected over MCP: connecting an agent shows how.

Loads skills from .claude/skills/ in the repository, for everyone who works in it, or ~/.claude/skills/ for every project on your machine. Claude uses it when a request matches its description, or type /clickd-page-system.

Terminal, for Claude Code
mkdir -p .claude/skills/clickd-page-system/references .claude/skills/clickd-page-system/scripts
curl -fsSL https://clickd.com/skills/page-system/SKILL.md -o .claude/skills/clickd-page-system/SKILL.md
curl -fsSL https://clickd.com/skills/page-system/references/page-kinds.md -o .claude/skills/clickd-page-system/references/page-kinds.md
curl -fsSL https://clickd.com/skills/page-system/references/structured-data.md -o .claude/skills/clickd-page-system/references/structured-data.md
curl -fsSL https://clickd.com/skills/page-system/references/components.md -o .claude/skills/clickd-page-system/references/components.md
curl -fsSL https://clickd.com/skills/page-system/references/outline-and-accessibility.md -o .claude/skills/clickd-page-system/references/outline-and-accessibility.md
curl -fsSL https://clickd.com/skills/page-system/references/links-and-hubs.md -o .claude/skills/clickd-page-system/references/links-and-hubs.md
curl -fsSL https://clickd.com/skills/page-system/references/images-and-speed.md -o .claude/skills/clickd-page-system/references/images-and-speed.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing.md -o .claude/skills/clickd-page-system/references/spacing.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing-traits.md -o .claude/skills/clickd-page-system/references/spacing-traits.md
curl -fsSL https://clickd.com/skills/page-system/scripts/measure.mjs -o .claude/skills/clickd-page-system/scripts/measure.mjs
curl -fsSL https://clickd.com/skills/page-system/references/migration.md -o .claude/skills/clickd-page-system/references/migration.md
curl -fsSL https://clickd.com/skills/page-system/references/troubleshooting.md -o .claude/skills/clickd-page-system/references/troubleshooting.md
PowerShell, for Claude Code
New-Item -ItemType Directory -Force .claude\skills\clickd-page-system\references | Out-Null
New-Item -ItemType Directory -Force .claude\skills\clickd-page-system\scripts | Out-Null
Invoke-WebRequest https://clickd.com/skills/page-system/SKILL.md -OutFile .claude\skills\clickd-page-system\SKILL.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/page-kinds.md -OutFile .claude\skills\clickd-page-system\references\page-kinds.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/structured-data.md -OutFile .claude\skills\clickd-page-system\references\structured-data.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/components.md -OutFile .claude\skills\clickd-page-system\references\components.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/outline-and-accessibility.md -OutFile .claude\skills\clickd-page-system\references\outline-and-accessibility.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/links-and-hubs.md -OutFile .claude\skills\clickd-page-system\references\links-and-hubs.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/images-and-speed.md -OutFile .claude\skills\clickd-page-system\references\images-and-speed.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing.md -OutFile .claude\skills\clickd-page-system\references\spacing.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing-traits.md -OutFile .claude\skills\clickd-page-system\references\spacing-traits.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/scripts/measure.mjs -OutFile .claude\skills\clickd-page-system\scripts\measure.mjs -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/migration.md -OutFile .claude\skills\clickd-page-system\references\migration.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/troubleshooting.md -OutFile .claude\skills\clickd-page-system\references\troubleshooting.md -UseBasicParsing

Puts the files in .claude/skills/clickd-page-system/.

Loads skills from .agents/skills/ in the repository and its parent folders, or ~/.agents/skills/ for every project. Codex uses it when a task matches its description, or mention it as $clickd-page-system; /skills lists them.

Terminal, for Codex
mkdir -p .agents/skills/clickd-page-system/references .agents/skills/clickd-page-system/scripts
curl -fsSL https://clickd.com/skills/page-system/SKILL.md -o .agents/skills/clickd-page-system/SKILL.md
curl -fsSL https://clickd.com/skills/page-system/references/page-kinds.md -o .agents/skills/clickd-page-system/references/page-kinds.md
curl -fsSL https://clickd.com/skills/page-system/references/structured-data.md -o .agents/skills/clickd-page-system/references/structured-data.md
curl -fsSL https://clickd.com/skills/page-system/references/components.md -o .agents/skills/clickd-page-system/references/components.md
curl -fsSL https://clickd.com/skills/page-system/references/outline-and-accessibility.md -o .agents/skills/clickd-page-system/references/outline-and-accessibility.md
curl -fsSL https://clickd.com/skills/page-system/references/links-and-hubs.md -o .agents/skills/clickd-page-system/references/links-and-hubs.md
curl -fsSL https://clickd.com/skills/page-system/references/images-and-speed.md -o .agents/skills/clickd-page-system/references/images-and-speed.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing.md -o .agents/skills/clickd-page-system/references/spacing.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing-traits.md -o .agents/skills/clickd-page-system/references/spacing-traits.md
curl -fsSL https://clickd.com/skills/page-system/scripts/measure.mjs -o .agents/skills/clickd-page-system/scripts/measure.mjs
curl -fsSL https://clickd.com/skills/page-system/references/migration.md -o .agents/skills/clickd-page-system/references/migration.md
curl -fsSL https://clickd.com/skills/page-system/references/troubleshooting.md -o .agents/skills/clickd-page-system/references/troubleshooting.md
PowerShell, for Codex
New-Item -ItemType Directory -Force .agents\skills\clickd-page-system\references | Out-Null
New-Item -ItemType Directory -Force .agents\skills\clickd-page-system\scripts | Out-Null
Invoke-WebRequest https://clickd.com/skills/page-system/SKILL.md -OutFile .agents\skills\clickd-page-system\SKILL.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/page-kinds.md -OutFile .agents\skills\clickd-page-system\references\page-kinds.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/structured-data.md -OutFile .agents\skills\clickd-page-system\references\structured-data.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/components.md -OutFile .agents\skills\clickd-page-system\references\components.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/outline-and-accessibility.md -OutFile .agents\skills\clickd-page-system\references\outline-and-accessibility.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/links-and-hubs.md -OutFile .agents\skills\clickd-page-system\references\links-and-hubs.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/images-and-speed.md -OutFile .agents\skills\clickd-page-system\references\images-and-speed.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing.md -OutFile .agents\skills\clickd-page-system\references\spacing.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing-traits.md -OutFile .agents\skills\clickd-page-system\references\spacing-traits.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/scripts/measure.mjs -OutFile .agents\skills\clickd-page-system\scripts\measure.mjs -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/migration.md -OutFile .agents\skills\clickd-page-system\references\migration.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/troubleshooting.md -OutFile .agents\skills\clickd-page-system\references\troubleshooting.md -UseBasicParsing

Puts the files in .agents/skills/clickd-page-system/.

Loads skills from .cursor/skills/ or .agents/skills/ in the repository, or ~/.cursor/skills/ for every project. It also reads .claude/skills/, so one copy there serves both. The agent uses it when it is relevant, or type / in Agent chat and pick it.

Terminal, for Cursor
mkdir -p .cursor/skills/clickd-page-system/references .cursor/skills/clickd-page-system/scripts
curl -fsSL https://clickd.com/skills/page-system/SKILL.md -o .cursor/skills/clickd-page-system/SKILL.md
curl -fsSL https://clickd.com/skills/page-system/references/page-kinds.md -o .cursor/skills/clickd-page-system/references/page-kinds.md
curl -fsSL https://clickd.com/skills/page-system/references/structured-data.md -o .cursor/skills/clickd-page-system/references/structured-data.md
curl -fsSL https://clickd.com/skills/page-system/references/components.md -o .cursor/skills/clickd-page-system/references/components.md
curl -fsSL https://clickd.com/skills/page-system/references/outline-and-accessibility.md -o .cursor/skills/clickd-page-system/references/outline-and-accessibility.md
curl -fsSL https://clickd.com/skills/page-system/references/links-and-hubs.md -o .cursor/skills/clickd-page-system/references/links-and-hubs.md
curl -fsSL https://clickd.com/skills/page-system/references/images-and-speed.md -o .cursor/skills/clickd-page-system/references/images-and-speed.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing.md -o .cursor/skills/clickd-page-system/references/spacing.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing-traits.md -o .cursor/skills/clickd-page-system/references/spacing-traits.md
curl -fsSL https://clickd.com/skills/page-system/scripts/measure.mjs -o .cursor/skills/clickd-page-system/scripts/measure.mjs
curl -fsSL https://clickd.com/skills/page-system/references/migration.md -o .cursor/skills/clickd-page-system/references/migration.md
curl -fsSL https://clickd.com/skills/page-system/references/troubleshooting.md -o .cursor/skills/clickd-page-system/references/troubleshooting.md
PowerShell, for Cursor
New-Item -ItemType Directory -Force .cursor\skills\clickd-page-system\references | Out-Null
New-Item -ItemType Directory -Force .cursor\skills\clickd-page-system\scripts | Out-Null
Invoke-WebRequest https://clickd.com/skills/page-system/SKILL.md -OutFile .cursor\skills\clickd-page-system\SKILL.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/page-kinds.md -OutFile .cursor\skills\clickd-page-system\references\page-kinds.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/structured-data.md -OutFile .cursor\skills\clickd-page-system\references\structured-data.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/components.md -OutFile .cursor\skills\clickd-page-system\references\components.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/outline-and-accessibility.md -OutFile .cursor\skills\clickd-page-system\references\outline-and-accessibility.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/links-and-hubs.md -OutFile .cursor\skills\clickd-page-system\references\links-and-hubs.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/images-and-speed.md -OutFile .cursor\skills\clickd-page-system\references\images-and-speed.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing.md -OutFile .cursor\skills\clickd-page-system\references\spacing.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing-traits.md -OutFile .cursor\skills\clickd-page-system\references\spacing-traits.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/scripts/measure.mjs -OutFile .cursor\skills\clickd-page-system\scripts\measure.mjs -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/migration.md -OutFile .cursor\skills\clickd-page-system\references\migration.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/troubleshooting.md -OutFile .cursor\skills\clickd-page-system\references\troubleshooting.md -UseBasicParsing

Puts the files in .cursor/skills/clickd-page-system/.

An agent that does not load skills can still follow the file. Save the folder in the repository and point its standing instructions at it, with a line in AGENTS.md, which many agents read. The agent reads AGENTS.md when it starts, and follows the file when the task matches.

Terminal, for Any other agent
mkdir -p docs/clickd-page-system/references docs/clickd-page-system/scripts
curl -fsSL https://clickd.com/skills/page-system/SKILL.md -o docs/clickd-page-system/SKILL.md
curl -fsSL https://clickd.com/skills/page-system/references/page-kinds.md -o docs/clickd-page-system/references/page-kinds.md
curl -fsSL https://clickd.com/skills/page-system/references/structured-data.md -o docs/clickd-page-system/references/structured-data.md
curl -fsSL https://clickd.com/skills/page-system/references/components.md -o docs/clickd-page-system/references/components.md
curl -fsSL https://clickd.com/skills/page-system/references/outline-and-accessibility.md -o docs/clickd-page-system/references/outline-and-accessibility.md
curl -fsSL https://clickd.com/skills/page-system/references/links-and-hubs.md -o docs/clickd-page-system/references/links-and-hubs.md
curl -fsSL https://clickd.com/skills/page-system/references/images-and-speed.md -o docs/clickd-page-system/references/images-and-speed.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing.md -o docs/clickd-page-system/references/spacing.md
curl -fsSL https://clickd.com/skills/page-system/references/spacing-traits.md -o docs/clickd-page-system/references/spacing-traits.md
curl -fsSL https://clickd.com/skills/page-system/scripts/measure.mjs -o docs/clickd-page-system/scripts/measure.mjs
curl -fsSL https://clickd.com/skills/page-system/references/migration.md -o docs/clickd-page-system/references/migration.md
curl -fsSL https://clickd.com/skills/page-system/references/troubleshooting.md -o docs/clickd-page-system/references/troubleshooting.md
echo "For page templates and shared components, follow docs/clickd-page-system/SKILL.md." >> AGENTS.md
PowerShell, for Any other agent
New-Item -ItemType Directory -Force docs\clickd-page-system\references | Out-Null
New-Item -ItemType Directory -Force docs\clickd-page-system\scripts | Out-Null
Invoke-WebRequest https://clickd.com/skills/page-system/SKILL.md -OutFile docs\clickd-page-system\SKILL.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/page-kinds.md -OutFile docs\clickd-page-system\references\page-kinds.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/structured-data.md -OutFile docs\clickd-page-system\references\structured-data.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/components.md -OutFile docs\clickd-page-system\references\components.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/outline-and-accessibility.md -OutFile docs\clickd-page-system\references\outline-and-accessibility.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/links-and-hubs.md -OutFile docs\clickd-page-system\references\links-and-hubs.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/images-and-speed.md -OutFile docs\clickd-page-system\references\images-and-speed.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing.md -OutFile docs\clickd-page-system\references\spacing.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/spacing-traits.md -OutFile docs\clickd-page-system\references\spacing-traits.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/scripts/measure.mjs -OutFile docs\clickd-page-system\scripts\measure.mjs -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/migration.md -OutFile docs\clickd-page-system\references\migration.md -UseBasicParsing
Invoke-WebRequest https://clickd.com/skills/page-system/references/troubleshooting.md -OutFile docs\clickd-page-system\references\troubleshooting.md -UseBasicParsing
Add-Content AGENTS.md "For page templates and shared components, follow docs/clickd-page-system/SKILL.md."

Puts the files in docs/clickd-page-system/.

What is inside

SKILL.md stays short and sends your agent to a reference when a step needs it.

  • SKILL.mdThe eight steps from naming each kind of page to setting its spacing and proving each pattern with clickd, and the table of patterns, rules and free checks.194 lines
  • references/page-kinds.mdA template for the home, service, product, article, hub and plain pages: the outline, the structured data, the links in and out, the rules each answers, how clickd files a page, and a service template before and after.204 lines
  • references/structured-data.mdJSON-LD for each kind of page, how to escape it, FAQ only where it is real, what never to mark up, a full article graph, Google’s required fields, building a block from data and what breaks it, and Google’s and schema.org’s pages for each type.246 lines
  • references/components.mdThe frame, breadcrumb, question and answer, table, image, byline, sources, contact block, footer and links in the text, each as the HTML it should send.173 lines
  • references/outline-and-accessibility.mdHow clickd reads each heading rule, an outline before and after, landmarks and the skip link, language, focus and accordions, and how to check each.102 lines
  • references/links-and-hubs.mdThe tree from home to hubs to pages, hub and spoke worked, links a crawler can follow, paged lists, town pages that read as doorways, and the sitemap.127 lines
  • references/images-and-speed.mdAlt text decided case by case, the image element before and after, the order of speed work, and the commands that check compression and first byte.92 lines
  • references/spacing.mdFinding the scale a site already uses, writing it as tokens for CSS or Tailwind, moving every padding, margin and gap onto it a component at a time, and a measure to run in the browser before and after.105 lines
  • references/spacing-traits.mdThe spacing rules, one to a section with an id that stays the same: twelve measured by code and four judged from screenshots, each with a bad and a good example.135 lines
  • scripts/measure.mjsMeasures a page against the twelve measured spacing traits at 1440 and 375 wide, in the Chrome already on the machine, with nothing to install. Exits 1 when a trait fails.317 lines
  • references/migration.mdMoving a live site onto the system a template at a time: the order of releases, what not to change, moving an address, and notes for Next.js, Shopify, WordPress and single page apps.87 lines
  • references/troubleshooting.mdA rule that still fails after the fix, by symptom, cause and fix, and the traps that look like success.49 lines

Version 2.1.0, October 31, 2026ChangesSKILL.md in fullSourcesAs data, in skills.json

Sources

48 pages

Each is in a ## Sources list in the file that cites it, by the page’s own title.

Google Search Central

  1. 1Rich Results Test, Google Search Console. Google's own read of one page.
  2. 2Introduction to structured data markup in Google Search, Google Search Central. Why JSON-LD, and how Google reads it.
  3. 3General structured data guidelines, Google Search Central. Markup only for what the page shows, on the page it describes.
  4. 4Organization (Organization) structured data, Google Search Central. The fields for the home page's Organization, the logo's size, and the home or about page as its place.
  5. 5Local business (LocalBusiness) structured data, Google Search Central. `name` and `address` as required, the phone with its country code, and the format of opening hours.
  6. 6Article (Article, NewsArticle, BlogPosting) structured data, Google Search Central. The recommended properties, the author rules, dates with a time zone, and the image sizes.
  7. 7Breadcrumb (BreadcrumbList) structured data, Google Search Central. At least two items, no `item` needed on the last, and a trail that follows a person's path.
  8. 8Latest documentation updates, Google Search Central. Google's note that FAQ results are no longer shown in Search.
  9. 9Influencing your title links in search results, Google Search Central. What makes a good title in the frame.
  10. 10Control your snippets in search results, Google Search Central. The meta description and how Google uses it.
  11. 11How to specify a canonical URL with rel="canonical" and other methods, Google Search Central. One address for each page.
  12. 12Block Search indexing with noindex, Google Search Central. `noindex` in a meta tag or the `X-Robots-Tag` header.
  13. 13Link best practices for Google, Google Search Central. What makes a link crawlable, anchor text, and a link to every page that matters.
  14. 14Google image SEO best practices, Google Search Central. Alt text, the `img` element over CSS images, `srcset` with a `src` fallback, and file names.
  15. 15URL structure best practices for Google Search, Google Search Central. Words with hyphens, one case, no fragments for content, and root-relative links.
  16. 16Pagination, incremental page loading, and their impact on Google Search, Google Search Central. A canonical for each page of a list, links to the next and the first, and load more given addresses.
  17. 17Build and submit a sitemap, Google Search Central. Full canonical addresses, accurate lastmod, the size limits, and the robots.txt line.
  18. 18Spam policies for Google web search, Google Search Central. Doorway abuse and scaled content abuse, the risk in town pages that swap only a name.
  19. 19Understand the JavaScript SEO basics, Google Search Central. Rendering, why server rendering is still advised, and that not every bot runs script.
  20. 20How to move a site, Google Search Central. Mapping old addresses, permanent server-side redirects in one hop, updating links and sitemaps, and keeping redirects a year or more.
  21. 21Redirects and Google Search, Google Search Central. Which redirects Google reads as permanent and which as temporary, and why server-side is best.

schema.org

  1. 22LocalBusiness, schema.org. The type and its properties.
  2. 23Service, schema.org. The type for a service page.
  3. 24Article, schema.org. The type for an article page.
  4. 25BreadcrumbList, schema.org. The type for the trail.
  5. 26FAQPage, schema.org. The type for questions and answers the page shows.
  6. 27OpeningHoursSpecification, schema.org. The type for opening hours, with `dayOfWeek`, `opens` and `closes`.

Platforms

  1. 28How to implement JSON-LD in your Next.js application, Vercel, on GitHub. Next.js's own guide to JSON-LD in a server component, with the `<` escape.
  2. 29generateMetadata, Vercel, on GitHub. The metadata object and function, the canonical and share fields, and that they run only in server components.
  3. 30sitemap.xml, Vercel, on GitHub. `app/sitemap.ts`, a sitemap made by a function from the site's data.
  4. 31robots.txt, Vercel, on GitHub. `app/robots.ts`, with the line that names the sitemap.
  5. 32Layouts, Shopify developer docs. `theme.liquid` as the layout every template is drawn through.
  6. 33Liquid filters: json, Shopify developer docs. What Shopify's `json` filter escapes, and what it does not say it escapes.

Standards and protocols

  1. 34Web Content Accessibility Guidelines (WCAG) 2.2, W3C. Success criterion 1.4.3, the contrast every theme meets.
  2. 35Web Vitals, Google, on web.dev. The shared yardstick for how fast a page answers.
  3. 36The Open Graph protocol, The Open Graph protocol. The share tags in the frame.
  4. 37Headings, W3C. W3C WAI's Page Structure Tutorial on heading ranks, skipping levels and fixed sections.
  5. 38Landmark Regions, W3C. One top-level main, labels for repeated landmarks, and labels that do not repeat the role.
  6. 39Web Content Accessibility Guidelines (WCAG) 2.2, W3C. Success criteria 1.3.1, 2.4.1, 2.4.6, 2.4.11 and 3.1.1, the structure, skip link, headings, focus and language this file asks for.
  7. 40h1 to h6, the HTML section heading elements, MDN Web Docs. Not resizing text with headings, not skipping levels, and one `h1` as the better practice.
  8. 41Optimize Largest Contentful Paint, Google, on web.dev. Never lazy load the main image, high fetch priority, the image findable in the HTML, and time to first byte.
  9. 42Browser-level image lazy loading for the web, Google, on web.dev. Lazy only below the first screen, and `width` and `height` on every image.
  10. 43An alt Decision Tree, W3C. W3C WAI's order for choosing alt text, which the table above follows.
  11. 44The Image Embed element, MDN Web Docs. `alt=""`, `srcset` and `sizes`, `width` and `height`, `fetchpriority` and `decoding`.

Agent skills format and clients

  1. 45Extend Claude with skills, Anthropic, Claude Code docs. Where Claude Code loads skills from, and how one is called.
  2. 46Build skills, OpenAI, ChatGPT Learn. Where Codex loads skills from, and how one is called.
  3. 47Agent Skills, Cursor docs. Where Cursor loads skills from, and how one is called.
  4. 48Specification, Agent Skills. The format every skill here keeps: the folder, the frontmatter and its limits.