Layout – Webdesign

0,00 / maand excl. BTW

Layout kiezen / webdesign aanpassen

Ander webdesign / layout? Dat kan hier heel gemakkelijk!

  1. Gratis: Kies één van de voor geprogrammeerde layouts.
  2. Gratis: Pas je gekozen webdesign naar wens aan.
  3. Kies hier een andere gratis layout: Gratis implementatie.
  4. Kies een andere gratis layout: Vergoeding voor implementatie.
  5. Kies een betaald thema: Vergoeding voor implementatie.
  6. Laat een layout voor je maken.

Andere Layout

Ander Webdesign

Eénmalige betaling

1. Om welk webdesign gaat het (naam)
2. Waar kunnen wij het vinden
3. Als het in een account staat, mogen wij dan inlog-gegevens opdat wij het kunnen uploaden

Het verwijderen van webdesigns bespaart webruimte. Als er een webdesign extra op je website / webshop wordt gezet, dan kost dat webruimte.

Prijs per maand

Categorie:

Beschrijving

SQMViews

Beschrijving

SQMViews is a simple and lightweight tracking and analytics plugin that helps you understand how visitors interact with your WordPress content—without sending data to third-party services.
Plugin adds very little overhead, capable of tracking millions of page views per day on a moderately sized website.
Plugin includes sqm-views-pages.php drop-in script installation (Fast endpoint) to collect pageviews without loading WordPress core, reducing pageview request from 250 ms to 5 ms. If drop-in installation is not possible, the plugin falls back to the WordPress call (API endpoint).

Key Features

Tracking & Analytics:

  • Near real-time page view tracking
  • Engagement metrics (time on page, active time)
  • Shows user activity (clicks, scrolls, etc.) with privacy-friendly event counting
  • Interactive analytics dashboard with D3.js visualizations
  • Historical data with daily aggregation
  • Filter by date range, content type, and more

Performance:

  • Ultra-fast tracking endpoint (bypasses a core load)
  • Minimal overhead (~5ms per request with the drop-in script)
  • File-based batch processing (no database requests during pageview event collection, only during cron processing)
  • Efficient data storage with automatic archiving
  • Configurable background processing via WP-Cron

Drop-in script
* Created to minimize overhead
* Uses exactly the same code as the API endpoint except two hooks for config modification (sqm_views_ping_interval, sqm_views_session_timeout)
* Run strict JSON request schema validation to minimize attack surface.
* Receives request, run validation, add it to a file for the later batch processing. Very low memory and CPU footprint.

Pageview lifetime
JS code will send an init event, followed by ping events and completed by exit or timeout events. Unique ID is returned during init used for all the following events. During cron processing all the events with the same IDs are combined into a single pageview and stored in the database.

Privacy & Control:

  • 100% privacy-focused (no external services)
  • All data stays on your server
  • Encrypted tracking payloads (you don’t need to reveal everything you track)
  • Full control over what gets tracked
  • GDPR-friendly (no personal data collected by default), we focus on pageviews

Flexibility:

  • Track custom post types and taxonomies
  • 30+ developer hooks for customization
  • WP-CLI commands for automation
  • Translation-ready (i18n)
  • REST API for integrations

What Gets Tracked?

Content Types:
* Posts and pages (configurable)
* Custom post types
* Category and tag archives
* Custom taxonomy archives
* Author archives
* Date archives
* Home page
* Search results

Engagement Metrics:
* Count – Total number of views
* Time on Page – Total time spent on page
* Active Time – Time user was actively engaged
* High-Frequency Events – User browsing on the page (scrolling, mouse movement)
* Low-Frequency Events – Deliberate actions (clicks, touches, typing)

Perfect For

  • Publishers monitoring content performance
  • Marketers analyzing user engagement
  • Developers needing custom analytics
  • Privacy-conscious site owners
  • Anyone wanting Google Analytics alternative

How It Works

  1. Lightweight JavaScript tracker injected on tracked pages (inline or external)
  2. Fast endpoint receives tracking data
  3. File-based storage for raw data writes data to JSONL files (no database overhead)
  4. Background processing via WP-Cron aggregates data hourly/daily and put them in the database
  5. Interactive dashboard displays charts and metrics

Extensibility

30+ Developer Hooks:

  • Frontend Hooks – Control what gets tracked and how
  • Processing Hooks – Modify data before database storage
  • REST API Hooks – Customize chart data and permissions
  • Activation Hooks – Adjust default settings and storage

WP-CLI Support

# Process statistics manually wp sqm-views process 

Multisite Compatible

Planned

Why Choose SQMViews?

vs External Analytics:
* No external JavaScript libraries
* No tracking cookies required
* No data sent to Google servers
* Faster page loads (no external requests)
* Complete data ownership

Requirements

  • WordPress 6.0 or higher
  • PHP 8.1 or higher (PHP 8.2+ recommended)
  • PHP Sodium extension (for encryption)
  • MySQL 5.6 or higher / MariaDB 10.0 or higher
  • Write permissions for wp-content/uploads/sqm-views directory

Credits

SearchQueryMaster.com team

Powered by:
* D3.js for visualizations
* WordPress CMS
* Sodium crypto library

Privacy Policy

SQMViews is designed with privacy in mind. The plugin:

Does NOT collect:
* Personal information
* Cookies not required for tracking
* Sessions – there is no session tracking at the moment, only pageviews tracking
* Usernames or emails
* Browser fingerprints

IP address and user agents are:
* collected in raw log files for troubleshooting, spam, bot, and system abuse prevention
* removed from aggregated data and not used anywhere else

Does collect:
* Page URLs being viewed
* Tags and categories on the current page
* Timestamps of visits
* User interaction metrics (scrolls, clicks) counter
* Browser user-agent string (for bot filtering)
* Referrer URL (if available)

Data storage:
* All data stored on your WordPress server
* No data sent to external services
* You control data retention and deletion

Your responsibilities:
* Update your site’s privacy policy to mention analytics tracking
* Implement cookie consent if required in your jurisdiction
* Handle data subject access requests per GDPR/CCPA requirements
* Configure the plugin to exclude personal data if necessary

Support

Free Support:
* WordPress.org Support Forum

Developer Notes

Architecture:
* Namespaced PHP code (SQMViews\)
* PSR-4 autoloading via Composer
* REST API endpoints for integrations
* File-based queueing system

Database Tables:
* sqm_views_trackables – Catalog of tracked content
* sqm_views_events – Event type definitions
* sqm_views_records – Individual tracking records
* sqm_views_daily – Daily aggregated statistics

Hooks:

Hooks Reference:

Filters (apply_filters):

Tracking & Frontend:
* sqm_views_should_track – Control whether tracking should occur (2 params: $should_track, $data)
* sqm_views_tracking_data – Modify tracking data before encryption (1 param: $tracking_data)
* sqm_views_trackable_post_types – Customize which post types can be tracked (1 param: $post_types)
* sqm_views_trackable_taxonomies – Customize which taxonomies can be tracked (1 param: $taxonomies)
* sqm_views_data_taxonomies – Modify taxonomies included in tracking data (1 param: $taxonomies)
* sqm_views_encryption_key – Override encryption key (1 param: $key)
* sqm_views_tracker_endpoint – Customize tracking endpoint URL (2 params: $endpoint, $saved_endpoint)
* sqm_views_minified_js – Control whether to use minified tracker JS (1 param: $use_min)
* sqm_views_tracker_script_path – Customize tracker script file path (2 params: $path, $use_min)
* sqm_views_tracker_script_url – Customize tracker script URL (2 params: $url, $use_min)
* sqm_views_inline_js – Control whether to inline tracker JS (1 param: $use_inline)
* sqm_views_show_debug_comment – Show debug HTML comment (1 param: $show)

Processing:
* sqm_views_raw_record – Filter raw record data during processing (1 param: $data)
* sqm_views_calculated_metrics – Modify calculated metrics (2 params: $metrics, $records)
* sqm_views_session_timeout – Customize session inactivity timeout (1 param: $timeout)
* sqm_views_ping_interval – Customize ping interval for session tracking (1 param: $interval)

Dashboard:
* sqm_views_dashboard_minified_js – Control minified JS for dashboard (1 param: $use_min)
* sqm_views_dashboard_script_path – Dashboard script file path (2 params: $path, $use_min)
* sqm_views_dashboard_script_url – Dashboard script URL (2 params: $url, $use_min)
* sqm_views_dashboard_inline_js – Control inline JS for dashboard (1 param: $use_inline)
* sqm_views_dashboard_default_filters – Customize default dashboard filters (1 param: $defaults)

REST API:
* sqm_views_rest_permissions – Customize REST API permissions (1 param: $capability)
* sqm_views_rest_chart_data – Modify chart data in REST response (2 params: $data, $request)
* sqm_views_chart_cache_expiration – Customize chart cache expiration time (1 param: $seconds)
* sqm_views_rest_chart_filters – Customize available chart filters (1 param: $filters)

Activation & Settings:
* sqm_views_enable_dropin – Enable/disable drop-in file creation (1 param: $enable)
* sqm_views_default_settings – Customize default plugin settings (1 param: $settings)
* sqm_views_data_directory – Customize data storage directory (1 param: $directory)

Actions (do_action):

Activation & Upgrade:
* sqm_views_activated – Fires after plugin activation (0 params)
* sqm_views_upgraded – Fires after plugin upgrade (2 params: $from_version, $to_version)
* sqm_views_before_upgrade – Fires before upgrade process (2 params: $from_version, $to_version)
* sqm_views_after_upgrade – Fires after upgrade process (2 params: $from_version, $to_version)
* sqm_views_uninstalled – Fires during plugin uninstallation (0 params)

Tracking:
* sqm_views_before_tracker_output – Before tracker script output (2 params: $tracking_data, $tracker_config)
* sqm_views_after_tracker_output – After tracker script output (1 param: $tracking_data)

Processing:
* sqm_views_before_processing – Before statistics processing starts (1 param: $verbose)
* sqm_views_after_processing – After statistics processing completes (1 param: $processor_instance)
* sqm_views_record_processed – After individual record processed (1 param: $record)
* sqm_views_daily_aggregated – After daily aggregation completes (1 param: $result)

Cache:
* sqm_views_chart_cache_invalidated – When chart cache is cleared (0 params)

Examples
Frontend Hooks – Control Tracking Behavior:

Exclude logged-in administrators from tracking (will not work properly if you cache pages or use CDN):

add_filter( 'sqm_views_should_track', function( $should_track, $data ) {     if ( current_user_can( 'manage_options' ) ) {         return false;     }     return $should_track; }, 10, 2 ); 

Modify tracking data before sending:

add_filter( 'sqm_views_tracking_data', function( $data ) {     // Add custom metadata     $data['custom_field'] = get_post_meta( get_the_ID(), 'my_field', true );     return $data; } ); 

Customize which post types are tracked (overrides UI settings):

add_filter( 'sqm_views_tracked_post_types', function( $post_types ) {     // Add custom post type     $post_types[] = 'portfolio';     return $post_types; } ); 

Processing Hooks – Modify Data Before Storage:

Calculate custom engagement metrics:

add_filter( 'sqm_views_calculated_metrics', function( $metrics, $records ) {     // Calculate engagement score     $metrics['engagement_score'] = ( $metrics['active'] / max( 1, $metrics['on_page'] ) ) * 100;     // Calculate bounce rate indicator     $metrics['likely_bounce'] = $metrics['on_page'] < 5 ? 1 : 0;     return $metrics; }, 10, 2 ); 

Filter records before processing:

add_filter( 'sqm_views_before_process_record', function( $record ) {     // Exclude specific URLs     if ( strpos( $record['url'], '/test-page/' ) !== false ) {         return null; // Skip this record     }     return $record; } ); 

REST API Hooks – Customize Chart Data:

Modify chart permissions:

add_filter( 'sqm_views_rest_permissions', function( $has_permission ) {     // Allow editors to view analytics     return current_user_can( 'edit_posts' ); } ); 

Activation Hooks – Adjust Default Settings:

Set custom default settings on activation:

add_action( 'sqm_views_activated', function() {     // Set default processing interval     update_option( 'sqm_views_cron_interval', 'hourly' );     // Enable external JavaScript by default     update_option( 'sqm_views_js_mode', 'external' ); } ); 

Cron Hooks – Custom Processing Schedules:

Run custom tasks after processing:

add_action( 'sqm_views_after_process', function( $processed_count ) {     // Send notification if processing high volume     if ( $processed_count > 10000 ) {         wp_mail(             get_option( 'admin_email' ),             'SQMViews High Volume Alert',             sprintf( 'Processed %d records', $processed_count )         );     } }, 10, 1 ); 

REST API:
* POST /wp-json/sqm-views/v1/track – Submit tracking data through WordPress API endpoint
* POST sqm-views-pages.php – Submit tracking data through Fast endpoint
* GET /wp-json/sqm-views/v1/charts – Retrieve chart data

WP-CLI:
* wp sqm-views process – Process pending statistics

License:

GPLv3. See LICENSE file for details.

Schermafbeeldingen

  • Interactive analytics dashboard with D3.js visualizations showing page view trends, engagement metrics, and filtering options
  • Tracking settings page for configuring which post types and taxonomies to track
  • Processing settings page showing cron status, scheduled runs, and manual processing options
  • Statistics overview displaying total records, recent activity, and active endpoint configuration

Installatie

Automatic Installation

  1. Log in to your WordPress admin panel
  2. Navigate to Plugins Add New
  3. Search for “SQMViews”
  4. Click Install Now then Activate
  5. Go to SQMViews Tracking Settings to configure

Manual Installation

  1. Download the plugin zip file
  2. Log in to your WordPress admin panel
  3. Navigate to Plugins Add New Upload Plugin
  4. Choose the zip file and click Install Now
  5. Click Activate Plugin
  6. Go to SQMViews Tracking Settings to configure

First Steps After Installation

  1. Configure Tracking – Go to SQMViews Tracking Settings

    • Select which post types to track
    • Choose taxonomy archives to monitor
    • Select JavaScript loading method (inline/external)
  2. Set Processing Schedule – Go to SQMViews Processing

    • Choose cron interval (hourly recommended)
    • Verify endpoint status (fast endpoint preferred)
  3. View Analytics (Once you have enough data) – Go to SQMViews Statistics

    • Explore interactive dashboard
    • Filter by date range
    • Compare different metrics

Performance Optimization

For best performance on high-traffic sites:

  1. Enable Fast Endpoint (automatic on most hosts)

    • Copy sqm-views-pages.php in WordPress root folder (next to wp-config.php)
    • Bypasses WordPress load
    • Reduces tracking overhead from ~250ms to ~5ms
    • Check status in Processing Settings
  2. Use External JavaScript (recommended for caching)

    • Set in Tracking Settings
    • Allows browser caching
    • Slightly faster page loads
  3. Adjust Cron Interval

    • Hourly: Good for most sites
    • 15 minutes: High-traffic sites needing real-time data
    • 6 hours/Daily: Low-traffic sites saving resources

FAQ

Does this plugin send data to external servers?

No! All data stays on your server. No data is sent to any third-party tracking services. You have complete control and ownership of your analytics data.

Will this slow down my website?

No! The plugin is optimized for performance:

  • Fast tracking endpoint bypasses WordPress load (~5ms response time).
  • Conventional API endpoint uses WordPress REST API (~250ms response time).
  • Asynchronous JavaScript doesn’t block page rendering.
  • File-based storage during tracking (zero database write regarding of your traffic).
  • Background processing via WP-Cron through batch writes into a separate table (minimal impact on the database performance and visitors).

Most sites should see no noticeable performance impact.

Is it GDPR compliant?

The plugin is GDPR-friendly by default:

  • No personal data collected (IP present in the raw log files to prevent abuse and removed from aggregated data, no cookies)
  • No data sent to external services
  • All data stored on your server
  • You control data retention policies

However, you’re responsible for:

  • Implementing proper consent mechanisms if required
  • Updating your privacy policy
  • Handling data subject access requests

Can I track custom post types?

Yes! Go to SQMViews Tracking Settings and select any registered post types. The plugin automatically detects all public post types on your site, or use hook sqm_views_trackable_post_types

Does it work with caching plugins?

Yes! The JavaScript tracker should work seamlessly with most of the caching plugins and services including:

  • WP Super Cache
  • W3 Total Cache
  • WP Rocket
  • LiteSpeed Cache
  • Cloudflare
  • Cloudfront

The tracking code runs on the client-side, so cached pages are tracked properly.

Can I exclude certain users from tracking?

Yes! Use the sqm_views_should_track filter hook:

add_filter( 'sqm_views_should_track', function( $should_track, $data ) {     // Exclude logged-in administrators     if ( current_user_can( 'manage_options' ) ) {         return false;     }     return $should_track; }, 10, 2 ); 

And adjust your CDN and caching plugins to exclude logged-in users from caching.

How much disk space does it use?

Storage requirements depend on traffic (YMMV):

  • Low traffic (1,000 views/day): ~50 MB/month
  • Medium traffic (10,000 views/day): ~500 MB/month
  • High traffic (100,000 views/day): ~5 GB/month
  • TBD based on actual usage

Raw files are automatically archived into daily files and can be safely deleted after processing.
We recommend storing archived files in a cold storage in case you want to replay the processing and aggregation, to remove bot traffic or extend data with more information.

Can I import/export the data?

Planned functionality.

What’s the difference between “active time” and “time on page”?

  • Time on Page: Total time from page load to exit (includes idle time)
  • Active Time: Time when user is actively engaging (scrolling, clicking, typing), checked every 10s.

Active time gives you better insight into actual engagement vs. just having a tab open.

Can I track non-WordPress pages?

It is possible, see the setup used to track Home page and Search results.

Where is the data stored?

Analytics data is stored in two places:

  1. Raw files: wp-content/uploads/sqm-views/raw/*.jsonl (temporary)
  2. Database: Four WordPress database tables (sqm_views*)

Raw files are automatically processed and archived by WP-Cron.

How do I uninstall the plugin?

Deactivation keeps all data intact.

Deletion removes all plugin files, database tables, and settings permanently. Make sure to export any data you want to keep before deleting.

Beoordelingen

Er zijn geen beoordelingen voor deze plugin.

Bijdragers & ontwikkelaars

“SQMViews” is open source software. De volgende personen hebben bijgedragen aan deze plugin.

Bijdragers

Vertaal “SQMViews” in je eigen taal.

Interesse in ontwikkeling?

Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.

Changelog

See separate file CHANGELOG.md