SlideShare a Scribd company logo
Auditing
Drupal
sites
for performance, content

and optimal configuration
drupal.org/project/site_audit
2015.02.27 - SANDcamp
Jon Peck
Senior Engineer at Four Kitchens
@FluxSauce - github.com/fluxsauce - drupal.org/u/fluxsauce
What is an audit?
• official inspection of
accounts
• validate the good things
you’re doing
• highlight areas of
improvement
Electrical inspector in Public Safety Building, 1957
Item 54948, Engineering Department Photographic Negatives
(Record Series 2613-07), Seattle Municipal Archives.
Why audit sites?
• Learn about contents and
structure
• Ensure optimal configuration
• Discover areas of improvement
Every site is unique, but…
• Built with the same
framework
• Similar architectural
requirements
• One size fits most
Construction of a housing development in Newport Beach, California, 1974.
Photo: National Geographic/Getty Images
Effective auditing
• Consistent
• Quantifiable
• Contextually aware
• Easy to understand
• Actionable recommendations
Static program analysis
• Performance & behavior
gathering
• Does not execute
• Non-intrusive
• Automated
Poltergeist (1982)
What is Site Audit?
• Drupal 7 site analyzer
• Installed on target
platform
• Provides reports in
multiple formats
• Powers Launch Check
on Pantheon
Requirements
• Bootstrappable Drupal site
• Drush 5.10 or higher, PHP 5.3
• Shell access to target
Installation
• Not a module
• Place in Drush
commands folder
• Within user profile for
just yourself
• Within Drush
installation folder http://forums.beyond.ca/showthread/t-188507-p-2.html
What does Site Audit check?
• Best Practices
• Block
• Cache
• Codebase
• Content
• Cron
• Database
• Extensions
• Google Insights
• Security
• System Status
• Users
• Views
• Watchdog
What doesn’t Site Audit analyze?
• DOM / front-end performance
• Usability and site experience
• Aesthetics
• Content
Usage
drush	
  help	
  -­‐-­‐filter=site_audit
drush audit_cache
drush ac --detail
HTML Output
drush audit_best_practices --html --detail
JSON output
drush audit_cron --json
Vendor support
drush ae --vendor=acquia
drush ae --vendor=pantheon
Audit All
drush aa --skip=insights --html --bootstrap
Reports
What and why.
• Drupal Fast 404 HTML pages
• Multisite - informational
• PHP Filter - should be disabled
• Settings and configuration - exists, not symbolic
• settings.php
• sites/all
• sites/default
• Unnecessary files in sites
Best Practices
Block
• Caching • Cache Report
Cache
• Anonymous page
caching
• Backends - list
• Bins - list any specified
• Default class
• Minimum cache lifetime
- should be never expire
• Lock - display default
locking mechanism
• Page Compression -
should be on
• Expiration of cached
pages - at least 15
minutes
• Aggregate and
compress CSS, JS
Codebase
• Size of entire site on disk
• Size of public files
• Managed file size, count
Content
• Available content types and node counts
• Unused content types - consider removing
• Available vocabularies and term counts
• Unused vocabularies - consider removing
Database
• Collation - check if
anything isn’t UTF-8
• Engine - checks if anything
isn’t using InnoDB
• Row count - reports tables
with more than X rows
• Size in MB - including
indexes and data
Security
• Scans menu_router for
malicious callbacks
• More coming…
Extensions

(modules and themes)
• Count - 150 as arbitrary warning
• Dev - reports development modules, provider aware of dev env
• Disabled but not uninstalled
• Duplicate - checks for duplicates
• Missing - enabled, but code is missing
• Unrecommended - Short list of bad modules
• Version - specific problems in widely used modules
Status
• Drupal status report
• Highlights errors and problems
Users
• Who is #1, blocked?
• Count of all users
• Count of blocked users
• Role list, counts by role
Views
• Count enabled
• Caching rendered output
• Caching query results
Watchdog
• Number of 404s
• How old the logs are
• Count of entries
• PHP errors
• Syslog
Development
Yes, it is extensible.
Structure
• Object-oriented, abstract classes
• Checks - individual checks; treat like unit tests
• Report - collection of checks, run in a specific order.
Can abort.
• Extend abstract SiteAuditReport, SiteAuditCheck
• Drush hooks
• Add callbacks
• Add to audit_all
• README.md
Custom Checks and Reports
Hacked! integration
https://www.drupal.org/node/2066371
Security Review integration
https://www.drupal.org/node/2279283
Share your checks!
Drupal 8 is now supported!
Under heavy development.
Google Summer of Code
https://www.drupal.org/node/2426727
Good configuration matters.
https://drupal.org/project/site_audit
@FluxSauce - github.com/fluxsauce - drupal.org/u/fluxsauce
Applied site_audit recommendations.

More Related Content

PDF
SGCE 2015 REST APIs
PPTX
Security for devs
PDF
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
PDF
SOA Latam 2015
PDF
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
PPTX
Tuenti Release Workflow
PPTX
Hands-on Performance Tuning Lab - Devoxx Poland
PDF
CFWheels - Pragmatic, Beautiful Code
SGCE 2015 REST APIs
Security for devs
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
SOA Latam 2015
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
Tuenti Release Workflow
Hands-on Performance Tuning Lab - Devoxx Poland
CFWheels - Pragmatic, Beautiful Code

What's hot (20)

PPTX
From Pilot to Product - Morning@Lohika
PDF
Efficient HTTP applications on the JVM with Ratpack - Voxxed Days Berlin 2016
PPTX
Performance metrics for a social network
PPTX
The Art and Zen of Managing Nagios With Puppet
PDF
There's more to Ratpack than non-blocking
PPTX
Cycling for noobs
PDF
Fashiolista
PDF
Using Grunt with Drupal
PDF
What Workbench in Core Means for Editors and Site Builders
PPTX
OpenStack Documentation Projects and Processes
PPSX
Olympya web-tools 2011
PDF
Velocity - NxtGen Oxford
PPT
Java SE 7 New Features and Enhancements
PDF
WordPress at Scale Webinar
PPTX
Gwt overview & getting started
PPTX
Jenkins & scriptable build
PPTX
Cross-platform interaction
PPTX
Oak, the architecture of Apache Jackrabbit 3
PPTX
Operationalizing MongoDB at AOL
PPTX
The Art & Zen of Managing Nagios with Puppet
From Pilot to Product - Morning@Lohika
Efficient HTTP applications on the JVM with Ratpack - Voxxed Days Berlin 2016
Performance metrics for a social network
The Art and Zen of Managing Nagios With Puppet
There's more to Ratpack than non-blocking
Cycling for noobs
Fashiolista
Using Grunt with Drupal
What Workbench in Core Means for Editors and Site Builders
OpenStack Documentation Projects and Processes
Olympya web-tools 2011
Velocity - NxtGen Oxford
Java SE 7 New Features and Enhancements
WordPress at Scale Webinar
Gwt overview & getting started
Jenkins & scriptable build
Cross-platform interaction
Oak, the architecture of Apache Jackrabbit 3
Operationalizing MongoDB at AOL
The Art & Zen of Managing Nagios with Puppet
Ad

Viewers also liked (19)

PPTX
Dees l1 6-estimation[1]
PDF
Emerald Energy LED Lighting
PPTX
Fluke Building Diagnostics
PPTX
BHEL CCDP audit
PPT
How to conduct energy audit
PPT
Business potential of Energy Auditing in Kerala
PPTX
Industrial energy auditing and reporting
PDF
Microservices, The Basic Math
PDF
Energy Auditing in College Campus
PPTX
Electrical energy auditing
PDF
Energy audit conditional grant
PDF
Technical SEO Auditing: How healthy is your site?
PPTX
DELHI METRO UNDERGROUND TUNNELING : SHAHBAZ KHAN DMRC
PDF
Energy auditing, monitoring& targeting, and management
PDF
Jeddah Master Transportation Plan
PPTX
5.energy audit of pumps
PPTX
Energy audit
PPT
Energy audit 1
PPTX
Case Study of Energy Audit
Dees l1 6-estimation[1]
Emerald Energy LED Lighting
Fluke Building Diagnostics
BHEL CCDP audit
How to conduct energy audit
Business potential of Energy Auditing in Kerala
Industrial energy auditing and reporting
Microservices, The Basic Math
Energy Auditing in College Campus
Electrical energy auditing
Energy audit conditional grant
Technical SEO Auditing: How healthy is your site?
DELHI METRO UNDERGROUND TUNNELING : SHAHBAZ KHAN DMRC
Energy auditing, monitoring& targeting, and management
Jeddah Master Transportation Plan
5.energy audit of pumps
Energy audit
Energy audit 1
Case Study of Energy Audit
Ad

Similar to Auditing Drupal Sites for Performance, Content and Optimal Configuration - SANDcamp 2015 (20)

PDF
Drupal Site Audit - SFDUG
PDF
How to audit Drupal Sites for performance, content and best practices
PPTX
Support/ maintenance travails - Why and how to audit legacy sites
PDF
Auditing Drupal Sites
PPT
5 Common Mistakes You are Making on your Website
PDF
SANDcamp 2014 - A Perfect Launch, Every Time
PPTX
Drupal 6 to 7 migration
PDF
DrupalSouth 2015 - Performance: Not an Afterthought
PDF
Performance on a budget (European Drupal Days 2015)
PDF
2.Drupal Performance and Scalability_15 Reasons to Perform a Drupal Website A...
PPTX
Drupal 101: Tips and Tricks for Troubleshooting Drupal
KEY
Drupalmonitor.com - Drupal User Group Meetup Basel
PDF
Modernize Your Drupal Development
PDF
Drupal Performance Audit and Optimization
PPT
The things we found in your website
PDF
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
PDF
Common Pitfalls for your Drupal Site, and How to Avoid Them
PDF
Simple Tips to Improve Site Performance (No Coding Required!)
PDF
LA Drupal Camp 2012- Maintaining a Drupal Site
PDF
DRUPAL AUDITS MADE FASTR
Drupal Site Audit - SFDUG
How to audit Drupal Sites for performance, content and best practices
Support/ maintenance travails - Why and how to audit legacy sites
Auditing Drupal Sites
5 Common Mistakes You are Making on your Website
SANDcamp 2014 - A Perfect Launch, Every Time
Drupal 6 to 7 migration
DrupalSouth 2015 - Performance: Not an Afterthought
Performance on a budget (European Drupal Days 2015)
2.Drupal Performance and Scalability_15 Reasons to Perform a Drupal Website A...
Drupal 101: Tips and Tricks for Troubleshooting Drupal
Drupalmonitor.com - Drupal User Group Meetup Basel
Modernize Your Drupal Development
Drupal Performance Audit and Optimization
The things we found in your website
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Common Pitfalls for your Drupal Site, and How to Avoid Them
Simple Tips to Improve Site Performance (No Coding Required!)
LA Drupal Camp 2012- Maintaining a Drupal Site
DRUPAL AUDITS MADE FASTR

More from Jon Peck (8)

PDF
Multiplier Effect: Case Studies in Distributions for Publishers
PDF
Built it, but nobody came: avoiding over-engineering
PPT
Creating a PHP Portal for Perseus Survey Solutions
PDF
The Great Consolidation: Entertainment Weekly Migration Case Study (DrupalCon...
PDF
Terminus, the Pantheon command-line interface
PDF
Pantheon Launch Check Introduction Webinar
PDF
Drush for humans - SANDcamp 2013
PPT
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
Multiplier Effect: Case Studies in Distributions for Publishers
Built it, but nobody came: avoiding over-engineering
Creating a PHP Portal for Perseus Survey Solutions
The Great Consolidation: Entertainment Weekly Migration Case Study (DrupalCon...
Terminus, the Pantheon command-line interface
Pantheon Launch Check Introduction Webinar
Drush for humans - SANDcamp 2013
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)

Recently uploaded (20)

PPTX
Introduction to Information and Communication Technology
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
The Internet -By the Numbers, Sri Lanka Edition
PPT
tcp ip networks nd ip layering assotred slides
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPTX
presentation_pfe-universite-molay-seltan.pptx
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PPTX
Digital Literacy And Online Safety on internet
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
QR Codes Qr codecodecodecodecocodedecodecode
Introduction to Information and Communication Technology
Module 1 - Cyber Law and Ethics 101.pptx
The Internet -By the Numbers, Sri Lanka Edition
tcp ip networks nd ip layering assotred slides
introduction about ICD -10 & ICD-11 ppt.pptx
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
presentation_pfe-universite-molay-seltan.pptx
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
WebRTC in SignalWire - troubleshooting media negotiation
Digital Literacy And Online Safety on internet
522797556-Unit-2-Temperature-measurement-1-1.pptx
Job_Card_System_Styled_lorem_ipsum_.pptx
Cloud-Scale Log Monitoring _ Datadog.pdf
Triggering QUIC, presented by Geoff Huston at IETF 123
RPKI Status Update, presented by Makito Lay at IDNOG 10
PptxGenJS_Demo_Chart_20250317130215833.pptx
Paper PDF World Game (s) Great Redesign.pdf
Unit-1 introduction to cyber security discuss about how to secure a system
INTERNET------BASICS-------UPDATED PPT PRESENTATION
QR Codes Qr codecodecodecodecocodedecodecode

Auditing Drupal Sites for Performance, Content and Optimal Configuration - SANDcamp 2015