How is it possible to push a javascript only for guest visitors, who are not logged in?
]]>Hi,
Wondering if you’re able to help with this – Wordfence is showing this plugin as abandoned.
Thank you
]]>Hello,
Will you tell me is HTTP/2 Server Push GDPR Compliant>
Does it collect, monitor customer, visitor data, IP? Does it use cookies?
Thank you
]]>Hi
while there doesn’t seem to be any problems with the plugin, Wordfence is moaning that it hasn’t been updated for long and that it seems abandoned.
Maybe you could shove the info on “Tested up to” and “WordPress Version” up to “5.x”. As far as I know that’s the case.
Thanks in advance,
Ralf
Good day!
Would like to know if it supports CDN? Will it preload my assets from a CDN? CDN is enable though wp supercache which handles changing the asset’s links.
Thanks a lot for any input!
]]>I installed http/2 server push plugin on my wordpress site. Since then I get this error code and can not access my website anymore (also no backend access)
This can’t be reached
The web page at https://v2.miteinander-reden.net/ might be temporarily down or it may have moved permanently to a new web address.
ERR_SSL_UNRECOGNIZED_NAME_ALERT
How can I get rid of this?
Is deleting the plugin an option?
Thank you,
Johannes
Does not work, tried with your rules in functions.php as well. cache is cleared, http2 is enabled on server as always. No cloudflare or cdn is in use, still not working.
]]>to avoid pushing resources every request, we need to set browser cookies to push resources for 1st time only.
is this plugin supports this?
or `
it pushing every time when a page loads.
`
]]>Hi. It doesn’t work with Autoptimize plugin.
]]>Just curious if this would work if you are using WP Rocket on your website.
]]>We use MaxCDN along with our site so links are going through that custom url (I.e something like https://site.netdnasmaxcdn.com instead of site.com). When I use this plugin it does a server push to my site but then those resources are unnecessary since the site doesn’t actually load from our site but rather from MaxCDN. Anyway to fix this or change something to make it work?
]]>Hi,
I’m using BWP Minify Plugin https://www.ads-software.com/plugins/bwp-minify/ to combine and minify CSS and JS Files. But then the output files were not being pushed.
Please advice. Thanks in advance.
]]>Is this plugin fully php 7 compatible?
]]>I have been using HTTP/2 server push on my sites fine, however, I have a site that requires me to use the customizer. When HTTP/2 Server push is active the customizer shows a 502 Bad gateway error instead of the site.
This error is corrected when I disable the plugin.
Not sure if there is a way around this or not? Any guidance would be appreciated.
]]>If the plugin ins active, it comes to a 502 Bad Gateway / Ngnix error (without Cloudflare). I have read that the plugin is not compatible up to 4.7.5 (max is 4.6.6?) so maybe an update make some sense?
]]>More of a discussion point than a support question: are there actually any benefits of adding link preload tags in the header when there is no HTTP/2 support? It feels just as pointless as trying to push a whole stack of letters through a very small letterbox at once.
By the way, I tried
add_filter('http2_render_resource_hints', '__return_true');
to test this but it does not seem to have any impact. No link tags are added to the source head section…
]]>Hi,
Thanks for this great plugin!
My question: is it possible to exclude browser specific resources, notably for IE, from being pushed?
For example, the default Twenty Seventeen theme includes a html5.js and a ie8.css for IE8/9 which, when HTTP/2 Server Push is activated, are pushed to ALL browsers. In fact, they are pushed ONLY to browsers that do not need them because IE8 and 9 do not even support HTTP2…
I see a $src filter in the plugin which could be used like this:
function my_http2_exclude_filter( $src ) {
$exclude = array( 'ie8.css', 'html5.js');
foreach ( $exclude as $str ) {
if ( stripos($src, $str) ) $src = "";
}
return $src;
}
add_filter('http2_link_preload_src', 'my_http2_exclude_filter');
But I realize filtering based on file name is not a very elegant solution… Anyone know a better way?
]]>First of all, thank you for creating this great and simple plugin.
I have noticed that there may be a few unnecessary files being pushed.
After looking that the Headers Response (using hurl.it) I can see these calls:
Link: <https://www.example.com/wp-json/>; rel="https://api.w.org/", <https://www.example.com/?p=15045>; rel=shortlink,...
Should these calls be obmitted
]]>I’ve read the pinned post, this isn’t about that.
On just getting into HTTP/2 and am very naive here…
CloudFlare has a plugin of which triggers pushing based on a DEFINE in wp-config:
https://support.cloudflare.com/hc/en-us/articles/115002816808-How-do-I-enable-HTTP-2-Server-Push-in-WordPress/
Does it make any sense to use that for CloudFlare and then _also_ use this plugin, or should it be an either/or thing? I haven’t reviewed the CF code, I’m not sure if they’re parsing the page or if they’re triggering off of enqueued items.
]]>It would be an awesome plugin, if it only worked with others ??
I see the script outputs all the styles and scripts registered, the problem is, I have a special plugin to reduce the number: autoptimize. It takes most of the styles together and outputs them in one joint css file. It does the same for js.
The problem is that Server push plugin outputs rel headers for my original styles and script and not for the ones that are later on in the HTTP source code (autoptimized).
If this plugin could somehow learn which styles and scripts autoptimize creates, that would be awesome! Thanks in advance for considering it.
]]>Does this work with multisite?
]]>incredible performance boost, couldn’t be more pleased
]]>Does it work with https?
I try to test it on http, but I get:
[ 0.001] send SETTINGS frame <length=12, flags=0x00, stream_id=0>
(niv=2)
[SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100]
[SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535]
[ 0.001] send HEADERS frame <length=32, flags=0x05, stream_id=1>
; END_STREAM | END_HEADERS
(padlen=0)
; Open new stream
:authority: paleosmak.pl
:method: GET
:path: /
:scheme: http
accept: */*
accept-encoding: gzip, deflate
user-agent: nghttp2/0.6.4
[ 0.002] send GOAWAY frame <length=25, flags=0x00, stream_id=0>
(last_stream_id=0, error_code=PROTOCOL_ERROR(0x01), opaque_data(17)=[SETTINGS expected])
Some requests were not processed. total=1, processed=0
So I have no idea whether it worked or not.
]]>I have a lot of these errors in my debug.log:
[31-Aug-2016 23:08:34 UTC] PHP Warning: array_walk() expects parameter 1 to be array, null given in /mnt/web018/a3/75/56880175/htdocs/WordPress_01/wp-content/plugins/http2-server-push/http2-server-push.php on line 70
]]>I learned about your plugin on the WPMUDEV post ” “
I did a before and after comparison on a few of my sites using this site:
https://tools.keycdn.com/speed
I am using the “Content Size” and “Time” columns to compare the before and after here.
Then with the plugin installed on one site I noticed that (using the same speedtest) each time I get different results, with “Content Size” varying from 850kb to 150kb then 450kb… and of course “Time” varying as well.
So my questions are then:
– Is this kind of speedtest a fair way to judge the benefits of your plugin?
– If so then what’s up?
– If not then is there a better tool?
Thanks!
]]>Hey,
It seems that Cloudflare has fixed the problem with 520 errors, so we can finally use the plugin, it works great, just one thing that I would like to see added.
The ability to choose which assets are preloaded, instead of just preloading all, as that can cause performance issues. If that is something you could add then that would be great.
Here’s the article from Cloudflare about the fix btw:
https://blog.cloudflare.com/http-2-server-push-with-multiple-assets-per-link-header/
]]>I was out of town for a few days. WordPress upgraded to 4.5.3 while I was away and I updated with your new version 1.2. Now I’m seeing what *used* to show up in the link: response header when using Chrome is now showing up in a previously unseen cf-h2-pushed: response header.
I only noticed because opening the Network console in Chrome no longer shows my scripts and stylesheets loading at (index):1.
This coincides with your 1.2 update, but I rolled back to 1.1 and am also seeing this new header behavior.
]]>If you are using Cloudflare and getting 520 errors, please contact Cloudflare support. They will help you troubleshoot issues on your server that may be causing this issue.
I can’t do anything to help you. My plugin is literally just sending HTTP headers. It’s up to your web server software and Cloudflare to parse them.
]]>I got this warning in Chrome “<link rel=preload>must have a valid
as` value”.
On line 74 the ‘as’ is set as ‘stylesheet’ for css files:
function http2_link_link_as( $current_hook ) {
return ‘style_loader_src’ === $current_hook ? ‘stylesheet’ : ‘script’;
}
This must be ‘style’, see https://w3c.github.io/preload/#server-push-http-2
]]>Hello,
I have http2 working well on my sites but have been unable to achieve server push using your plugin.
Enabling the plugin results in a 502 error. Please forgive me if I’m completely barking up the wrong tree but I wonder if the issue could be the use of prefetch rather than preload.
Reading up on Cloudflare, my understanding is that prefetch has been available to their enterprise level customers for a while but preload is a newly supported feature for all customers using http2.
Could this be the reason why it doesn’t work for me or is it likely to be something else?
]]>