Webplayer 2 / Podigee wird nur nach Anmeldung gezeigt

Hallo,

seit gestern läuft mein Podcast auch auf Podlove mit dem entsprechenden Player.
Zuerst: Hut ab, die Migration von Podpress lief soweit ganz gut.

Jedoch ergibt sich nun ein Problem: Man sieht den Player nur, wenn man eingeloggt ist. Ist man nicht eingeloggt, wird der Player nicht eingebunden, es gibt nicht einmal ein Fallback-Player (vgl. https://www.nerdtalk.de/13470-nerdtalk-sendung-460/ ).

In den Entwickler-Tools sehe ich, dass die Sicherheit der Seite beeinträchtigt würde, weil der Podcast über eine unverschlüsselte Verbindung abgerufen wird. Ich habe natürlich schon einiges ausprobiert in den Expert Settings -> Website Protocol oder alle Caches leeren - scheint aber nicht zu helfen.
Spannend: Wird die selbe Seite als eingeloggert User abgerufen, gibt es keine Sicherheitsmeldung und auch der Player wird angezeigt.

Vielleicht hat es auch gar nichts mit dem Zertifikat zu tun?
Was habe ich da falsch gemacht? :frowning:

Verwendest du ein Cache/Performance Plugin? Die sind häufig für eingeloggte Nutzer inaktiv.

Aaach, verdammt.

Offensichtlich reicht Cache löschen nicht. Ich habe nun mal das Plugin deaktivert und da war auch der Player. Plugin aktiviert, Player weg.

Irgendwelche Inkompabilitäten/Probleme mit WP Rocket bekannt?

Okay, Thema erledigt, aber zur Dokumentation mal für alle:
Das Plugin WP Rocket und der Podlove-Player beißen sich. Aber es gibt eine Lösung!

Hier das passende Statement von WP-Rocket:

Sometimes there can be an issue with external JavaScript files and minification. External files cannot be minified, but they do get moved to the top of the page.

Genau der hervorgehobene Part bricht den Playern das Genick, die ihre Skripte direkt im Playerkontext und so mit im Body laden.
Um das zu umgehen, muss man die entsprechende externe URL ausklammern und das geht nur über PHP-Code:

function __fix_wprocket_excluded_external_js( $external_js ) {

	/**
	 * Replace with your external script URL part.
	 */
	$external_js[] = 'cdn.podigee.com';

	return $external_js;
}
add_filter( 'rocket_minify_excluded_external_js', '__fix_wprocket_excluded_external_js' );

Einfach in die functions.php des Themes oder einem Snippet-Plugin reinwerfen und läuft.

Quellen:

2 „Gefällt mir“

Danke für die Meldung der Lösung. Ich würde das gerne direkt in den Publisher übernehmen und frage mich: Hast du da auch das Subscribe-Button-CDN (cdn.podlove.org) dazugenommen oder ist das nicht nötig?

Für den Subscribe-Button scheint es zu funktionieren.
Ich habe mal auf den Podlove Player 2 gewechselt statt Podigee und auch der funktioniert ohne Anpassungen.
Somit scheint nur der Podigee Player betroffen zu sein.

Aber das Javascript vom Subscribe Button wird nicht gemäß der Angabe von WP Rocket in den Head gezogen, sondern direkt im Kontext des Buttons belassen.
Ich würde an deiner Stelle das Podlove CDN zur Sicherheit auch ausschließen: Nicht, dass es eine Ungenauigkeit in den Erkennungsmechanismen von WP Rocket gibt, dies behoben wird und dann Player/Button nicht mehr funktionieren.

1 „Gefällt mir“