# Schema Markup > Genera datos estructurados Schema.org (JSON-LD) para cualquier tipo de página, con foco en cumplir los requisitos de rich results de Google. Fuente: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/schema-markup Markdown: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/schema-markup.md Repositorio: https://github.com/OpenClaudia/openclaudia-skills Autor: OpenClaudia Licencia: MIT Actualizado: hace 7 meses Coste de contexto: 84 tok instalada, 4k tok al activarse, 4k tok con todos los archivos del bundle Bundle: 1 archivo, 16 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add OpenClaudia/openclaudia-skills --skill schema-markup --agent claude-code # Cursor npx -y skills add OpenClaudia/openclaudia-skills --skill schema-markup --agent cursor # Codex npx -y skills add OpenClaudia/openclaudia-skills --skill schema-markup --agent codex # Gemini CLI npx -y skills add OpenClaudia/openclaudia-skills --skill schema-markup --agent gemini # Windsurf npx -y skills add OpenClaudia/openclaudia-skills --skill schema-markup --agent windsurf # Cline npx -y skills add OpenClaudia/openclaudia-skills --skill schema-markup --agent cline ``` ## Qué hace - Genera JSON-LD válido de Schema.org para tipos de página como Article, Product, FAQPage, HowTo, Organization, LocalBusiness, BreadcrumbList y Review - Combina varios tipos de esquema en una sola página usando @graph - Valida los campos generados contra los requisitos de rich results de Google - Da instrucciones de implementación para Next.js App Router, Pages Router y HTML plano ## Cuándo usarla - El usuario pide 'schema markup', 'structured data' o 'JSON-LD' - El usuario pide FAQ schema, product schema, article schema, breadcrumb schema, organization schema, how-to schema o review schema - El usuario pregunta sobre datos estructurados para SEO o rich snippets/rich results ## Qué la activa - "Genera el schema markup para esta página de producto" - "Necesito JSON-LD para mi sección de FAQ" - "Crea el structured data de artículo para este post de blog" - "Añade breadcrumb schema a esta página" ## Antes de instalar - makes network requests ## Archivos - SKILL.md — 16 KB ## SKILL.md Reproducido tal cual desde OpenClaudia/openclaudia-skills bajo MIT. Esta sección es el documento original y está en inglés. # Schema Markup Generator Skill You are an expert in Schema.org structured data and Google's rich results requirements. Generate valid, complete JSON-LD markup that maximizes eligibility for Google rich results. ## Supported Schema Types This skill supports the following schema types. When the user asks for schema, determine which type(s) are appropriate based on the page content. ### 1. Article / BlogPosting / NewsArticle **Use for:** Blog posts, news articles, editorial content **Rich result:** Article carousel, headline in search ```json { "@context": "https://schema.org", "@type": "Article", "headline": "Your Article Title (max 110 characters)", "description": "Brief description of the article (max 160 characters)", "image": [ "https://example.com/image-16x9.jpg", "https://example.com/image-4x3.jpg", "https://example.com/image-1x1.jpg" ], "datePublished": "2025-01-15T08:00:00+00:00", "dateModified": "2025-01-20T10:30:00+00:00", "author": [{ "@type": "Person", "name": "Author Name", "url": "https://example.com/author/name", "jobTitle": "Senior Editor", "sameAs": [ "https://twitter.com/authorhandle", "https://linkedin.com/in/authorname" ] }], "publisher": { "@type": "Organization", "name": "Publisher Name", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png", "width": 600, "height": 60 } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.com/article-url" }, "wordCount": 2500, "articleSection": "Technology", "keywords": ["keyword1", "keyword2", "keyword3"], "isAccessibleForFree": true } ``` **Google requirements:** - `headline` is required (max 110 characters) - `image` is required (provide 3 aspect ratios: 16:9, 4:3, 1:1; each > 696px wide) - `datePublished` is required (ISO 8601 format) - `author.name` is required - For `NewsArticle`, also add `dateline` if applicable - For `BlogPosting`, `@type` changes to `"BlogPosting"` --- ### 2. Product **Use for:** Product pages, e-commerce listings **Rich result:** Product snippet with price, availability, reviews ```json { "@context": "https://schema.org", "@type": "Product", "name": "Product Name", "description": "Product description", "image": [ "https://example.com/product-1.jpg", "https://example.com/product-2.jpg" ], "sku": "SKU-12345", "mpn": "MPN-67890", "gtin13": "0123456789012", "brand": { "@type": "Brand", "name": "Brand Name" }, "offers": { "@type": "Offer", "url": "https://example.com/product", "priceCurrency": "USD", "price": "99.99", "priceValidUntil": "2025-12-31", "availability": "https://schema.org/InStock", "itemCondition": "https://schema.org/NewCondition", "seller": { "@type": "Organization", "name": "Seller Name" }, "shippingDetails": { "@type": "OfferShippingDetails", "shippingRate": { "@type": "MonetaryAmount", "value": "0", "currency": "USD" }, "deliveryTime": { "@type": "ShippingDeliveryTime", "handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" }, "transitTime": { "@type": "QuantitativeValue", "minValue": 1, "maxValue": 5, "unitCode": "DAY" } }, "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" } }, "hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy", "applicableCountry": "US", "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow", "merchantReturnDays": 30, "returnMethod": "https://schema.org/ReturnByMail", "returnFees": "https://schema.org/FreeReturn" } }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "bestRating": "5", "ratingCount": "142" }, "review": [{ "@type": "Review", "author": { "@type": "Person", "name": "Reviewer Name" }, "datePublished": "2025-01-10", "reviewBody": "Review text here", "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" } }] } ``` **Google requirements:** - `name` is required - `offers`, `review`, or `aggregateRating` - at least one required - `offers.price` and `offers.priceCurrency` required if offers present - `offers.availability` must use Schema.org enum values - As of 2024, `shippingDetails` and `hasMerchantReturnPolicy` are recommended for merchant listings --- ### 3. FAQPage **Use for:** FAQ sections, Q&A pages **Rich result:** Expandable FAQ in search results ```json { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What is the first question?", "acceptedAnswer": { "@type": "Answer", "text": "

The answer with HTML formatting allowed. You can include links.

" } }, { "@type": "Question", "name": "What is the second question?", "acceptedAnswer": { "@type": "Answer", "text": "Plain text answers also work." } } ] } ``` **Google requirements:** - Each `Question` must have exactly one `acceptedAnswer` - Answer `text` can include HTML: `

` through `

`, `
`, `
    `, `