Closed Hube2 closed 2 years ago
Didn't verify this, but that seems like a lot of data and I can imagine slowness in JavaScript because of that.
A possible solution is a filter on the return value of the get_custom_replace_vars()
function, like this:
private function get_custom_replace_vars( $post ) {
$custom_fields_collection = [
'custom_fields' => $this->get_custom_fields_replace_vars( $post ),
'custom_taxonomies' => $this->get_custom_taxonomies_replace_vars( $post ),
];
return apply_filters( 'wpseo_filter_cf_replacement_vars', $custom_fields_collection, $post );
}
Though this may also cause some unforeseen complications.
This would need to be implemented for the Elementor integration as well.
A filter would be a good start. Sites that use ACF to build a layout have zero need for the custom fields to be included as replace variables, and it's unfortunate that this function severely breaks the backend without any way for a developer to override it.
Coming back to this, I was unable to reproduce this issue with just custom fields. I generated 2000+ of them and that hardly impacted the load time of the editor. So it may be specific to ACF fields and some interaction with Yoast, however, I am not sure where this originates. Any additional information to solve this is welcome.
I build "page builders" with ACF that consist of flexible content and nested repeaters. Did you actually add content to all 2000 fields?
I you look at the "wpseoScriptData" value I posted there are approximately 2400 fields with data. It is the JavaScript that acts on this date that is the cause of the issue.
Yes, I created 2000 unique custom field metadata database entries and my wpseoScriptData
was also populated with those.
Hi,
I am happy to give you login details to my staging environment that is causing this issue. Disabling Yoast fixes it.
I have no idea what the difference is, maybe it has to do with the size. What I posted appears to be 92K worth of data. None of which is necessary to the operation of the site.
Definitely isn't ACF related - I disabled ACF entirely (just leaving Yoast & WooCommerce) and the issue was still there
Definitely isn't ACF related - I disabled ACF entirely (just leaving Yoast & WooCommerce) and the issue was still there
That does not mean the ACF metadata isn't there / loaded anymore.
Sorry I thought you meant that the performance was related to the loading/initialisation of fields
Posted a workaround / hack here: https://github.com/Yoast/wordpress-seo/issues/15341#issuecomment-898555693
Is there any news from Yoast to get this fixed? Because this issue makes Yoast unusable with a lot of ACF groups/fields...
Nothing. Nearly 2 years since the original issue I linked to was posted. It's past time to move on to another SEO plugin.
This one has been going on too long. As mentioned last year, at the very least Yoast could add a single line of code to the get_custom_fields_replace_vars
function that filters the array - that way a developer could exclude all of the custom fields ACF adds which are never needed by Yoast.
If you can't work out a proper fix, can you at least implement this 1-minute solution?
Yea a simple 1 minute solution is all it take.... no respect for users
On Thu, Mar 3, 2022, 20:52 smerriman @.***> wrote:
This one has been going on too long. As mentioned last year, at the very least Yoast could add a single line of code to the get_custom_fields_replace_vars function that filters the array - that way a developer could exclude all of the custom fields ACF adds which are never needed by Yoast.
If you can't work out a proper fix, can you at least implement this 1-minute solution?
— Reply to this email directly, view it on GitHub https://github.com/Yoast/wordpress-seo/issues/17178#issuecomment-1058485608, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADXJA3MYJU2YZ7TXR3VJB3U6ERADANCNFSM47BMLJPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
Also related: #15869
Please give us a description of what happened.
The admin dashboard is extremely slow when a site makes heavy use of custom fields. When loading post edit page browser becomes unresponsive. Browser may give a warming that a script on the page is slowing down the page.
Pasted below is an example of "data" that Yoast SEO adds to the page. The script that is acting on the page and the amount of data is the cause of the issue
A work-around fix was posted here https://github.com/Yoast/wordpress-seo/issues/15341#issuecomment-730359836
Please describe what you expected to happen and why.
The above to not happen
How can we reproduce this behavior?
Technical info
Used versions