DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: Google Pagespeed

Created:2010-02-18T17:33:18
Changed:2013-01-26T19:10:10
Classification:xf_googlepagespeed
Keywords:page optimation, pagespeed
Author:Xaver Maierhofer
Email:xaver.maierhofer@xwissen.info
Info 4:
Language:en

img-1 img-2 EXT: Google Pagespeed - xf_googlepagespeed

EXT: Google Pagespeed

Extension Key: xf_googlepagespeed

Language: en

Keywords: page optimation, pagespeed

Copyright 2013, Xaver Maierhofer, <xaver.maierhofer@xwissen.info>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

EXT: Google Pagespeed 1

`Introduction 3 <#__RefHeading__12114_1291889666>`_

What does it do? 3

Screenshots 3

Demo 3

`Options 4 <#__RefHeading__2549_36282138>`_

`FAQ 5 <#__RefHeading__1952_36282138>`_

How to test optimized problems? 5

I saw Google Pagespeed as Apache mod, it is perfect and I have nothing to-do?! 5

Google insights show a newer/other score? 5

`Recommendations 6 <#__RefHeading__2301_36282138>`_

What should I optimize? 6

What score average should I have? 6

`Google values 7 <#__RefHeading__769_1924201445>`_

`Additional Information 9 <#__RefHeading__1978_36282138>`_

Thanks to 9

External information 9

Todo/Ideas 9

Bugs 9

`ChangeLog 10 <#__RefHeading__12134_1291889666>`_

Introduction

What does it do?

You can insert one or more sitemap's and it uses a scheduler task to get the Google Pagespeed results for it. You will have two tables, one with every page and results and a second with problems sorted by impact.

Please give me feedback (positive or negative). Send me a mail in English or German.

Screenshots

img-3 Activate in Google Console the Page Speed Online img-4 Backend view (Count of shown records have been manipulated)

Demo

No demo, because all information in Backend.

Options

BASIC

sitemaps

Property

sitemaps

Description

You need to set your own sitemap(s). You can separate multiple maps with "," all URLs will be added and analyzed.

pause

Property

pause

Description

Pause between checks. Google has a variable limit“requests/second/user”. Maybe you need to change the limit or use this pause setting, because your server need also performance. Value is in seconds.

Default

1

redo

Property

redo

Description

If NO new date on last modification in sitemap, you can set here the recheck time. If a site in sitemap has a new last modified date it will be rechecked and ignore this setting. 1209600 sec = 2 weeks

Default

1209600

checksPerRun

Property

checksPerRun

Description

For small sites it is not so important. Here you can set how many checks each run are done. Example: Task every 10 minutes = 6 times hour * 24 = 144 runs a day and Google limit is by 2500 -> 2500/144 = ~17 sites pro check. If you run the task every hour you have 24 checks a day is 104 check each run. Only i sites for checks available.

Default

50

SERVICES

googlePagespeedKey

Property

googlePagespeedKey

Description

Get a keys form Google. 2500 checks are free/available. Notice: Set the limit form 1.00/request/user/sec higher.

Default

w3c

Property

w3c

Description

Add w3c checks

Default

true

validatornu

Property

validatornu

Description

Add validator nu support

Default

true

FAQ

How to test optimized problems?

Google Pagespeed is available as Chrome/Firefox extension or online version. Also you can easily press reload result.

I saw Google Pagespeed as Apache mod, it is perfect and I have nothing to-do?!

Don't use it, sometimes you have a problem and not so much control. Everything it dose you can handle with existing Apache mods and you need it only to setup and you control everything.

Google insights show a newer/other score?

Good question, ask Google. Sometimes it looks like API uses a cache and Web won't. Its works few hours later again or days.

Recommendations

What should I optimize?

Everything you can and want to-do. Some parts can't or have no use for you. Google has a impact score in second list (default sorting), maybe go after that. Also you find on Google Pagespeed a FAQ with a lot of information about different optimization's. Some optimization's only possible with full server access.

What score average should I have?

A small site has chance to have 98-100. I try to get always over 95, because that is most often possible. High score is always good for fast rendering. I use this extension more like a overview and if I think its good to improve it, I will to it.

Google values

Last

Name

Last

Description/Improve-suggestions for/in TYPO3

Last check and recheck – not form Google

Title

Name

Title

Description/Improve-suggestions for/in TYPO3

<title> Information – Link to the Page

Score

Name

Score

Description/Improve-suggestions for/in TYPO3

Overall score from Google for this page

W3c

Name

W3c

Description/Improve-suggestions for/in TYPO3

If enabled – W3c HTML Errors - 0 is best

Validator Nu

Name

Validator Nu

Description/Improve-suggestions for/in TYPO3

If enabled – Validaor Nu HTML Errors - 0 is best

Response Code

Name

Response Code

Description/Improve-suggestions for/in TYPO3

Should be 200 for success

Number Resources

Name

Number Resources

Description/Improve-suggestions for/in TYPO3

Number of loaded files

Number Hosts

Name

Number Hosts

Description/Improve-suggestions for/in TYPO3

Number of different hosts (if you use CDN or other external stuff)

Total Request Bytes

Name

Total Request Bytes

Description/Improve-suggestions for/in TYPO3

Without gzip

number Static Resources

Name

number Static Resources

Description/Improve-suggestions for/in TYPO3

html Response Bytes

Name

html Response Bytes

Description/Improve-suggestions for/in TYPO3

HTML size (without gzip)

css Response Bytes

Name

css Response Bytes

Description/Improve-suggestions for/in TYPO3

Total CSS size (without gzip)

image Response Bytes

Name

image Response Bytes

Description/Improve-suggestions for/in TYPO3

Total image size

javascript Response Bytes

Name

javascript Response Bytes

Description/Improve-suggestions for/in TYPO3

Total JavaScript Size

number Js Resources

Name

number Js Resources

Description/Improve-suggestions for/in TYPO3

Number of JavaScript files – With config.concatenateJsAndCss = 1 in TypoScript it will be compressed in 1-3 files. DON'TUSE headerData FOR INCLUDE JS FILES! (Only CSS or js is possible)

number Css Resources

Name

number Css Resources

Description/Improve-suggestions for/in TYPO3

Number of CSS files - – With config.concatenateJsAndCss = 1 in TypoScript it will be compressed in 1 file. DON'TUSE headerData FOR INCLUDE JS FILES! (Only CSS or js is possible)

Avoid Bad Requests

Name

Avoid Bad Requests

Description/Improve-suggestions for/in TYPO3

Avoid Charset In Meta Tag

Name

Avoid Charset In Meta Tag

Description/Improve-suggestions for/in TYPO3

Avoid Css Import

Name

Avoid Css Import

Description/Improve-suggestions for/in TYPO3

Don't use @import for CSS, because the browser need to load the CSS and get the information for next css, it is slowing down the rendering.

Avoid Excess Serialization

Name

Avoid Excess Serialization

Description/Improve-suggestions for/in TYPO3

Avoid Landing Page Redirects

Name

Avoid Landing Page Redirects

Description/Improve-suggestions for/in TYPO3

Do not redirect from http://domain.tdlhttp://www.domian.tdlhttp://www.domain.tdl/home.html

Avoid Long Running Scripts

Name

Avoid Long Running Scripts

Description/Improve-suggestions for/in TYPO3

Defer Parsing Java Script

Name

Defer Parsing Java Script

Description/Improve-suggestions for/in TYPO3

Load JS if site is finished, 2-3 ways exists, take a look at google. If your home site has Tabs or Accordion it is not so recommended.

Eliminate Unnecessary Reflows

Name

Eliminate Unnecessary Reflows

Description/Improve-suggestions for/in TYPO3

EXPERIMENTAL from Google. Reflows (+ JS) needs a lot of performance to render.

Enable Gzip Compression

Name

Enable Gzip Compression

Description/Improve-suggestions for/in TYPO3

On an Apache-server it is mod_deflate, it is the fastest against mod_gzip.

Inline Small Css

Name

Inline Small Css

Description/Improve-suggestions for/in TYPO3

Sometimes you have a small CSS line and a extra file. Use a inline CSS line, because loading a extra file with modern Browsers slower as load & render it in initial load.

Inline Small Java Script

Name

Inline Small Java Script

Description/Improve-suggestions for/in TYPO3

Sometimes you have a small JS line and a extra file. Use a inline JS line, because loading a extra file with modern Browsers slower as load & render it in initial load.

Leverage Browser Caching

Name

Leverage Browser Caching

Description/Improve-suggestions for/in TYPO3

Use Expire times and CacheControl. If you use merge CSS JS from typo3, it has every time a new name you change something and it will be loaded. Without a setting Browser try to-do itself and request more often. Use new names for Images if you replace a important image and everything works fine.

Minify Css

Name

Minify Css

Description/Improve-suggestions for/in TYPO3

Some parts from TYPO3 cant be minifyed, I reset tx_cssstyledcontent._CSS_DEFAULT_STYLE and put what I need in my CSS file. It is a onetime work and you can reuse it as default CSS/SCSS files. Compresss with config.compressCss = 1 in TypoScript

Minify HTML

Name

Minify HTML

Description/Improve-suggestions for/in TYPO3

The Extension SourceOpt dose a lot of stuff for a single line output. Google will always say you can optimize HTML, because of the TYPO3 comment in Head

Minify Javascript

Name

Minify Javascript

Description/Improve-suggestions for/in TYPO3

Compresss with config.compressJs = 1 in TypoScript

Minimize Redirects

Name

Minimize Redirects

Description/Improve-suggestions for/in TYPO3

Minimize Request Size

Name

Minimize Request Size

Description/Improve-suggestions for/in TYPO3

Optimize Images

Name

Optimize Images

Description/Improve-suggestions for/in TYPO3

You can optimize images with same quality level. PNG can drop not used alpha layers and different compression exists. JPG is also possible. I developed a extension xf_imgopt with options like a scheduler(cronjob) or upload to optimize images.

Optimize The Order Of Styles And Scripts

Name

Optimize The Order Of Styles And Scripts

Description/Improve-suggestions for/in TYPO3

First CSS, because it can render while JS is loaded. Put JS in footer!

Prefer Async Resources

Name

Prefer Async Resources

Description/Improve-suggestions for/in TYPO3

Put Css In The Document Head

Name

Put Css In The Document Head

Description/Improve-suggestions for/in TYPO3

CSS is for the <head>!

Remove Query Strings From Static Resources

Name

Remove Query Strings From Static Resources

Description/Improve-suggestions for/in TYPO3

TYPO3 use query strings on CSS by default (merged- 312a2..css?127323433) and proxy's sometimes unable to cache it!

Serve Resources From A Consistent Url

Name

Serve Resources From A Consistent Url

Description/Improve-suggestions for/in TYPO3

Serve Scaled Images

Name

Serve Scaled Images

Description/Improve-suggestions for/in TYPO3

This is more like a optional, because if you sue responsive design and a image is shown with 200px with and real width is round about 300px, but later you use 300px with CSS query's -> Google is unable to detect that and the same problem is with transform in CSS.

Specify A Cache Validator

Name

Specify A Cache Validator

Description/Improve-suggestions for/in TYPO3

Specify A Vary Accept Encoding Header

Name

Specify A Vary Accept Encoding Header

Description/Improve-suggestions for/in TYPO3

Specify Charset Early

Name

Specify Charset Early

Description/Improve-suggestions for/in TYPO3

Specify Image Dimensions

Name

Specify Image Dimensions

Description/Improve-suggestions for/in TYPO3

Image need height and width. Without the browser need to load the image and re-render everything around the image-placeholder. With height,width the space is reserved.

Sprite Images

Name

Sprite Images

Description/Improve-suggestions for/in TYPO3

If you have a lot of small images use sprites. You have a span with a background image and position and show only a part of image. It is really easy with SCSS compass, because it calculate all the sizes and positions for you.

Additional Information

Thanks to

- Sam-City for the great testing server and first installation, because it is my site ;)

- Big THX to Google for the service & communication and setting my limit for testing and using much higher!

External information

- Google PageSpeed

Todo/Ideas

- Other links source (not sitemap)

- Cleanup of the code

- Solve cookie problem, to save search and stuff by reload

- Able to remove columes

Bugs

- No known Bugs - Send a mail if you found a problem.

ChangeLog

0.1.0

Version

0.1.0

Changes

* initial release

0.2.0

Version

0.2.0

Changes

* [Imporvement] More Colorful

* [Improvement] Uses less space

* [Improvement] Show full information's on hover (table heads and pages)

* [Bugfixes] (still alpha)

* [Improvement] Works better with smaller screen resolution

* [Improvement] Formation of inputs and page-browser

* [Improvement] On-click lines can be marked

* [Update] Update jQuery and Datatables

* [Improvement] Jump-to in title (for small screen's)

* [Improvement] Taget Blank

* [Improvement] Manual

0.2.1

Version

0.2.1

Changes

* [Improvement] Manual

* [Improvement] Link to google insights

0.3.0

Version

0.3.0

Changes

* Improvement - Reorganized settings

* Feature - Added W3c

* Feature - Added Validator.nu

* Improvement - Added jQuery v2 beta - much faster no IE6/7/8 support

* Improvement - Dropped redundant information form Google API before saving it

Notice: ChangeLog file is always uptodate

img-2 10