In de “Google Analytics for WordPress” plugin van Yoast schijnt een bug te zitten in de ’trackoutbound’ en ’trackcrossdomain’ functionaliteit. Yoast zorgt er binnen deze functionaliteit voor dat links worden aangepast:
- https://github.com/Yoast/google-analytics-for-wordpress/blob/4.3.5/frontend/class-frontend.php#L424
- https://github.com/Yoast/google-analytics-for-wordpress/blob/4.3.5/frontend/class-frontend.php#L342
Zodra we in een Gravity Forms formulier een link in een ‘Sectie-einde’ plaatsen is plotseling de output van de inhoud van de WordPress pagina/bericht leeg.
Na wat debug werk met een ’the_content’ filter en de prioriteit van 0 te verhogen naar 100 kwamen we er al snel achter dat het mis ging bij de ’the_content’ filter van Yoast zijn Google Analytics plugin.
Binnen de filter van Yoast worden links met behulp van een reguliere epxressie aangepast. Ik ben zelf geen fan van reguliere expressies. Er zijn naar mijn idee namelijk erg weinig ontwikkelaars die goed weten hoe reguliere expressies werken. Daardoor zijn ze lastig in beheer en is een fout snel gemaakt. Ik probeer ze daarom zelf altijd te vermijden.
In dit geval zal er waarschijnlijk ook een fout in de plugin van Yoast zitten, waardoor de complete content van een bericht/pagina leeg wordt gemaakt. Hopelijk kan dit probleem opgelost worden in een toekomstige release. Een controle op de lengte van de content na het wijzigen van de links zou misschien ook slim kunnen zijn. De content zou immers niet korter moet worden, als dat wel het geval is is er waarschijnlijk wat fout gegaan.