Example Drupal Site Audit

Generated on Tue, 20 Dec 2020 16:18:29 +0200

Summary

Best practices (86%) Block (75%) Drupal maintenance support plans’s caching settings (17%) Codebase (Info) Content (80%) Cron (100%) Database (83%) Extensions (83%) Security (100%) Status (87%) Users (100%) Views (75%) Watchdog database logs (75%)

Best practices 86%

Multi-site – Detect multi-site configurations.

No multi-sites detected.

sites/default/settings.php – Check if the configuration file exists.

settings.php exists and is not a symbolic link.

sites/default – Check if it exists and isn’t symbolic

sites/default is a directory and not a symbolic link.

sites/all – Check if it exists and isn’t symbolic

sites/all is a directory and not a symbolic link.

Superfluous files in /sites – Detect unnecessary files.

No unnecessary files detected.

Fast 404 pages – Check if enabled.

Fast 404 pages are enabled.

PHP Filter – Check if enabled.

PHP Filter is enabled! Executable code should never be stored in the database, and support for this feature was removed in Drupal maintenance support plans 8 – https://drupal.org/node/1203886

Remove all executable code from your content and move it to your codebase.
Back to top

Block 75%

Block status – Check to see if enabled

Block is enabled.

Caching – Verify Drupal maintenance support plans’s block caching is enabled.

Block caching is inactive because you have enabled modules defining content access restrictions.

Cache report – Individual block cache settings.
Module Block State
block Consulting None
block twitter for blog page None
block button for contact us None
block link to privacy policy None
block Copyright None
easy_breadcrumb Easy Breadcrumb Page
menu_block Footer menu None
panels_mini Mini panel: “Benefits for Scotland” None
panels_mini Mini panel: “homepage twitter” None
panels_mini Mini panel: “working in partnership” None
search Search form None
simplenews Newsletter: Understanding Inequalities newsletter None
superfish (Superfish) None
system System help None
system Main page content None
tm_follow TM Follow User User
views View: question related content: team block None
views View: Banners None
views View: Article None
views View: blog None
views View: blog: Question Related None
views View: Publications and Outputs: Question Related None
views View: Publications and Outputs: Latest output homepage None
views View: Events None
views View: Events: Question Related None
views Filtered pubs and docs None
views View: Financial Services None
views View: footer logos None
views Our team (grid) None
views filtered team (grid) None
views View: Publications and Outputs: All pubs and outs None
views View: question related content: pubs and output block None
views View: questions: Block-theme1 None
views View: questions: research quest – stand alone None
views View: Risk Services None
views View: themes: inside-block None
views View: themes: related themes None
views View: Slider None
Back to top

Drupal maintenance support plans’s caching settings 17%

Anonymous caching – Verify Drupal maintenance support plans’s anonymous page caching is enabled.

Anonymous page caching is not enabled!

Go to /admin/config/development/performance and check “Cache pages for anonymous users”.
Minimum cache lifetime – Verify that Drupal maintenance support plans’s minimum cache lifetime is set to never expire.

Minimum cache lifetime is set to none.

Expiration of cached pages – Verify that Drupal maintenance support plans’s cached pages last for at least 15 minutes.

Expiration of cached pages not set!

Go to /admin/config/development/performance and set “Expiration of cached pages” to 15 min or above.
Cached page compression – Verify that Drupal maintenance support plans is set to compress cached pages.

Cached pages are not compressed!

Go to /admin/config/development/performance and check “Compress cached pages”.
Aggregate and compress CSS files in Drupal maintenance support plans – Verify that Drupal maintenance support plans is aggregating and compressing CSS.

CSS aggregation and compression is not enabled!

Go to /admin/config/development/performance and check “Aggregate and compress CSS files”.
Aggregate JavaScript files in Drupal maintenance support plans – Verify that Drupal maintenance support plans is aggregating JavaScript.

JavaScript aggregation is not enabled!

Go to /admin/config/development/performance and check “Aggregate JavaScript files”.
Lock API – Determine the default locking mechanism.

Using the default semaphore database table.

Consider using a dedicated API to a caching backend, such as redis or memcache.
Caching backends – Detail caching backends.

Using the database as a caching backend, which is less efficient than a dedicated key-value store.

Consider using a caching backend such as redis or memcache.
Default class – Determine the default cache class, used whenever no alternative is specified.

Using Drupal maintenance support plansDatabaseCache.

Cache bins – Detail explicitly defined cache bins.
Bin Class
cache_class_cache_ctools_css CToolsCssCache
Back to top

Codebase Info

Size of sites/default/files – Determine the size of sites/default/files.

Files: 445.91MB

Size of entire site – Determine the size of the site root; does not include remote mounts.

Total size: 1,429.39MB

Drupal maintenance support plans managed file count – Determine the count of Drupal maintenance support plans managed files.

Managed file count: 188

Drupal maintenance support plans managed file size – Determine the size of Drupal maintenance support plans managed files.

Managed file size: 383.34MB

Back to top

Content 80%

Content types – Available content types and counts

Total: 158 nodes

Content Type Node Count
questions 33
employee 24
publication_or_output 21
blog 21
page 18
service 12
banner 10
event 6
slide 6
article 3
footer_logo 2
map 1
simplenews 1
financial_services 0
testimonial 0
portfolio 0
panel 0
book 0
quotes 0
tiled_gallery_item 0
faq 0
solution 0
poll 0
risk_services 0
forum 0
Unused content types – Check for unused content types

The following content types are unused: financial_services, testimonial, portfolio, panel, book, quotes, tiled_gallery_item, faq, solution, poll, risk_services, forum

Consider removing unused content types.
Duplicate titles – Scan nodes for duplicate titles within a particular content type

No nodes with duplicate titles exist.

Taxonomy vocabularies – Available vocabularies and term counts
Vocabulary Terms
Relate Questions 37
Blog tags 17
Inequality Types 13
Forum categories 10
Blog categories 10
Tags 5
Portfolio categories 4
themes 4
Tiled gallery categories 3
events on home 2
organisations 2
Newsletter 1
position 1
Unused vocabularies – Check for unused vocabularies

There are no unused vocabularies.

Field status – Check to see if enabled

Field is enabled.

Field counts – Total number of fields

There are 42 total fields.

There are 42 total fields.

Name Type
comment_body text_long
body text_with_summary
field_slide_image image
field_employee_photo image
field_service_image image
field_portfolio_category taxonomy_term_reference
field_testi_author text
field_testi_author_info text
field_testi_image image
field_banner_image image
field_employee_position text
field_testi_author_contacts text
field_blog_media file
field_portfolio_image image
field_address text
field_gallery_image image
field_gallery_category taxonomy_term_reference
field_article_media file
field_solution_image image
field_risk_setrvice_image image
field_financial_setrvice_image image
field_slide_slogan text
field_downloads file
field_slide_link link_field
field_author text
field_start_date_time datetime
field_location text
field_book_a_place link_field
field_media file
field_link_to_profile_page link_field
field_partner_link_2 entityreference
field_url link_field
field_footer_link text
field_image image
field_simplenews_term taxonomy_term_reference
field_logo_link_rw text_with_summary
field_inequality_type taxonomy_term_reference
field_question_relations taxonomy_term_reference
field_figures image
field_media_field media
field_relate_question_papers taxonomy_term_reference
field_position_about_top taxonomy_term_reference
Field instance counts – For each bundle, entity and instance, get the count of populated fields
Entity Type Field Name Bundle Name Count
comment comment_body comment_node_page 0
comment comment_body comment_node_article 0
comment comment_body comment_node_book 0
comment comment_body comment_node_blog 0
comment comment_body comment_node_poll 0
comment comment_body comment_node_faq 0
comment comment_body comment_node_slide 0
comment comment_body comment_node_quotes 0
comment comment_body comment_node_panel 0
comment comment_body comment_node_portfolio 0
comment comment_body comment_node_employee 0
comment comment_body comment_node_banner 0
comment comment_body comment_node_service 0
comment comment_body comment_node_map 0
comment comment_body comment_node_testimonial 0
comment comment_body comment_node_tiled_gallery_item 0
comment comment_body comment_node_solution 0
comment comment_body comment_node_risk_services 0
comment comment_body comment_node_financial_services 0
comment comment_body comment_node_questions 0
comment comment_body comment_node_publication_or_output 0
comment comment_body comment_node_event 0
comment comment_body comment_node_forum 0
comment comment_body comment_node_footer_logo 0
comment comment_body comment_node_simplenews 0
node body page 13
node field_image page 0
node body article 3
node field_article_media article 3
node field_position_about_top article 1
node body book 0
node body blog 19
node field_blog_media blog 6
node field_author blog 11
node field_question_relations blog 4
node field_figures blog 1
node body faq 0
node body quotes 0
node body portfolio 0
node field_portfolio_category portfolio 0
node field_portfolio_image portfolio 0
node body employee 24
node field_employee_photo employee 24
node field_employee_position employee 24
node field_link_to_profile_page employee 16
node field_partner_link_2 employee 23
node field_inequality_type employee 24
node field_question_relations employee 23
node body service 12
node field_service_image service 12
node field_inequality_type service 12
node body map 0
node field_address map 1
node body testimonial 0
node field_testi_author testimonial 0
node field_testi_author_info testimonial 0
node field_testi_image testimonial 0
node field_testi_author_contacts testimonial 0
node body tiled_gallery_item 0
node field_gallery_image tiled_gallery_item 0
node field_gallery_category tiled_gallery_item 0
node body solution 0
node field_solution_image solution 0
node body risk_services 0
node field_risk_setrvice_image risk_services 0
node body financial_services 0
node field_financial_setrvice_image financial_services 0
node body questions 30
node field_downloads questions 0
node field_image questions 6
node field_inequality_type questions 30
node field_relate_question_papers questions 30
node body publication_or_output 17
node field_downloads publication_or_output 0
node field_author publication_or_output 9
node field_question_relations publication_or_output 5
node field_media_field publication_or_output 3
node body event 3
node field_start_date_time event 3
node field_location event 3
node field_book_a_place event 2
node field_media event 1
node field_question_relations event 0
node body footer_logo 0
node field_banner_image footer_logo 1
node field_footer_link footer_logo 1
node body simplenews 1
node field_simplenews_term simplenews 1
node field_slide_image slide 6
node field_slide_slogan slide 6
node field_slide_link slide 6
node field_banner_image banner 10
node field_url banner 10
node field_logo_link_rw banner 10
Unused fields – Determine which fields are unused in each bundle.

The following fields are unused: comment_node_page-comment_body: comment; comment_node_article-comment_body: comment; comment_node_book-comment_body: comment; comment_node_blog-comment_body: comment; comment_node_poll-comment_body: comment; comment_node_faq-comment_body: comment; comment_node_slide-comment_body: comment; comment_node_quotes-comment_body: comment; comment_node_panel-comment_body: comment; comment_node_portfolio-comment_body: comment; comment_node_employee-comment_body: comment; comment_node_banner-comment_body: comment; comment_node_service-comment_body: comment; comment_node_map-comment_body: comment; comment_node_testimonial-comment_body: comment; comment_node_tiled_gallery_item-comment_body: comment; comment_node_solution-comment_body: comment; comment_node_risk_services-comment_body: comment; comment_node_financial_services-comment_body: comment; comment_node_questions-comment_body: comment; comment_node_publication_or_output-comment_body: comment; comment_node_event-comment_body: comment; comment_node_forum-comment_body: comment; comment_node_footer_logo-comment_body: comment; comment_node_simplenews-comment_body: comment; page-field_image: node; book-body: node; faq-body: node; quotes-body: node; portfolio-body: node; portfolio-field_portfolio_category: node; portfolio-field_portfolio_image: node; map-body: node; testimonial-body: node; testimonial-field_testi_author: node; testimonial-field_testi_author_info: node; testimonial-field_testi_image: node; testimonial-field_testi_author_contacts: node; tiled_gallery_item-body: node; tiled_gallery_item-field_gallery_image: node; tiled_gallery_item-field_gallery_category: node; solution-body: node; solution-field_solution_image: node; risk_services-body: node; risk_services-field_risk_setrvice_image: node; financial_services-body: node; financial_services-field_financial_setrvice_image: node; questions-field_downloads: node; publication_or_output-field_downloads: node; event-field_question_relations: node; footer_logo-body: node

Consider removing unused fields.
Back to top

Cron 100%

Well done! No action required.

Enabled – Check to see if cron is scheduled to run.

Cron is set to run every 180 minutes.

Running – Check to see if cron is actively running.

Cron is not currently running.

Last run – Time Cron last executed

Cron last ran at Tue, 10 Dec 2021 16:12:48 +0200 (5 min 41 sec ago)

Back to top

Database 83%

Total size – Determine the size of the database.

Total size: 32.67MB

Tables with at least 1000 rows – Return list of all tables with at least 1000 rows in the database.
Table Name Rows
search_index 18694
search_total 4098
variable 1389
registry 1181
watchdog 1002
Collations – Check to see if there are any tables that aren’t using UTF-8.

Every table is using UTF-8.

Storage Engines – Check to see if there are any tables that aren’t using InnoDB.

Every table is using InnoDB.

Back to top

Extensions 83%

Count – Count the number of enabled extensions (modules and themes) in a site.

There are 121 extensions enabled.

Development – Check for enabled development modules.

The following development modules(s) are currently enabled: admin_devel, field_ui, demo, devel, rules_admin, views_ui

Name Reason
Administration Development tools (admin_devel) Debugging utility; degrades performance.
Field UI (field_ui) Development user interface; allows privileged users to change site structure which can lead to data inconsistencies. Best practice is to store Content Types in code and deploy changes instead of allowing editing in live environments.
Demonstration site (demo) Development utility for sandboxing.
Devel (devel) Debugging utility; degrades performance and potential security risk.
Rules UI (rules_admin) Development user interface; unnecessary overhead.
Views UI (views_ui) Development UI; allows privileged users to change site structure which can lead to performance problems or inconsistent behavior. Best practice is to store Views in code and deploy changes instead of allowing editing in live environments.
Disable development modules for increased stability, security and performance in the Live (production) environment.
Not recommended – Check for unrecommended modules.

No unrecommended extensions were detected; no action required.

Redundant – Check for redundant modules.

No redundant modules were detected; no action required.

Duplicates – Check for duplicate extensions in the site codebase.

The following duplicate extensions were found:

Name Paths
theme935 sites/default/private/files/demo/theme935.info (1.1)
sites/all/themes/theme935/theme935.info (7.x-1.0)
flexslider_views_slideshow sites/all/modules/flexslider/flexslider_views_slideshow/flexslider_views_slideshow.info (7.x-1.0-rc3)
sites/all/modules/flexslider_views_slideshow/flexslider_views_slideshow.info (7.x-2.x-dev)
example_info_file.libraries sites/all/modules/libraries/tests/example/example_info_file.libraries.info (7.x-2.1)
sites/all/modules/libraries/tests/libraries/example_info_file.libraries.info (7.x-2.2)
woot drush/tests/resources/modules/d6/woot/woot.info
drush/tests/resources/modules/d7/woot/woot.info
Prune your codebase to have only one copy of any given extension. If you are using an installation profile, work with the maintainer to update the relevant modules. If you remove an enabled module, you may have to rebuild the registry.
Missing – Detect missing extensions (modules and themes) in a site, which degrades performance.

No extensions are missing from your codebase.

Disabled modules – Detect modules that have been disabled, but have not been uninstalled.

The following modules have been disabled, but have not yet been uninstalled: aggregator, book, calendar, color, dashboard, demo_reset, help, likebtn, media_vimeo, panels_ipe, publishcontent, rdf, shortcode, shortcode_basic_tags, shortcode_embed_content, shortcode_video, shortcut, simpletest, syslog, tm, tm_masonry, tm_shortcodes, translation, votingapi, wysiwyg

Uninstall unused modules; if not in core, remove them from the codebase after uninstalling.
Updates – Determine what projects can be updated.

No projects need updating.

Back up your site, review each project change, ensure compatibility, then update affected project(s).
Security – Determine what projects should be updated due to security concerns.

No projects have security releases.

As a top priority, back up your site, review each project change, ensure compatibility, then update affected project(s).
Back to top

Security 100%

Well done! No action required.

Menu Router – Check for potentially malicious entries in the menu router.

No known potentially malicious entries were detected in the menu_router table.

Back to top

Status 87%

System Status – Drupal maintenance support plans’s status report.
Title Severity Value
Drupal maintenance support plans Info 7.67
Install profile Info (demo_profile-)
Access to update.php Info Protected
CKEditor Ok 4.5.4
Colorbox plugin Error At least 1.6.1
Configuration file Info Protected
Cron maintenance tasks Ok Last run 5 min 33 sec ago
CTools CSS Cache Ok Exists
Database 4 byte UTF-8 support Info Not enabled
Database system Info MySQL, MariaDB, or equivalent
Database system version Info 10.1.43-MariaDB
Database updates Ok Up to date
Date API Info System date settings
Drupal maintenance support plans core update status Warning Out of date (version 7.68 available)
File system Info Writable (public download method)
FlexSlider Ok FlexSlider library installed.
GD library rotate and desaturate effects Ok bundled (2.1.0 compatible)
jQuery Easing Ok 1.3
jQuery Update Ok jQuery 1.8.3 (configure) and jQuery UI 1.10.2
Module and theme update status Error Not secure!
Node Access Permissions Info 188 permissions in use
PHP Info 5.5.38 (more information)
PHP extensions Info Enabled
PHP memory limit Info 128M
PHP register globals Info Disabled
Plupload library Ok 1.5.8
Superfish library Ok Installed
Unicode library Ok PHP Mbstring Extension
Update notifications Info Enabled
Upload progress Info Not enabled
Variables Ok No problem
Web server Info
Back to top

Users 100%

Well done! No action required.

Count All – Total number of Drupal maintenance support plans users.

There are 4 users.

Count Blocked – Total number of blocked Drupal maintenance support plans users.

There are no blocked users.

Identify UID #1 – Show username and email of UID #1.

UID #1: media, email: aileen.robertson@ed.ac.uk

UID #1 access – Determine if UID #1 is blocked.

UID #1 not blocked.

Back to top

Views 75%

Views status – Check to see if enabled

Views is enabled.

Count – Number of enabled Views.

There are 30 enabled views.

Query results caching – Check the length of time raw query results should be cached.

The following Views are not caching query results: portfolio, our_team, slider, categories, portfolio_filter, recent_posts, comments_recent, testimonials, Banners, FAQs, services, article, solutions, risk_services, financial_services, blog, questions, publications_and_outputs, events, footer_logos, question_related_content, rules_scheduler

Query results should be cached for at least 1 minute.

  1. Go to /admin/structure/views/
  2. Edit the View in question
  3. Select the Display
  4. Click Advanced
  5. Next to Caching, click to edit.
  6. Query results: (something other than Never cache)
Rendered output caching – Check the length of time raw rendered output should be cached.

The following Views are not caching rendered output: portfolio, our_team, slider, categories, portfolio_filter, recent_posts, comments_recent, testimonials, Banners, FAQs, services, article, solutions, risk_services, financial_services, blog, questions, publications_and_outputs, events, footer_logos, question_related_content, rules_scheduler

Rendered output should be cached for as long as possible (if the query changes, the output will be refreshed).

  1. Go to /admin/structure/views/
  2. Edit the View in question
  3. Select the Display
  4. Click Advanced
  5. Next to Caching, click to edit.
  6. Rendered output: (something other than Never cache)
Back to top

Watchdog database logs 75%

syslog status – Check to see if syslog logging is enabled

Syslog logging is not enabled.

dblog status – Check to see if database logging is enabled

Database logging (dblog) is enabled.

Count – Number of dblog entries.

There are 1,002 log entries.

Date range of log entries – Oldest and newest.

From Thu, 28 Nov 2021 05:08:44 +0200 to Tue, 10 Dec 2021 16:12:58 +0200 (12.46 days)

Number of 404 entries – Count the number of page not found entries.

555 pages not found (55%).

Review the full report at admin/reports/page-not-found. If self-inflicted, fix the source. If a redirect is appropriate, visit admin/config/search/path and add URL aliases.
PHP messages – Count PHP notices, warnings and errors.

warning: 1 – total 0.1%

Back to top

Generated by Site Audit.