---
title: "SEO Plugins"
description: "How Lazy Blocks Pro feeds the rendered output of custom blocks to the Yoast SEO and Rank Math content analysis in the WordPress block editor."
url: "https://www.lazyblocks.com/docs/integrations/seo-plugins/"
source: "integrations/seo-plugins.mdx"
---
# SEO Plugins [Pro]

Yoast SEO and Rank Math score a page by reading the post content in the editor. A page built out of lazy blocks holds almost no readable text there, so without this integration it scores as though it had none.

## Why the analysis needs help

A lazy block stores its values, not its output. Every heading, paragraph and image the block prints is produced when the block renders, so what sits in the post content is a comment holding the block's settings. No readability or keyword check can do anything with that.

With Pro active the two plugins are given the block's real rendered HTML instead. Headings count as headings, links and images are found, and the word count matches the published page.

## Turning it on

There is nothing to turn on. Pro adds this by itself when Yoast SEO or Rank Math is active, and does nothing when neither is.

It works whatever your blocks are written in. The HTML the analysis reads comes from a real render on the server, so a block built from a PHP callback or a theme template is covered exactly like one written in HTML.

## What it does not do

- **Position is not preserved.** The rendered HTML is added to the end of the content the analysis reads, not in the place the block sits. A check that cares about where something appears, such as the keyword in the first paragraph, will read the wrong paragraph.
- **Block editor only.** The classic editor gets none of this.
- **Inner blocks come along with their parent.** A block nested inside another is covered as far as the parent's own output includes it, and not separately.

## Relation to preloading

The integration reuses whatever [editor block preloading](https://www.lazyblocks.com/docs/performance/) has already rendered, so the two work best together. Turning preloading off does not break it:

```php title="PHP"
add_filter( 'lzb_pro/preload_blocks', '__return_false' );
```

Each block is then fetched when the editor loads it, which leaves the analysis a moment behind your edits.

Nothing here changes what is saved or what visitors see. The extra HTML exists only inside the text the two plugins read.

## Documentation Index
> Fetch the complete documentation index at: https://www.lazyblocks.com/llms.txt
> Fetch every page in a single file at: https://www.lazyblocks.com/llms-full.txt
