LovedByAI
Technical Implementation

SEO vs AEO: why entities matter more than keywords

Traditional SEO optimizes for keywords, while AEO focuses on entities. Learn why search engines prioritize structured data over strings for better visibility.

12 min read
By Jenny Beasley, SEO/GEO Specialist
The AEO Playbook
The AEO Playbook

For twenty years, we taught clients to obsess over keywords. We stuffed them into <h1> tags, sprinkled them through paragraphs, and tracked rankings for specific phrases. But search has changed. Platforms like ChatGPT, Perplexity, and Google’s AI Overviews don't just match strings of text anymore - they construct answers.

This shift marks the transition from traditional SEO to answer engine optimization (AEO).

In AEO, the algorithm doesn't care if you repeated "best coffee shop in Seattle" four times. It cares if it understands the entity of your business: who you are, where you are located, and how your menu relates to user intent. Keywords are ambiguous; entities are facts.

For WordPress site owners, this is a critical pivot. Your database holds incredible content, but if it is locked inside unstructured <div> or <p> tags, AI models struggle to extract the facts they need to cite you. To survive the shift to zero-click searches, we have to stop optimizing for strings and start optimizing for things.

What is the real difference between traditional SEO and AEO?

For the last fifteen years, we optimized for a database retrieval system. You typed a string of text, and Google matched that string against an index to return a list of URLs. This approach, famously coined by Google as "Strings to Things," has now fully evolved. Traditional SEO is about matching strings. AEO (Answer Engine Optimization) is about training a model on things - entities, facts, and the relationships between them.

When a traditional crawler (like Googlebot) visits your WordPress site, it parses the DOM, weighing the <title> tag, <h1> headers, and keyword density. It is essentially checking boxes to see if your page contains the words the user searched for.

An LLM (Large Language Model) works differently. It ingests your content into a high-dimensional vector space. It doesn't just check if the word "pricing" exists; it analyzes the semantic relationship between your pricing <table> and the service description in the adjacent <h2>.

If your HTML structure relies on visual trickery - like using <span> tags styled to look like headings instead of actual semantic HTML - traditional search engines might forgive you. An LLM, however, will likely miss the hierarchy entirely.

This shift explains the decline of the "Ten Blue Links." Users no longer want a list of websites to research; they want the answer immediately. Recent data suggests that over 58% of searches are now zero-click, meaning the user gets their answer directly from the interface without ever visiting a website.

To survive this, you stop writing for a keyword match and start formatting for machine comprehension. Traditional SEO asks: "Did I mention 'best plumber' enough times?" AEO asks: "Did I provide structured data that explicitly links this Review object to this LocalBusiness entity?"

If your content is locked inside complex JavaScript or messy DOM structures, the LLM consumes noise instead of signal. You aren't just losing a ranking position; you are failing to provide the training data the engine needs to construct an answer.

Why do search engines now prioritize entities over keywords?

To understand this shift, you have to stop thinking like a typewriter and start thinking like a librarian. For decades, search engines matched patterns. If a user searched for "jaguar," the engine looked for pages where the string "j-a-g-u-a-r" appeared most frequently in the <h1> or <body> tags. It didn't know if the user wanted a luxury car, a jungle cat, or the Jacksonville NFL team.

Today, Google and Bing utilize a Knowledge Graph. This is a massive database of "entities" - distinct objects, people, places, and concepts - and the connections between them.

When an AI scans your WordPress site, it isn't counting keywords. It is building a map. It looks for specific markers that define what you are, not just what you wrote. If you run a dental practice, the AI needs to confirm the entity "Dentist" is linked to the entity "Seattle" and the entity "Dr. Smith."

This is where the concept of the Context Window becomes critical. Large Language Models (LLMs) ingest massive chunks of text at once. They analyze the semantic relationship between words in a high-dimensional vector space.

If you try old-school keyword stuffing - jamming "best plumber miami" into your footer or hiding it in a <div> - you aren't just failing to rank; you are confusing the model. The AI sees a disconnect between the natural language flow it expects and the forced repetition you provided. It treats this as low-quality noise.

Consider the difference in how data is presented:

The Old Way (Keyword Stuffing - Confusing):

"We are the best cafe in Austin. If you want the best cafe in Austin with fresh coffee, visit our Austin cafe."

The Entity Way (Structured Data - Clear): The AI looks for a LocalBusiness entity defined in JSON-LD (JavaScript Object Notation for Linked Data). It doesn't need you to repeat the city name; it needs the coordinates and the @type.

{
  "@context": "https://schema.org",
  "@type": "CafeOrCoffeeShop",
  "name": "Austin Roasters",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Austin",
    "addressRegion": "TX"
  },
  "servesCuisine": "Specialty Coffee"
}

When you define entities correctly, you allow search engines to answer questions about you with confidence. Without this structure, your WordPress site is just a collection of strings hoping to get lucky. Modern SEO is about reducing ambiguity. If the search engine has to guess what your content means because you relied on <span> tags instead of proper schema, it will simply move on to a competitor who made the data explicit.

This is why tools that focus on entity detection are replacing simple rank trackers. If you want to see if your site is speaking this language, you can check your site to see if your entities are actually being detected or if they are lost in the HTML soup.

How can you optimize your WordPress site for Answer Engines?

To optimize for Answer Engines, you must separate your visual presentation from your data presentation. Humans read your rendered HTML; machines read your structured data. While your WordPress theme handles the visual layer (CSS, fonts, layout), you need a dedicated layer for machine comprehension.

Your primary tool here is JSON-LD (JavaScript Object Notation for Linked Data).

Think of JSON-LD as a direct API feed to the search engine. Instead of forcing Google's AI to scrape your <body> tag and guess which text represents a product price, you hand it a clean JSON object that explicitly states: "This is the price."

In WordPress, many site owners rely on standard SEO plugins that generate basic schema. However, generic schema often lacks depth. To win in AEO, you need nested entities. A standard setup might declare an Organization. An optimized setup declares an Organization that owns a Product which has an Offer and is reviewed by a Person.

Here is how you might inject a specific FAQPage schema into your WordPress header using functions.php. Note the use of wp_json_encode to handle character escaping correctly:

add_action('wp_head', function() {
    $schema = [
        '@context' => 'https://schema.org',
        '@type' => 'FAQPage',
        'mainEntity' => [
            [
                '@type' => 'Question',
                'name' => 'What is AEO?',
                'acceptedAnswer' => [
                    '@type' => 'Answer',
                    'text' => 'AEO stands for Answer Engine Optimization.'
                ]
            ]
        ]
    ];
 
    echo '';
    echo wp_json_encode($schema);
    echo '';
});

If manually coding arrays in PHP feels risky, tools like LovedByAI can scan your existing content and auto-inject these complex, nested JSON-LD structures without you touching the theme files.

Building Authority Through Relationships

Search engines determine authority by mapping relationships. If you mention a "Safety Standard" in your text, do not just write it. Link it.

Use the sameAs property in your schema to link your local entities to authoritative external nodes, such as Wikipedia or Wikidata. This disambiguates your content. It tells the AI, "When I say 'Python', I mean the programming language (ID: Q28865), not the snake."

Formatting for Direct Answers

Finally, structure your prose for extraction. AI models look for the "Answer Paragraph."

  1. Ask the question in an <h2> or <h3> tag.
  2. Answer it immediately in the very first <p> tag following the header.
  3. Keep it concise. Aim for 40-60 words in that first paragraph.

Avoid fluff. If you bury the answer behind three paragraphs of backstory, the AI will likely skip your content in favor of a site that gets straight to the point. Google's own documentation on structured data emphasizes that explicit clues make their job significantly easier. When you align your WordPress structure with these expectations, you stop fighting the algorithm and start feeding it.

How to Define Entities Using JSON-LD Schema in WordPress

Search engines and AI models have evolved from matching keywords to understanding "entities" - distinct concepts like people, places, services, or ideas. By explicitly defining these entities in your <head>, you turn your content into a structured database that machines can confidently parse.

Step 1: Identify and Map Your Entity

First, determine the primary @type of your page. Is it a Service, Product, or Article? Check Schema.org for the most specific definition.

Next, map relationships using the about and mentions properties.

  • about: The main subject of the page (e.g., "Search Engine Optimization").
  • mentions: Secondary concepts discussed (e.g., "WordPress", "JavaScript").

Step 2: Generate the JSON-LD

Here is a template for a service page. Note how we link the concept to a trusted external source (Wikipedia) using sameAs. This disambiguates the term for AI.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "WordPress Speed Optimization",
  "description": "We improve site performance and Core Web Vitals.",
  "about": {
    "@type": "Thing",
    "name": "Web Performance",
    "sameAs": "https://en.wikipedia.org/wiki/Web_performance"
  },
  "mentions": [
    {
      "@type": "SoftwareApplication",
      "name": "WordPress",
      "applicationCategory": "CMS"
    }
  ]
}

Step 3: Inject Safely into WordPress

To add this to your site without editing theme files directly, use the wp_head hook in your functions.php file or a custom plugin. We use wp_json_encode() to ensure characters are escaped correctly, preventing broken markup.

add_action('wp_head', 'add_entity_schema');

function add_entity_schema() {
    // Only run on a specific page to avoid site-wide duplicates
    if ( ! is_page( 'services' ) ) {
        return;
    }

    $schema = [
        '@context' => 'https://schema.org',
        '@type'    => 'Service',
        'name'     => 'WordPress Speed Optimization',
        // Add your mapped entity data here
    ];

    echo '';
    echo wp_json_encode( $schema );
    echo '';
}

Important Pitfalls

Always validate your code using the Rich Results Test or the Schema Validator. A single missing comma in your JSON object can render the entire block invisible to search engines.

If manually coding PHP feels risky, LovedByAI can automatically detect page context and inject the correct nested schema for you. You can also check your site to see if your current entity markup is valid or missing.

Conclusion

The shift from traditional SEO to Answer Engine Optimization (AEO) marks a fundamental change in how we build for the web. We are moving away from simply matching strings of text to helping machines understand the actual "things" behind them - the entities. While keywords still play a role in capturing user intent, entities provide the necessary context that AI models rely on to generate accurate, trustworthy answers. By focusing on clear entity definitions and robust structured data, you aren't just trying to rank for a specific query; you are establishing your brand as the definitive source of truth.

Don't feel overwhelmed by this technical evolution. Start by auditing your core pages to ensure they clearly define who you are and what you offer in a way machines can parse. If you want to dive deeper into the technical implementation of these concepts, read our guide on how to implement JSON-LD schema correctly. The future of search is semantic, and you have the opportunity to define exactly how the AI sees your brand today.

Jenny Beasley

Jenny Beasley is an SEO and GEO specialist focused on helping businesses improve their visibility across traditional search and AI-driven platforms.

Frequently asked questions

No, AEO is an evolution of SEO, not a replacement. Think of traditional SEO as the infrastructure - technical health, site speed, and crawlability - that allows search engines to access your data. AEO is the optimization layer on top, structuring that content so AI models can confidently summarize it as a direct answer. You cannot have effective AEO without the solid technical foundation provided by traditional SEO practices; they work in tandem to ensure visibility in both classic lists and new chat-based interfaces.
An entity is a distinct "thing" - a person, place, organization, or concept - that search engines recognize as having a unique identity independent of specific keywords. Unlike a keyword, which is just a string of text, an entity has defined attributes and relationships. For example, Google understands "Tesla" not just as a word, but as a specific `Organization` entity linked to "Elon Musk" (Person) and "Electric Vehicles" (Concept). Optimizing for entities involves connecting these dots clearly for the search engine using structured data.
Yes, but their function has shifted from density to context. AI search engines still use keywords to identify the subject matter, but they prioritize the semantic meaning and intent behind the query over exact matches. Instead of repeating a phrase like "plumber in Chicago" ten times, you should focus on covering the topic comprehensively - mentioning emergency services, [pricing](/pricing), and specific neighborhoods. The AI looks for these contextual clues to determine if your content is the most helpful answer, rather than just counting word frequency.
The definitive proof is the appearance of a Knowledge Panel - the information box that appears on the right side of desktop search results - when you search for your brand name. This panel confirms that Google has connected your brand to specific facts (logo, founder, social profiles) and recognizes it as a distinct entity. If you don't see one, search engines may still treat your brand name as just text. To fix this, ensure you have robust `Organization` Schema markup and consistent citations across the web.

Ready to optimize your site for AI search?

Discover how AI engines see your website and get actionable recommendations to improve your visibility.