Host pagespeed insights on my own server - pagespeed

As title, is there any way to host google pagespeed insights on my own server instead of using google api to run a test?
Thanks

Yes, but with a few caveats.
First off, the core of PageSpeed is open-source, and so are the browser extensions (Chrome, FF), which provide built-in optimization recommendations. Given the projects above, you already have all the necessary code available to run it yourself.
PageSpeed also ships with a har_to_pagespeed tool, which you can use to to generate a list of recommendations. Check out this blog post from Steve Souders. Link to his online tool.
To generate a har file you'll need a separate process / browser driver - there are a few open-source tools available that can do this. Check out phantom.js.
Finally, the above has a small caveat. har_to_pagespeed won't give you the exact same results as a browser extension, because the browser extensions analyze the DOM as well and make some recommendations based on that. This data is not available within the HAR format.

Related

How to serve a PDF file via a HTTP request

I'm working with some new SCADA software, which uses a browser environment to display everything. One component that the software has is a PDF viewer, however, since we're in a browser environment, it can only load files that are served up over HTTP. According to the forums, this means that the source of the PDF needs to be a URL.
The forum also notes that I can use one of their modules (WebDev) to "stream the PDF bytes over HTTP", and provides directions for how to do so. However, the WebDev module is outside the budget of my project (it's quite a high-powered module, I'd be paying a premium price and then using 1% of its functionality). So I'm wondering if it's possible to serve up a PDF via HTTP some other way.
I'm not an experienced programmer - I'm self taught out of necessity on a small handful of languages, and to a basic level only. As such, I don't fully understand the problem, nor do I know what search terms to use to find the sort of information I need to solve it.
If anyone's able to provide a partial solution, or even just able to help me understand what I'm asking for and where to go looking for some answers, I'd appreciate it!
The PC hosting the PDF files and the SCADA gateway is running Windows 10.
I had the same issue integrating .pdf report to our SCADA system having web interface and running node.js at backend.
The main point is:
Generate your pdf in client end (web interface)
Convert it to Base64 format as URi
Preview on DOM or send it to server!
Send excel and pdf to server side
hope that helps!

How to collect contact information from websites?

Does anyone know a web crawler tool for collecting contact details from a website? Say I have a www.website/contact.. I want to pull out the address, phone number, etc.. There are 2 tools I've been looking at: cralwer4j opensource jar for java and Scrapy opensource in Python. But I am finding it a bit hard to use for my scenario.
Any suggestions would be great. Thanks
You might google for "simple web crawler" to find a solution that fits you best. In the net there are plenty "pure python" based web crawlers. Based on sceleton code you add db wrap up. I think the most problem would be db setting and saving data in it.
What if there are 1000000s of websites to crawl.. Is there a way to crawl all websites in my are?
No problem for scripting. Just put millions addresses in a file (or files), open it for reading in python or other script. Then get link by link from it and crawl/scrape to your pleasure. Result you might also want to save in file (csv, json).
I'd also recommend you a ready simple python crawler.

Build an Offline website - Burn it on a CD

I need to build a website that can be downloaded to a CD.
I'd like to use some CMS (wordpress,Kentico, MojoPortal) to setup my site, and then download it to a cd.
There are many program that know how to download a website to a local drive, but how to make the search work is beyond my understanding.
Any idea???
The project is supposed to be an index of Local community services, for communities without proper internet connection.
If you need to make something that can be viewed from a CD, the best approach is to use only HTML.
WordPress, for example, needs Apache and MySQL to run. And although somebody can "install" the website on his own computer if you supply the content via a CD, most of your users will not be knowledgeable enough to do this task.
Assuming you are just after the content of the site .. in general you should be able to find a tool to "crawl" or mirror most sites and create an offline version that can be burned on a CD (for example, using wget).
This will not produce offline versions of application functionality like search or login, so you would need to design your site with those limitations in mind.
For example:
Make sure your site can be fully navigated without JavaScript (most "crawl" tools will discover pages by following links in the html and will have limited or no JavaScript support).
Include some pages which are directory listings of resources on the site (rather than relying on a search).
Possibly implement your search using a client-side technology like JavaScript that would work offline as well.
Use relative html links for images/javascript, and between pages. The tool you use to create the offline version of the site should ideally be able to rewrite/correct internal links for the site, but it would be best to minimise any need to do so.
Another approach you could consider is distributing using a clientside wiki format, such as TiddlyWiki.
Blurb from the TiddlyWiki site:
TiddlyWiki allows anyone to create personal SelfContained hypertext
documents that can be published to a WebServer, sent by email,
stored in a DropBox or kept on a USB thumb drive to make a WikiOnAStick.
I think you need to clarify what you would like be downloaded to the CD. As Stennie said, you could download the content and anything else you would need to create the site either with a "crawler" or TiddlyWiki, but otherwise I think what you're wanting to develop is actually an application, in which case you would need to do more development than what standard CMS packages would provide. I'm not happy to, but would suggest you look into something like the SalesForce platform. Its a cloud based platform that may facilitate what you're really working towards.
You could create the working CMS on a small web/db server image using VirtualBox and put the virtual disk in a downloadable place. The end user would need the VirtualBox client (free!) and the downloaded virtual disk, but you could configure it to run with minimal effort for the creation, deployment and running phases.

Is there an equivalent to the mod_pagespeed Apache module for IIS?

Is there an equivalent to mod_pagespeed Apache module but for IIS?
IISpeed is a full-featured pagespeed port to IIS. It requires a paid license for production servers to avoid showing a banner, but it is free to try out.
Full disclosure: I am one of the people working on the port. So I will not push this further than mentioning the port.
This isn't a direct mod_pagespeed replacement but does some work towards reducing the number of requests, minifying and bundling JS and CSS.
It even automatically provides lossless compression of PNG-images and creates sprites of your background images. See the RequestReduce library.
(not tried it myself)
There aren't any solutions that do exactly what mod_pagespeed does at this time. There are several individual packages you could use to match most of the functionality.
The product #alirobe mentioned (aptimize) does many of them.
YUI Compressor (.Net port) works on JavaScript and CSS minification
IIS (version 5.1 and newer; though much easier to configure in IIS7+) can be configured to do GZIP compression for static and dynamic files
You can set Expires headers in IIS for static files, and in back-end .Net code for dynamic pages
.Net 2.0 can do some script combining with explicit configuration via the <asp:ScriptManager> control
.Net 4.0 has even more script combining abilities and can do more with less configuration. (example discussion of some of the new features)
UPDATE: .Net 4.5 further extends script combining with minification.
Scott Hanselman wrote The Importance (and Ease) of Minifying your CSS and JavaScript and Optimizing PNGs for your Blog or Website that lists many other individual packages that can be combined.
No.
Not right now, at least.
Do keep in mind, however, that mod_pagespeed is an automation of the best practices of web caching and speeding and you can manually set those up. PageSpeed Extension and YSlow extension are both very helpful to understand what should be optimized.
I don't believe there's a free one, but there is : http://www.aptimize.com/
update: Of course, if you're using any other automated deployment tool, you could do quite a bit by integrating commandline tools into the build batch script. HTML5 Boilerplate is probably your best practice reference there. You can also use server-side tricks like HttpCombine.ashx.

Google Analytics-like module for Drupal site behind firewall?

Anyone know how to use Google Analytics for a Drupal-powered company intranet site behind our firewall?
and/or
Anyone know of a good analytics-style module for Drupal that can tell us things like visitor browser/versions, OS, monitor size, etc. ? Pretty graphs and charts nice but not required. Or at the least a recipe for rolling our own thru views?
I'll tackle the firewall issue by saying- set up a stats package on an internal web server. There are a few Drupal modules that provide the connective tissue.
Piwik might still be a little raw, but it has good screenshots. It is sort of a self-hosted Google Analytics. FireStats has popped up since I last checked into this. Also available is BAWStats which operates by log analysis.
WebTrends can do that -- but it's not cheap.
Take a look # mint it may reside with your drupal files .......
it is my alternative for Google Analytics with local intranets.
EDIT : there it's the Mint module. Here is an excerpt from its project page:
Provides basic integration with Mint, a proprietary traffic logging and statistics tool.

Resources