Yoast / yoast-acf-analysis

WordPress plugin that adds the content of all ACF fields to the Yoast SEO score analysis.
https://wordpress.org/plugins/acf-content-analysis-for-yoast-seo/
GNU General Public License v3.0
61 stars 20 forks source link

Incorrect keyphrase density highlight on WYSIWYG repeater field causing some characters to display HTML entity #383

Open amboutwe opened 20 hours ago

amboutwe commented 20 hours ago

Please give us a description of what happened.

Sometimes, the highlight tool converts &, <, and > to &amp;, &lt;, and &gt;.

Does not happen for these characters !"#$%'()*+,-./:;=?@[\]^_{|}~

Please describe what you expected to happen and why.

Clicking the density highlight should not change the text.

How can we reproduce this behavior?

Starting with a vanilla installation:

  1. Install and activate Yoast SEO (free)
  2. Install and activate Advanced Custom Fields PRO (license required)
  3. Import ACF field group (see below)
  4. Install and activate ACF Content Analysis for Yoast SEO
  5. Go to Admin > Posts > Add New Post
  6. Add title and content (see below)
  7. Click 'Add Row' in the 'Sample repeater group'
  8. Enter ACF content in WYSIWYG box (see below)
  9. Add keyphrase Donec
  10. Expand the SEO analysis
  11. Click the highlight eye icon next to the Keyphrase density check
  12. See the highlight isn't around the keyphrase and character changes to HTML.
  13. If this doesn't happen: Note where the highlights appear on your screen. Unclick the eye highlight and add & to the middle of where the highlighted color appears. Click the eye again. Might take a few tries to get the right location.

Video

https://github.com/user-attachments/assets/84981c8d-f6a8-440c-a269-dd5967b29c25

Technical info

Related issues:

https://github.com/Yoast/yoast-acf-analysis/issues/107 https://github.com/Yoast/yoast-acf-analysis/issues/190

Attachments

ACF field group import: acf-export-2024-10-14.json Title: ACF Test (although anything or nothing is fine, too)

Default content ```

Donec varius tortor in magna feugiat gravida. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tempus, neque nec euismod sagittis, arcu ligula malesuada ante, at suscipit ipsum ex sed est. Morbi pharetra vulputate lacinia. Donec bibendum lectus vel nibh hendrerit, vel iaculis nunc pulvinar. Nullam tincidunt mauris id elementum euismod. Ut lacinia enim quis porta tincidunt. Etiam dolor enim, facilisis vel fermentum non, hendrerit nec risus. Fusce non turpis eu ante posuere posuere. Nunc egestas eget urna quis vehicula. Integer eu ex nec eros porta malesuada vitae nec ante. Morbi rutrum consequat vestibulum. Fusce eu eros eget orci ultrices rutrum. In neque elit, molestie pharetra ligula nec, tristique fringilla neque.

Donec elementum velit ut tempor vestibulum. Maecenas vulputate venenatis tortor mattis iaculis. Sed vestibulum pellentesque maximus. Vestibulum non fermentum augue. Nunc porta, felis non ornare accumsan, turpis leo fringilla ligula, dignissim finibus dui sapien eget purus. Integer commodo nibh eu pulvinar viverra. Duis dolor ante, tempor ac lorem eu, mattis faucibus eros. Aliquam dapibus, arcu sit amet tristique laoreet, odio urna mattis diam, vitae semper odio odio eu ligula. Ut eros mi, malesuada et ultricies sit amet, faucibus sit amet risus. Nulla purus nulla, volutpat nec volutpat non, porttitor a erat. Ut vulputate ultricies dolor, non hendrerit est cursus vel. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin rhoncus lacinia accumsan.

Praesent urna metus, pharetra eu nunc sit amet, volutpat rutrum ligula. Pellentesque nibh risus, suscipit sed dictum non, maximus non ipsum. Nunc id sodales erat. Phasellus a interdum diam. Donec vitae lacus porttitor turpis ultrices pulvinar. Proin a eleifend libero. In fermentum et urna sed elementum. Fusce a condimentum lorem. Proin aliquet tincidunt tristique. Nunc tempor ultrices tortor vel molestie.

Vivamus blandit elit mi, eget maximus mi posuere at. Morbi nec purus blandit, vehicula lectus at, vestibulum augue. Ut laoreet, tortor non pretium gravida, eros felis feugiat est, nec hendrerit lorem eros suscipit risus. Vestibulum euismod et metus sit amet ultrices. Praesent laoreet ultricies feugiat. Morbi maximus sapien at magna cursus, at eleifend erat finibus. Duis efficitur turpis a felis ultrices, at molestie nibh suscipit. Suspendisse finibus massa at urna viverra, non ornare enim condimentum. Aenean at nunc ornare, ullamcorper est vel, aliquam dolor. Morbi ultrices placerat nibh non placerat. Donec in hendrerit lectus. Pellentesque malesuada dui nec velit scelerisque, et gravida elit porta.

Aenean scelerisque orci velit, et finibus turpis elementum non. Fusce feugiat interdum dui at tempor. Nullam cursus dapibus urna, sed mattis libero condimentum sit amet. Donec fermentum velit in dolor malesuada imperdiet. In viverra efficitur elementum. Phasellus convallis eros turpis, in commodo dui commodo eget. Mauris faucibus eget enim et laoreet. Cras ac feugiat velit, sit amet interdum ligula. Duis malesuada commodo massa, quis mattis lorem. Praesent cursus a purus nec congue. Aenean sagittis, nunc eget sollicitudin varius, magna purus placerat mauris, eu interdum elit mi vel nulla. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

```
ACF content Nullam at ex vulputate orci ultricies dictum ac rutrum augue. Proin nunc nulla, pulvinar sit amet laoreet at, accumsan at sapien. Sed aliquam, elit sed lobortis feugiat, ligula turpis aliquam lorem, in venenatis nisi diam et orci. Ut ugue Fuse & empor, sem scelerisque dictum fringilla, lectus magna ultricies elit, iaculis commodo ex purus sit amet nisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Vivamus eget erat ut mauris posuere lobortis eget gravida ligula. Duis feugiat lacus mi, finibus lacinia arcu vehicula sit amet. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
amboutwe commented 20 hours ago

Please inform the customer of conversation # 1177122 when this conversation has been closed.