Siteaudit will analize your site and generate audit for:

• Pagespeed

• Lighthouse

• A11y

img 9512 |

Installation

Use nodejs

You can use siteaudit from your terminal using the npm package and run it as a binary

npm -g i siteaudit

siteaudit https://canellariccardo.it

Use docker

You can also use the docker image to generate the reports

Passing no configuration

docker run -t \
-v "$(pwd)/.testoutput":"/app/output" \
thecreazy/siteaudit:latest \
https://canellariccardo.it \
--headless

Passing configuration

docker run -t \
-v "$(pwd)/.testoutput":"/app/output" \
-v "$(pwd)/.siteaudit.json":"/.siteaudit.json"
thecreazy/siteaudit:latest \
https://canellariccardo.it \
--no-lighthouse \
--config /.siteaudit.json \
--headless

Runtime options

  • --output specify the output directory (where your assets will be generated))
  • --config specify a JSON file containing an extension to the configuration
  • --no-pagespeed no pagespeed audit will be generated
  • --no-lighthouse no lighthouse audit will be generated
  • --a11y start a11y audit
  • --headless use chrome headless

Using ENV

You can also using enviroments for passing the options

  • SITEAUDIT_NOLIGHTHOUSE no lighthouse audit will be generated
  • SITEAUDIT_NOPAGESPEED no pagespeed audit will be generated
  • SITEAUDIT_CONFIG specify a JSON file containing an extension to the configuration
  • SITEAUDIT_URL pass the url for running the audit
  • SITEAUDIT_A11Y start a11y audit
  • SITEAUDIT_HEADLESS use chrome headless
  • SITEAUDIT_USINGENV force the use of the enviroments

Configuration

If you pass to siteaudit an additional JSON file, it will be merged with initial config.

siteaduit https://canellariccardo.it --config ./config.json

Example:

{
 "pagespeed": {
  "pages": [ "/", "/404" ]
 }
}

config.son

You can also pass a custom config json, there are some examples:

  • pagespeed
{ 
  "pagespeed":{
    "strategy" :  [ "mobile", "desktop"], //"locale": "en_US", //"threshold": "70", //"pages": ["/"]. //
  }
}
  • lighthouse

For full list of settings options see here.

{ 
  "lighthouse":{
    "extends" :  [ "lighthouse:default" ], //"settings": {
      "onlyCategories": ["performance"],
      "onlyAudits": ["works-offline"],
    }, //"audits": [
      "first-meaningful-paint",
      "first-interactive",
      "byte-efficiency/uses-optimized-images",
    ] //
  }
}

Using in gitlab-ci

You can also use siteaudit in your gitlabci.yml

stages:
  - audit

audit:
  image: 
    name: thecreazy/siteaudit:latestentrypoint: ['']stage: auditvariables:
    SITEAUDIT_URL: "https://master.silvietta.n2.caffeina.host/"script:
    - echo "started siteaudit"
    - /usr/local/bin/siteaudit ${SITEAUDIT_URL} --headlessartifacts:
    paths:
    - output

Output

siteaudit will generate this output:

  • lighthouse-audit.html: contains the classi html result of lighthouse
  • pagespeed-audit.md: a markdown format result of the pagespeed api
  • a11y-audit.md: a markdown format result of the a11y api

Output examples

pagespeed |

lighthouse |

a11y |

link: https://github.com/thecreazy/siteaudit/blob/master/README.MD