Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: Empty state of custom field can cause SEO problem #68699

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

dhananjaykuber
Copy link
Contributor

@dhananjaykuber dhananjaykuber commented Jan 16, 2025

Fixes #66887

What?

Prevents empty heading tags from being rendered in the frontend when using block bindings or when heading content is empty.

Why?

Empty heading tags (<h1>, <h2>, etc.) can cause SEO issues as they create unnecessary markup in the page structure. This is particularly problematic when using block bindings where the heading content might be dynamically empty. The fix ensures better SEO practices by preventing empty heading tags from being output.

How?

Added empty content checks in both:

  1. The block's save.js to prevent empty headings from being saved
  2. The PHP render callback to prevent empty headings from being rendered

Testing Instructions

  1. Create a new post
  2. Add a heading block
  3. Leave it empty or delete its content
  4. Save and view the post
  5. Verify no empty heading tag is rendered in the frontend HTML

@dhananjaykuber dhananjaykuber changed the title fix: handle empty content in heading block rendering Fix: Empty state of custom field can cause SEO problem Jan 16, 2025
Copy link

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core, Gutenberg Plugin.
  • Labels found: [Feature] Block bindings.

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

@dhananjaykuber dhananjaykuber marked this pull request as ready for review January 16, 2025 13:44
Copy link

github-actions bot commented Jan 16, 2025

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: dhananjaykuber <[email protected]>
Co-authored-by: carolinan <[email protected]>
Co-authored-by: talldan <[email protected]>
Co-authored-by: SantosGuillamot <[email protected]>
Co-authored-by: simonemanfre <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@carolinan
Copy link
Contributor

Hi
There is some additional context about empty blocks, including the heading here:
#59996

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Block Bindings: empty state of custom field can cause SEO problem
3 participants