Most SEOs know that search engines understand entities (people, places, products, concepts) and the relationships between them. This isn’t new. It’s been baked into Google’s algorithms for years through patents on entity resolution, entity metrics, and dynamic entity definitions.
The problem isn’t awareness. It’s process.
When you sit down to plan content, how do you actually figure out which entities matter, how prominent each one should be, and how they relate to each other? Most people either skip it entirely or do it ad hoc, pulling from intuition and whatever they remember from the last article they read about semantic SEO.
I built a tool that turns this into a repeatable process. It’s a Claude skill, it’s free, and you can download it below.
What Entities Are (Brief Version)
When someone searches “best running shoes for flat feet,” Google doesn’t just match those words. It understands that “running shoes” is a product entity, “flat feet” is a medical condition entity, and the relationship between them is: shoes that address the condition.
Content that clearly establishes these entities and their relationships is easier for search engines to understand and match to queries. Entity analysis is how you figure out what those entities and relationships are before you write.
I’ve done other notes about entities in the past going into a lot more detail. You can find some of them here:
What This Skill Does
Give it any topic or search query, and it runs a six-phase analysis:
- Extracts all relevant entities. It tries to find every person, product, concept, condition, process, and metric connected to your topic, including implied ones
- Identifies the central entity. The primary subject everything else orbits around. This is where most people go wrong. They confuse the context for the subject.
- Classifies by importance. Primary, secondary, supporting, and contextual, with specific content placement guidance for each level
- Scores salience. How prominent each entity should be in your content, on a 0-1 scale, with rationale
- Validates entity recognition. Checks whether search engines actually recognize each entity (via Knowledge Panel presence, Wikipedia articles, and SERP features), so you know which ones need to be defined in your content
- Maps relationships and co-occurrence. Builds Entity-Attribute-Value triples showing how entities connect, and maps which entities should appear together in the same sentences, sections, or pages
The output includes content placement recommendations: what belongs in your title, H1, H2s, first 100 words, and body copy. You get both a human-readable markdown report and a JSON version if you want to feed it into other tools.
What Are Claude Skills?
If you have not used them before, Skills are reusable instruction packages for Claude. Instead of writing a detailed prompt every time you want Claude to do something specific, a skill teaches it a workflow it can run consistently. Think of it as a playbook. You install it once, and Claude follows it automatically whenever you ask it to do that type of work.
Skills work in Claude.ai (web and app), Claude Code, and the API. You need a paid Claude plan (Pro, Max, Team, or Enterprise).
Claude Skills are one of the reasons I have moved almost completely away from ChatGPT. Other than images, when I need anything done in AI, Skills have made my workflows much faster and more efficient.
How to Install It
- Download the .skill file: DOWNLOAD LINK
- Open Claude.ai
- Go to Settings → Capabilities
- Scroll down to the Skills section and upload the file
- Make sure the skill is toggled ON
- Start a new chat
To use it, just give Claude a topic or search query and reference the skill. Something like:
- “Using the entity skill, analyze ‘best CRM for small business'”
- “Using the entity skill, extract entities for ‘symptoms of vitamin D deficiency'”
- “Using the entity skill, analyze electric vehicle charging infrastructure”
The skill handles the rest.
Note: You can tell it just to “run an entity analysis on ‘best CRM for small business'” and it will probably work fine. But if you have any other skills installed that mention entities, it could be a problem. Also, every now and then it won’t trigger the skill. Telling it specifically to use the skill has worked 100% of the time for me.
Sample Output
Here is a sample of what the output looks like. The prompt I gave it was:
Now I want to use the entity skill for the topic = [how to reduce lag on a minecraft server]
Entity Analysis: How to Reduce Lag on a Minecraft Server
Overview
- Input: how to reduce lag on a minecraft server
- Central Entity: Server Lag (Minecraft)
- Total Entities Extracted: 42
- Validation Coverage: 70% high confidence, 25% medium, 5% low
Central Entity
Entity: Server Lag (Minecraft)
Type: Concept/Problem
Definition: A delay or slowdown in the response time between player actions and server reactions in Minecraft multiplayer, manifesting as stuttering gameplay, block placement delays, mob teleportation, rubberbanding, and reduced server performance measured by TPS (Ticks Per Second) dropping below the optimal 20.
Validation: Medium — No dedicated Wikipedia article, but extensively documented in Minecraft Wiki, hosting provider documentation, and community resources. Component concepts “lag” and “latency” are high-confidence entities.
Why this is the Central Entity:
- Removal test: Without “lag,” the query has no problem to solve
- Relationship test: All other entities (causes, solutions, metrics) relate to this problem
- Query test: The searcher wants to understand and solve this specific problem
- Coverage test: The entire piece must address this concept
Entity Classification
Primary Entities
| Entity | Type | Salience | Validation | Placement |
|---|---|---|---|---|
| Server Lag | Concept/Problem | 1.0 | Medium | H1, title, meta, throughout |
| TPS (Ticks Per Second) | Metric | 0.9 | High (Minecraft Wiki) | Title/H1, definition required early |
| Minecraft Server | Product/Platform | 0.85 | High (Wikipedia) | Title, first paragraph, throughout |
| RAM | Resource/Metric | 0.8 | High | Multiple H2s, cause & solution |
| Performance Optimization | Concept | 0.75 | High | H2 sections |
Secondary Entities
| Entity | Type | Salience | Validation | Relationship to Central |
|---|---|---|---|---|
| Entities (mobs/items) | Game Mechanic | 0.7 | High (Minecraft Wiki) | Major lag cause |
| Chunks | Game Mechanic | 0.7 | High (Minecraft Wiki) | Loading chunks causes lag |
| Plugins | Software | 0.65 | Medium | Can cause or reduce lag |
| View Distance | Setting | 0.65 | Medium | Configuration to reduce lag |
| Paper (PaperMC) | Software | 0.6 | High (GitHub, extensive documentation) | Optimization solution |
| Spark (profiler) | Tool | 0.6 | High (168M+ downloads, GitHub) | Diagnostic tool |
| Latency/Ping | Metric | 0.55 | High (general networking concept) | Network-side lag cause |
| Redstone | Game Mechanic | 0.55 | High (Minecraft Wiki) | Common lag cause |
| Hoppers | Game Mechanic | 0.55 | High (Minecraft Wiki) | Specific lag cause |
| CPU | Hardware | 0.55 | High | Resource constraint |
| MSPT (Milliseconds Per Tick) | Metric | 0.5 | Medium (Minecraft Wiki) | Performance measurement |
Supporting Entities
| Entity | Type | Salience | Validation | Role |
|---|---|---|---|---|
| Spigot | Software | 0.45 | High (SpigotMC) | Server software baseline |
| Garbage Collection (GC) | Process | 0.45 | High (Java concept) | Memory management factor |
| Mob Farms | Structure | 0.4 | Medium | Common lag source |
| Simulation Distance | Setting | 0.4 | Medium | Configuration option |
| ClearLagg | Plugin | 0.35 | Medium | Lag reduction tool |
| Optifine | Mod | 0.35 | High | Client-side FPS optimization |
| Pre-generation | Process | 0.35 | Medium | Chunk optimization method |
| Chunky | Plugin | 0.35 | Medium | Pre-generation tool |
| JVM Flags | Configuration | 0.35 | Medium | Memory optimization |
| FPS (Frames Per Second) | Metric | 0.35 | High | Client-side performance (differentiation) |
| Spawn Chunks | Game Mechanic | 0.3 | High (Minecraft Wiki) | Always-loaded chunks |
Contextual Entities
| Entity | Type | Salience | Validation | Role |
|---|---|---|---|---|
| Purpur | Software | 0.25 | Medium | Alternative server software |
| Folia | Software | 0.2 | Medium | Multithreaded Paper fork |
| Timings | Tool | 0.2 | Medium | Older profiling method |
| Bukkit | Software | 0.2 | High | Legacy server software context |
| NVMe SSD | Hardware | 0.2 | High | Hardware optimization |
| Lighting Updates | Mechanic | 0.2 | Medium | Specific lag cause |
| Fluid Updates | Mechanic | 0.2 | Medium | Water/lava lag factor |
| Entity Cramming | Mechanic | 0.15 | Medium | Mob collision lag |
| Rubberbanding | Symptom | 0.15 | Low | Lag manifestation |
Attribute Analysis
Root Attributes (Cover all of these)
| Attribute | Why It’s Essential | Content Requirement |
|---|---|---|
| TPS value | Defines server health universally | Explain 20 TPS = healthy, thresholds for concern |
| Lag type identification | Must distinguish causes to apply solutions | Cover server vs. client vs. network lag |
| RAM allocation | Universal resource factor | How to check usage, when to upgrade |
| Entity count | Common culprit in all servers | Commands to check, limits to set |
| View/simulation distance | Every server has these settings | Default values, optimization recommendations |
| Server software | Foundation of all optimizations | Compare Vanilla vs Spigot vs Paper |
Rare Attributes (Cover for differentiation)
| Attribute | Differentiating Value | When to Include |
|---|---|---|
| JVM garbage collection tuning | Advanced optimization | For technical audiences |
| Async chunk loading | Paper-specific benefit | When discussing Paper |
| Pre-generation completion | Reduces new chunk lag | For established servers |
| Plugin profiling | Identifies bad plugins | When plugins are suspected |
| Hopper optimization settings | Paper/Spigot specific | For automated farm servers |
| Tick consolidation | Advanced server config | For large player counts |
Unique Attributes (Cover for highest relevance)
| Attribute | Unique To | Relevance Boost |
|---|---|---|
| spark profiler integration | Paper (built-in 1.21+) | Diagnostic advantage |
| Folia regionized multithreading | Folia only | Cutting-edge optimization |
| Aikars Flags | Community standard JVM config | Specific optimization method |
Entity Relationships (EAV Triples)
| Entity | Attribute | Value |
|---|---|---|
| Server lag | measured by | TPS |
| Server lag | caused by | excessive entities |
| Server lag | caused by | insufficient RAM |
| Server lag | caused by | chunk generation |
| Server lag | caused by | poorly optimized plugins |
| Server lag | caused by | redstone circuits |
| Server lag | caused by | hoppers |
| TPS | optimal value | 20 |
| TPS | indicates lag when | below 19 |
| MSPT | must be below | 50ms |
| MSPT | relationship to TPS | TPS = 1000/MSPT |
| Entities | include | mobs |
| Entities | include | dropped items |
| Entities | removed by | /kill commands |
| Entities | limited by | mob caps |
| Chunks | loaded based on | view distance |
| Chunks | processed based on | simulation distance |
| Chunk generation | is | CPU intensive |
| Paper | is fork of | Spigot |
| Paper | improves | server performance |
| Paper | includes | async chunk loading |
| Spark | diagnoses | TPS drops |
| Spark | monitors | memory usage |
| RAM | stores | chunk data |
| RAM | stores | entity data |
| Latency | affected by | server distance |
| Latency | measured as | ping (ms) |
| FPS lag | is | client-side |
| TPS lag | is | server-side |
Key Predicates
Use these verbs/actions in headings and content: reduces, causes, diagnoses, monitors, optimizes, allocates, limits, pre-generates, loads, processes, removes, configures, measures, identifies, improves
Co-Occurrence Map
High Priority (Same Sentence/Paragraph)
- Server lag + TPS — defining measurement
- TPS + 20 — optimal benchmark
- TPS + MSPT — related metrics
- entities + mobs + items — entity types causing lag
- Paper + Spigot — software comparison
- RAM + allocation + server — resource relationship
- view distance + chunks + loading — settings impact
- Spark + profiler + TPS — diagnostic tool chain
Medium Priority (Same Section)
- lag types + server + client + network — classification section
- entities + mob farms + kill commands — entity management section
- Paper + async + optimization — software benefits section
- hoppers + redstone + lighting — specific lag causes section
- plugins + Spark + profiling — diagnostic section
- RAM + garbage collection + JVM — memory optimization section
- chunks + pre-generation + Chunky — world optimization section
Document Level
- Server lag + Minecraft — topic context
- TPS + FPS — metric differentiation
- Spigot + Paper + Purpur — software hierarchy
- ClearLagg + Chunky + Spark — plugin/tool ecosystem
Validation Summary
High Confidence Entities (Use Freely)
- Minecraft (Wikipedia, Knowledge Panel)
- TPS/Ticks Per Second (Minecraft Wiki: “Tick” article)
- Chunks (Minecraft Wiki: “Chunk” article)
- Entities/Mobs (Minecraft Wiki: “Entity” articles)
- RAM, CPU (universal technical concepts)
- Latency/Ping (networking concepts, Wikipedia)
- Spigot (SpigotMC.org, extensive presence)
- Paper/PaperMC (GitHub, official site, 100k+ servers)
- Spark profiler (168M+ CurseForge downloads, GitHub)
- Redstone, Hoppers (Minecraft Wiki articles)
- FPS/Frames Per Second (universal concept)
- Optifine (major mod with Wikipedia mentions)
- Garbage Collection (Java/programming concept)
Medium Confidence Entities (Define on First Use)
- Server lag (compound concept, define clearly)
- MSPT (Minecraft-specific metric, define relationship to TPS)
- View distance / Simulation distance (server settings, explain function)
- Spawn chunks (Minecraft Wiki, but may need explanation for casual readers)
- ClearLagg (plugin, describe purpose)
- Chunky (plugin, describe purpose)
- JVM flags (technical, explain purpose)
- Pre-generation (process, explain benefit)
- Purpur, Folia (Paper forks, explain relationship)
- Aikars Flags (community term, needs definition)
Low Confidence Entities (Define Comprehensively)
- Rubberbanding (symptom description, informal term)
- Entity cramming (specific mechanic)
- Tick consolidation (advanced server concept)
- Async chunk loading (Paper-specific feature)
Content Recommendations
Title/H1 Must Include
- Lag or Server Lag (Central Entity problem)
- Minecraft Server (platform context)
- Consider modifier: “How to Reduce/Fix”, “Guide”, “[Year]”
H2 Topics (Based on Secondary Entities)
- Understanding Minecraft Server Lag (TPS vs FPS vs Latency)
- How to Check Your Server’s Performance (TPS, MSPT, Spark)
- Common Causes of Server Lag
- Reducing Entity Lag (Mobs, Items, Farms)
- Optimizing Chunk Loading (View Distance, Simulation Distance, Pre-generation)
- Choosing the Right Server Software (Vanilla vs Spigot vs Paper)
- Plugin Optimization and Troubleshooting
- RAM and JVM Configuration
- Hardware Considerations
Entities to Define (First Mention)
- TPS: “Ticks Per Second measures how often your server updates game mechanics—20 TPS is healthy, anything below indicates lag”
- MSPT: “Milliseconds Per Tick shows how long each server update takes—must stay under 50ms to maintain 20 TPS”
- Chunks: “16×16 block sections of your world that the server loads and processes around players”
- Entities: “Movable game objects including mobs, dropped items, minecarts, and armor stands”
- Paper: “A high-performance fork of Spigot that includes numerous optimizations for Minecraft servers”
- Spark: “A performance profiling tool that helps identify what’s causing lag on your server”
Relationships to Emphasize
- TPS → measured as → 20 (optimal): “A healthy server runs at 20 TPS—each tick occurs every 50 milliseconds”
- Entities → cause → lag: “Large numbers of entities, especially in mob farms, force the server to track more movement and collision calculations”
- View distance → increases → chunk load: “Each point of view distance adds rings of chunks around every player, multiplying CPU and RAM usage”
- Paper → reduces → lag: “Paper’s optimizations include asynchronous chunk loading, hopper optimizations, and improved entity processing”
- Spark → identifies → lag sources: “Running a Spark profile for 30 seconds reveals which game mechanics or plugins consume the most processing time”
Analysis generated by The SEO Pub Entity Extraction Tool
I did not edit this output at all. As you can see, it is pretty in depth. Probably a lot more in depth than many of you are used to, but honestly if you implemented half of this, you would probably be ahead of 99% of your competitors.
Try It
Entity analysis has always been the gap between “I understand semantic SEO conceptually” and “I actually apply it to my content.” This skill closes that gap by giving you a structured, repeatable process you can run on any topic in a few minutes.
Download it. Run it on your next piece of content. See if it changes how you think about what belongs on the page and how to organize it.
Again, here is the .skill file: DOWNLOAD LINK


