229 lines
9.3 KiB
Markdown
229 lines
9.3 KiB
Markdown
---
|
|
name: press-release-schema
|
|
description: Generate valid NewsArticle JSON-LD schema markup for press releases with proper entity linking to Wikipedia. UPDATED VERSION with fixed entity identification. Use when the user asks to create, generate, or add schema markup, structured data, JSON-LD, or SEO schema for a press release, news article, or announcement.
|
|
---
|
|
|
|
# Press Release Schema Generator v2
|
|
|
|
## Overview
|
|
|
|
Generate high-quality NewsArticle JSON-LD schema markup for press releases following Schema.org specifications. This skill automates the creation of structured data that helps search engines understand press release content, including entity recognition and Wikipedia URL linking for improved SEO.
|
|
|
|
## Input Requirements
|
|
|
|
The press release text contains all necessary information. Extract:
|
|
|
|
1. **Company Name** - Organization publishing the press release (extract from text)
|
|
2. **Target URL** - Extract from the "For more information" or similar link in the press release (use as mainEntityOfPage)
|
|
|
|
## Workflow
|
|
|
|
### Step 1: Extract Core Metadata
|
|
|
|
From the press release text, identify:
|
|
|
|
- **Headline**: Extract the main title/headline from the text
|
|
- **Description**: Write a concise 1-sentence summary that captures the key message
|
|
- **IMPORTANT**: This is a summary, NOT the entire press release text
|
|
- Should be 15-25 words maximum
|
|
- Focus on the main announcement or key takeaway
|
|
|
|
### Step 2: Identify Entities with Wikipedia URLs
|
|
|
|
**CRITICAL - Follow this order:**
|
|
|
|
**Phase 1: Named Entities (ALWAYS START HERE)**
|
|
First, systematically identify ALL proper nouns mentioned in the press release:
|
|
- **Companies/Organizations**: Any company, manufacturer, or organization mentioned (e.g., the company issuing the release, partners, suppliers)
|
|
- **Products/Brands**: Specific product names, brand names, or proprietary technologies
|
|
- **People**: Names of executives, spokespeople, or other individuals quoted or mentioned
|
|
|
|
Search for Wikipedia URLs for EACH of these named entities. These are your primary "about" entities.
|
|
|
|
**Phase 2: Topical/Technical Entities (ONLY AFTER PHASE 1)**
|
|
After identifying all named entities, then identify topical subjects:
|
|
|
|
**"about" entities** are what the press release is fundamentally announcing:
|
|
- The core announcement (e.g., partnership, product launch, expansion, award, appointment)
|
|
- Main relationships or business models being discussed (e.g., distribution, licensing, acquisition)
|
|
- Primary named entities directly involved in the announcement
|
|
- Example: A press release announcing a distribution partnership would have the manufacturer, distributor, and "distribution" as "about" entities
|
|
- **Be comprehensive, not restrictive**: If it's mentioned and relevant to the announcement, include it. A press release can be "about" multiple things.
|
|
|
|
**"mentions" entities** are supporting context:
|
|
- Technical concepts, technologies, or products referenced
|
|
- Industry sectors or applications discussed
|
|
- People quoted or mentioned
|
|
- Secondary topics that provide context but aren't the main announcement
|
|
- Example: In a distribution announcement, the specific product categories and technical applications would be "mentions"
|
|
- **Be inclusive**: If a technology, concept, or industry is mentioned in the press release and is relevant to understanding the announcement, include it. Don't artificially limit the list - comprehensiveness is better than brevity.
|
|
|
|
**Key distinction**: Ask yourself "What is this press release announcing?" vs "What context is provided?" The announcement subjects go in "about," the context goes in "mentions."
|
|
|
|
**Wikipedia URL Requirements:**
|
|
- Use web_search to find the correct Wikipedia URL for EACH entity
|
|
- Search pattern: `"[entity name]" site:wikipedia.org`
|
|
- Verify the Wikipedia page matches the context of the press release
|
|
- For people, only include Wikipedia URL if they have a Wikipedia page; otherwise use name and jobTitle only
|
|
- For industries and concepts, Wikipedia URLs are REQUIRED
|
|
- **For companies and organizations:**
|
|
- **External companies** (not issuing the press release): Include BOTH Wikipedia URL AND official website in sameAs array
|
|
- **The issuing company** (publishing the press release): Include in "about" as Organization type, but do NOT include sameAs property since mainEntityOfPage already points to their page
|
|
- Example: If Company A issues a press release about partnering with Company B, Company A goes in "about" without sameAs, Company B goes in "about" with sameAs to Wikipedia + their official website
|
|
|
|
### Step 3: Structure the JSON-LD
|
|
|
|
Create the schema with this structure:
|
|
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "NewsArticle",
|
|
"headline": "[extracted headline]",
|
|
"description": "[1-sentence summary]",
|
|
"mainEntityOfPage": "[target URL extracted from press release]",
|
|
"author": {
|
|
"@type": "Organization",
|
|
"name": "[company name]"
|
|
},
|
|
"about": [
|
|
{
|
|
"@type": "Organization",
|
|
"name": "[issuing company - no sameAs]"
|
|
},
|
|
{
|
|
"@type": "Organization",
|
|
"name": "[external company]",
|
|
"sameAs": [
|
|
"[Wikipedia URL]",
|
|
"[official website URL]"
|
|
]
|
|
},
|
|
{
|
|
"@type": "Thing",
|
|
"name": "[primary topic]",
|
|
"sameAs": "[Wikipedia URL]"
|
|
}
|
|
],
|
|
"mentions": [
|
|
{
|
|
"@type": "Person",
|
|
"name": "[person name]",
|
|
"jobTitle": "[job title]",
|
|
"affiliation": "[organization]",
|
|
"sameAs": "[Wikipedia URL if available]"
|
|
},
|
|
{
|
|
"@type": "Thing",
|
|
"name": "[industry or concept]",
|
|
"sameAs": "[Wikipedia URL - REQUIRED]"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
**Critical Rules:**
|
|
- DO NOT include "articleBody" field
|
|
- DO NOT include "datePublished" field
|
|
- DO NOT include "image" field
|
|
- Description must be a brief summary (15-25 words), NOT the entire press release text
|
|
- Use "Thing" as @type for general entities unless a more specific type clearly applies (use Organization for companies)
|
|
- "sameAs" can contain Wikipedia URLs and/or official company websites
|
|
- For mentions of people without Wikipedia pages, omit "sameAs" but include name, jobTitle, and affiliation
|
|
- For the issuing company, do NOT include sameAs (mainEntityOfPage already identifies them)
|
|
- For external companies, include BOTH Wikipedia and official website in sameAs array
|
|
|
|
### Step 4: Format Output
|
|
|
|
Output the JSON-LD as plain JSON (do not wrap in HTML script tags):
|
|
|
|
**Output Guidelines:**
|
|
- Provide ONLY the JSON content
|
|
- No conversational filler or explanations
|
|
- No HTML script tags
|
|
- Ensure valid JSON formatting (proper quotes, commas, brackets)
|
|
- Pretty-print the JSON for readability
|
|
- Save as .json file extension
|
|
|
|
## Example
|
|
|
|
**Input:**
|
|
```
|
|
Text: "TechCorp Industries announced today a strategic partnership with Global AI Solutions to develop next-generation machine learning platforms. CEO Sarah Johnson stated, 'This collaboration represents a significant milestone in artificial intelligence development.' For more information, visit https://techcorp.com/news/ai-partnership"
|
|
```
|
|
|
|
**Output:**
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "NewsArticle",
|
|
"headline": "TechCorp Industries Announces Strategic Partnership with Global AI Solutions",
|
|
"description": "TechCorp Industries partners with Global AI Solutions to develop next-generation machine learning platforms.",
|
|
"mainEntityOfPage": "https://techcorp.com/news/ai-partnership",
|
|
"author": {
|
|
"@type": "Organization",
|
|
"name": "TechCorp Industries"
|
|
},
|
|
"about": [
|
|
{
|
|
"@type": "Organization",
|
|
"name": "TechCorp Industries"
|
|
},
|
|
{
|
|
"@type": "Organization",
|
|
"name": "Global AI Solutions",
|
|
"sameAs": [
|
|
"https://en.wikipedia.org/wiki/Global_AI_Solutions",
|
|
"https://www.globalaisolutions.com"
|
|
]
|
|
},
|
|
{
|
|
"@type": "Thing",
|
|
"name": "Strategic Partnership",
|
|
"sameAs": "https://en.wikipedia.org/wiki/Strategic_alliance"
|
|
}
|
|
],
|
|
"mentions": [
|
|
{
|
|
"@type": "Person",
|
|
"name": "Sarah Johnson",
|
|
"jobTitle": "CEO",
|
|
"affiliation": "TechCorp Industries"
|
|
},
|
|
{
|
|
"@type": "Thing",
|
|
"name": "Artificial Intelligence",
|
|
"sameAs": "https://en.wikipedia.org/wiki/Artificial_intelligence"
|
|
},
|
|
{
|
|
"@type": "Thing",
|
|
"name": "Machine Learning",
|
|
"sameAs": "https://en.wikipedia.org/wiki/Machine_learning"
|
|
},
|
|
{
|
|
"@type": "Thing",
|
|
"name": "Technology Industry",
|
|
"sameAs": "https://en.wikipedia.org/wiki/Technology_company"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Quality Checklist
|
|
|
|
Before delivering the schema, verify:
|
|
|
|
- [ ] **ALL proper nouns (companies, products, people) mentioned in the press release have been searched and included if Wikipedia pages exist**
|
|
- [ ] All Wikipedia URLs are valid and contextually appropriate
|
|
- [ ] JSON syntax is valid (no trailing commas, proper quotes)
|
|
- [ ] Headline accurately reflects the press release
|
|
- [ ] Description is a brief summary (15-25 words, NOT the full press release text)
|
|
- [ ] All relevant "about" entities identified with Wikipedia URLs
|
|
- [ ] All mentioned industries/concepts have Wikipedia URLs
|
|
- [ ] People entries include name, jobTitle, and affiliation
|
|
- [ ] No "articleBody" field is included
|
|
- [ ] No "datePublished" field is included
|
|
- [ ] No "image" field is included
|
|
- [ ] Output contains ONLY plain JSON (no HTML script tags or explanatory text)
|
|
- [ ] Issuing company in "about" without sameAs
|
|
- [ ] External companies in "about" with sameAs containing Wikipedia + official website |