Title: LH HTTP/2 Server Push
Author: shawfactor
Published: <strong>May 23, 2017</strong>
Last modified: May 25, 2017

---

Search plugins

![](https://ps.w.org/lh-http2-server-push/assets/banner-772x250.jpg?rev=1663161)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/lh-http2-server-push/assets/icon-256x256.png?rev=1662813)

# LH HTTP/2 Server Push

 By [shawfactor](https://profiles.wordpress.org/shawfactor/)

[Download](https://downloads.wordpress.org/plugin/lh-http2-server-push.zip)

 * [Details](https://pcd.wordpress.org/plugins/lh-http2-server-push/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/lh-http2-server-push/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/lh-http2-server-push/#installation)
 * [Development](https://pcd.wordpress.org/plugins/lh-http2-server-push/#developers)

 [Support](https://wordpress.org/support/plugin/lh-http2-server-push/)

## Description

Server Push provides significant performance gains if used judiciously. However 
other WordPress plugins that handle server push can actually slow your site as they
push files indiscrimentally.

Most push all files enqueued by wordpress to the broswer and use output buffering
to achieve this.

However this plugin does it properly by only pushing the the assets that the browser
requires for the initial user interaction. Namely the scripts and css in the head
of the document.

Note : It requires a web server that supports HTTP/2.

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/lh-http2-server-push` directory,
    or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress

## FAQ

  Installation Instructions

 1. Upload the plugin files to the `/wp-content/plugins/lh-http2-server-push` directory,
    or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress

  How do I know if this is working?

There are a couple ways:

 1. [nghttp](https://www.nghttp2.org/documentation/nghttp.1.html) is an HTTP/2 client
    that ships with the nghttp2 suite. `nghttp -v http://example.com` will show all
    the HTTP/2 signalling packets, HTTP headers, content, and resources sent from the
    server in a single request. You can see `PUSH PROMISE` signals from the server 
    and the pushed resources after the main page is sent.
 2. In Google Chrome, chrome://net-internals/#spdy will show a history of server connections
    from the browser. Clicking on a connection will show the discussion between the
    browser and the server. Within that text, you can see `PUSH PROMISE` packets and
    the pushed resources.

  Why aren’t some css styles in the head of thye document pushed?

The plugin relies on all assets being enqueued by the time the wp_enqueue_scripts
action is run. However css styles can be enqueued and still appear in the head as
late as the wp_print_styles action. This is porr design but IU can’t control other
plugins.

  Can I modify the urls that are pushed to the browser by this plugin?

Yes there is a filter lh_htt2_server_push_urls. This filter takes the input of an
associaytive array with the urls being the key and the file type being the value.
By using this filter you can add, remove or modify all the pushed urls.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“LH HTTP/2 Server Push” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ shawfactor ](https://profiles.wordpress.org/shawfactor/)

[Translate “LH HTTP/2 Server Push” into your language.](https://translate.wordpress.org/projects/wp-plugins/lh-http2-server-push)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/lh-http2-server-push/),
check out the [SVN repository](https://plugins.svn.wordpress.org/lh-http2-server-push/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/lh-http2-server-push/)
by [RSS](https://plugins.trac.wordpress.org/log/lh-http2-server-push/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

**1.00 May 15, 2017**
 Initial release.

**1.01 May 20, 2017**
 Is admin check.

**1.02 May 24, 2017**
 More robust code.

## Meta

 *  Version **1.02**
 *  Last updated **9 years ago**
 *  Active installations **10+**
 *  WordPress version ** 3.0 or higher **
 *  Tested up to **4.7.33**
 *  Language
 * [English (US)](https://wordpress.org/plugins/lh-http2-server-push/)
 * Tags
 * [http2](https://pcd.wordpress.org/plugins/tags/http2/)[performance](https://pcd.wordpress.org/plugins/tags/performance/)
   [prefetch](https://pcd.wordpress.org/plugins/tags/prefetch/)[preload](https://pcd.wordpress.org/plugins/tags/preload/)
   [server push](https://pcd.wordpress.org/plugins/tags/server-push/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/lh-http2-server-push/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/lh-http2-server-push/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/lh-http2-server-push/reviews/)

## Contributors

 *   [ shawfactor ](https://profiles.wordpress.org/shawfactor/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/lh-http2-server-push/)