Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

WordPress maintenance becomes dependable when a repeated dashboard fix is converted into a documented command, then into a tested script with scheduling, logs, verification, and a recovery path. WP-CLI is the foundation: the official project describes it as the command-line tool for WordPress and states, “Anything you can do in the WordPress admin, you can do from the terminal.”

That does not mean every site needs a complex platform. A small site may need one carefully written backup-and-update script; a larger network may need staging, CI/CD approvals, monitored jobs, and managed hosting. The right goal is not maximum automation. It is repeatable work that can be understood, audited, stopped safely, and recovered when a command fails.

Why a one-off WordPress fix is usually a recurring operation

Suppose an administrator notices that a plugin update failed, opens the dashboard, updates the plugin, clears the cache, and checks the homepage. The immediate incident is resolved, but the underlying work is likely to recur. The same plugin may need updating next month, another site may have the same issue, and the person who performed the fix may not be available the next time.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Automation maturity starts by treating that sequence as an operation rather than a memory test. Write down the trigger, the commands or UI actions, the expected result, the evidence to retain, and the way to undo the change. Once the sequence is explicit, it can be run consistently by a person, a scheduled job, or a deployment system.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
  • Find repetition: list updates, backups, cache clears, health checks, user changes, database exports, and other tasks performed on a schedule or after every release.
  • Define a successful run: for example, all intended updates complete, checksums pass, the site responds, and the backup file exists and can be identified.
  • Separate safe from destructive actions: a read-only check can run frequently; a database replacement needs an approval, a backup, and a tested recovery procedure.
  • Record context: site name, environment, WordPress version, plugin and theme versions, operator or job identity, start and end times, and exit status.

WordPress itself treats maintenance and security as continuing responsibilities. Automation therefore needs ownership and review; an unattended job that changes production without logs or recovery is simply an unattended incident.

The maturity ladder: from clicks to a monitored service

These stages are cumulative. A later stage should preserve the useful documentation and safeguards from the earlier one.

Stage What happens What to add before moving on
Manual click An administrator performs the same dashboard actions by hand. Document the sequence, prerequisites, expected results, and rollback.
Command The operator runs a WP-CLI command directly over an approved shell session. Use the correct site and environment, capture output, and confirm the command’s exit status.
Script Several commands run in a fixed order with checks and failure handling. Add backups, explicit configuration, logging, and a dry-run or staging path where available.
Scheduled job A system cron entry or WordPress cron event runs the script at a defined time. Prevent overlapping runs, alert on failure, and verify that the scheduler actually fires.
CI/CD deployment A versioned change moves through review, staging, and an approved production step. Keep environments separate, store secrets securely, retain artifacts, and define rollback.
Monitored service Jobs have owners, dashboards or alerts, routine review, and tested recovery. Measure completion and failure trends without assuming automation is infallible.

A command is not automatically a system. The system appears when the command has a known input, a predictable output, a schedule or trigger, evidence of completion, and a safe response to failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What WP-CLI can automate

The WP-CLI command index covers core, plugins, themes, users, posts, databases, cache, multisite, maintenance mode, and cron. This breadth lets one operating procedure use the same interface for tasks that would otherwise be scattered across dashboard screens.

Plugin and theme updates

To inspect installed extensions before changing them, use:

wp plugin list
wp theme list

Update a named plugin or all plugins only after confirming the target environment:

wp plugin update example-plugin
wp plugin update --all

The equivalent theme commands are:

wp theme update example-theme
wp theme update --all

Updating everything is convenient but broad. A production runbook should define whether inactive extensions are included, whether major-version updates require approval, and what health checks follow the update. Keep a copy of the previous versions or a deploy artifact so that a failed extension can be restored.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WordPress core updates and integrity checks

Core commands support update checks, updates, installation management, and checksum verification. A conservative sequence is:

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
wp core check-update
wp core update
wp core verify-checksums

wp core check-update tells the operator whether an update is available; wp core update changes the installation; wp core verify-checksums checks that core files match the expected release checksums. A checksum failure is an investigation signal, not proof by itself of compromise: local modifications, an incomplete update, or an unusual distribution can also matter. Preserve the output and investigate before overwriting files.

Database exports and imports

A database export belongs before destructive maintenance and should be part of the same operating system as updates:

wp db export '/var/backups/site-2026-10-20.sql'

Import is intentionally explicit because it replaces data:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
wp db import '/var/backups/site-2026-10-20.sql'

Use a unique, access-controlled destination, record the file name in the job log, and verify that the export completed and is readable. An export is not a tested backup until the team has rehearsed restoring it on a non-production environment. Never import into a live site merely to test whether the file works.

Search-and-replace during migrations

URL changes and domain migrations often require serialized-data-aware replacement. Start with a dry run:

wp search-replace 'https://old.example' 'https://new.example' --all-tables-with-prefix --dry-run

Review the reported tables and counts, then run the same operation without --dry-run only after a current database export exists:

wp search-replace 'https://old.example' 'https://new.example' --all-tables-with-prefix

Limit the scope when the migration requires it, and check media URLs, redirects, canonical links, scheduled actions, and third-party integrations afterward. A replacement can be technically successful while leaving hard-coded values in files, external services, or tables outside the selected prefix.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cache and maintenance mode

After a deployment or configuration change, clear the WordPress object cache when the site uses a cache drop-in:

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
wp cache flush

For a short, controlled maintenance window, use:

wp maintenance-mode activate
# perform the approved operation
wp maintenance-mode deactivate

Keep the deactivation step in a failure handler or a separately documented recovery command. Leaving maintenance mode active is a common automation failure because the primary operation succeeded but the cleanup step did not.

Inspecting and running scheduled events

WP-CLI can test the spawning system and manage scheduled events. Inspect the queue with:

wp cron event list

Test whether WordPress can spawn its cron process:

wp cron test

When a system scheduler is configured to drive due events directly, the run command is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
wp cron event run --due

WordPress cron is triggered by site activity in many installations, so a low-traffic site may run events late. A system cron job can invoke due events at a predictable interval, but it must be tested, logged, and protected from overlapping executions. The event list and the scheduler log together show whether a task was scheduled, attempted, and completed.

Build a repeatable maintenance runbook

The following procedure turns a collection of commands into an operation that another administrator can review and run.

  1. Declare the target. Identify the site, environment, WordPress path, PHP version, and the account that will run the commands. Refuse to continue if the path or environment is not unambiguous.
  2. Check prerequisites. Confirm that wp is available, the database is reachable, disk space is sufficient for a backup, and the account has only the permissions required for the task.
  3. Capture a baseline. Record wp core version, wp plugin list, wp theme list, and the current revision or release identifier. Save the output with a timestamp.
  4. Back up before change. Export the database and retain the location, size, and completion status. For file changes, use the deployment artifact or a filesystem snapshot provided by the hosting platform.
  5. Run the smallest approved change. Use named updates when possible. Use --dry-run on commands that support it, especially for search-and-replace or bulk operations.
  6. Verify the result. Run checksum verification where appropriate, inspect plugin and theme status, check scheduled events, flush caches only when required, and make an HTTP-level health check from outside the server.
  7. Publish evidence. Store command output, exit codes, timestamps, the operator or job identity, and links to the backup and deployment artifact in a protected log.
  8. Close or recover. Deactivate maintenance mode, release any lock, and notify the owner. If a check fails, stop subsequent destructive steps and follow the rollback plan rather than improvising.

A small WP-CLI script

A script should fail clearly, avoid running against an unknown directory, and make its backup part of the normal path. This example is a starting point, not a universal production policy:

#!/usr/bin/env bash
set -Eeuo pipefail

WP_PATH='/srv/www/example'
BACKUP_DIR='/var/backups/example'
STAMP=$(date -u +%Y%m%dT%H%M%SZ)
LOG_FILE="${BACKUP_DIR}/maintenance-${STAMP}.log"

mkdir -p "${BACKUP_DIR}"
cd "${WP_PATH}"
exec > >(tee -a "${LOG_FILE}") 2>&1

wp core version
wp plugin list
wp db export "${BACKUP_DIR}/db-${STAMP}.sql"
wp plugin update --all
wp theme update --all
wp core verify-checksums
wp cache flush
wp cron test
wp cron event list

In a real deployment, add a lock so two copies cannot run together, define what happens when a plugin update returns a non-zero status, and send a failure notification. Keep site-specific values outside the script where possible, but validate them before use. Do not put database passwords or API tokens in source control or command-line arguments that are broadly visible to other users.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Scheduling backups, updates, and verification

Scheduling is useful only when the schedule is observable. A system cron entry can invoke a wrapper at a quiet time, for example:

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
15 2 * * * /usr/local/bin/wp-maintenance-example >> /var/log/wp-maintenance-example.log 2>&1

The exact path, user, timezone, and retention policy must match the server. Ensure the log directory is writable by the job account, rotate logs, and alert when the command exits unsuccessfully or produces no run record for the expected period.

Separate high-frequency checks from high-impact changes. A practical pattern is to run cron inspection and checksum checks frequently, create database backups on a defined retention schedule, and require approval for major core or plugin updates. If updates are automated, pin the maintenance window and test the same sequence in staging first.

For sites that rely on WordPress’s internal scheduler, wp cron test should be part of onboarding and incident troubleshooting. If events remain overdue, inspect server-level cron, HTTP loopback access, site traffic, authentication, and the event list rather than repeatedly triggering the same command.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Moving from scripts to CI/CD deployment

CI/CD is appropriate when changes are versioned, reviewed, and released across more than one environment. The pipeline should treat WordPress operations as a sequence of controlled transitions:

  1. Validate the proposed code, configuration, and dependency changes.
  2. Deploy to staging with the same PHP, WordPress, plugin, and theme versions intended for production.
  3. Run database and application checks, then exercise the key user journeys.
  4. Create or confirm a production backup and retain the deployment identifier.
  5. Require an approval for the production step when the change is destructive or high risk.
  6. Run the approved WP-CLI commands in the production path, capture output, and perform health checks.
  7. Mark the release complete only when verification passes; otherwise stop and invoke rollback.

Environment separation matters. A command that is safe on staging can destroy production data if a variable, URL, or database credential points to the wrong place. Make the environment visible in logs and require the pipeline to fail when a required variable is missing rather than silently using a default.

Guardrails that make automation safe

Least-privilege access

Run jobs under an account that can access the intended WordPress files and database but cannot administer unrelated sites. Store secrets in the scheduler or CI/CD secret store, restrict log access, and rotate credentials. Avoid sharing a single human administrator account for automated work.

Backups and rollback

A rollback plan names the artifact, the command or hosting action that restores it, the person who can authorize it, and the checks performed afterward. Database restoration alone may not restore changed plugin files, uploaded assets, or configuration. Align database, code, and media recovery with the type of change being made.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Dry runs and staging

Use dry-run options where available, but do not confuse a dry run with a complete test. Staging catches compatibility and front-end failures; a dry run shows what a command intends to change. Use both for migrations and bulk operations.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Exit codes, locks, and idempotency

Scripts must stop or branch when a command fails. A log message that says “update failed” is not enough if the script continues to delete, import, or flush data. Use a lock file or equivalent mechanism to prevent overlapping runs. Design reruns to be safe: checking status before changing it, using deterministic release artifacts, and avoiding duplicate data creation.

Logs and alerting

Capture standard output and errors, but do not log passwords, tokens, or full personal records. Alert on non-zero exit codes, missing expected runs, backup failures, checksum mismatches, and health-check failures. A successful scheduler invocation is not the same as a successful WordPress operation.

Manual work, WP-CLI scripts, CI/CD, or managed hosting?

These operating models solve different constraints. The comparison below describes decision criteria rather than measured performance results.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Criterion Manual dashboard Scripted WP-CLI CI/CD deployment Managed WordPress hosting
Repeatability Depends on the operator remembering every step. High for a defined site and runbook. High across reviewed releases and environments. Depends on the provider’s documented controls and your configuration.
Audit trail Usually limited to dashboard or server history. Available when command output and logs are retained. Built around commits, approvals, artifacts, and job logs. May include provider logs and activity records; verify retention and export options.
Scheduling Calendar reminders or human availability. System cron or WordPress cron. Release triggers, schedules, or approvals. Provider-managed schedules for backups, updates, or maintenance where offered.
Environment separation Often unclear unless separate dashboards are maintained. Must be designed with paths, credentials, and host checks. Usually explicit through staging and production stages. May provide staging; confirm how data is copied and isolated.
Rollback and recovery Manual restoration and uncertain evidence. Defined by your backups and artifacts. Can use versioned releases plus database and media recovery. May include provider backups and restore tools; confirm restore scope and retention.
Permissions Human administrator access is common. Can use a restricted service account. Uses scoped runner and deployment credentials. Shared responsibility: provider controls the platform, while you control site content and settings.
Failure alerting Someone notices a problem later. Requires log monitoring or notifications you configure. Usually available through pipeline status and integrations. Depends on the host’s monitoring and notification features.

When a small script is enough

A script is usually the practical choice when you control the server, have a small number of sites, can review logs, and need a narrow repeatable task such as nightly database exports, cache maintenance, or a controlled update window. Keep the script short, version it, test it on staging, and document who responds to an alert.

Move toward CI/CD when several people contribute changes, releases need approval, staging must match production, or the same process serves many sites. The value is not merely running commands remotely; it is making the change reviewable and associating it with a release artifact.

Managed WordPress hosting becomes more attractive when your team cannot reliably maintain server scheduling, backups, staging, patching, monitoring, and recovery. Evaluate the service on those controls rather than on the word “managed.” Ask whether backups are automated and restorable, whether updates can be staged or approved, how alerts arrive, how long logs and backups are retained, and what happens during a failed update. A hybrid model is often sensible: let the host provide infrastructure backups and staging while your own scripts and pipeline manage site-specific releases.

Operating multiple WordPress sites consistently

Multi-site operations need an inventory and a policy. Record each site’s URL, filesystem path, environment, PHP and WordPress versions, enabled extensions, maintenance window, backup destination, and owner. Use a shared script with explicit per-site configuration rather than copying untracked files between servers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run a canary first: select one representative site, execute the job, inspect its logs and health checks, then expand in batches. Limit concurrency so a shared database server or backup destination is not overloaded. Use WP-CLI’s multisite-aware commands and the appropriate site URL when a network contains multiple subsites, and verify network-level changes separately from single-site changes.

Standardize the evidence every site produces: baseline versions, backup identifier, commands run, exit status, verification results, and final health check. Consistent evidence makes a failure diagnosable without requiring the original operator to remember what happened.

Common failure modes and recovery actions

Symptom Likely operating issue First response
Update command stops part way through Dependency conflict, permissions, network failure, or incompatible extension. Keep the log, stop further changes, restore the affected artifact if required, and test the update in staging with the same versions.
Checksum verification fails Modified, incomplete, or unexpected core files. Do not overwrite blindly; compare the release, inspect the files, and restore a known-good artifact after investigation.
Database export is missing or empty Wrong path, insufficient disk space, database credentials, or a job that ignored the exit code. Mark the run failed, correct storage or access, and create a new verified export before any destructive operation.
Search-and-replace produces unexpected links Incorrect scope, old and new URLs entered incorrectly, or values outside the selected tables. Stop traffic changes if possible, use the pre-change export, and rerun a reviewed dry run with a narrower scope.
Scheduled events are overdue WP-Cron spawning, loopback HTTP, traffic, or system-cron configuration problem. Run wp cron test, inspect wp cron event list, check server scheduling and connectivity, then resolve the cause before forcing repeated runs.
Site remains in maintenance mode Cleanup command did not execute after an error. Run the documented deactivation command after confirming the site is safe, then add a trap or separate recovery check to the automation.
Job reports success but users see stale content One of several caches was not invalidated, or the health check bypassed the affected layer. Identify page, object, CDN, and browser caches separately; flush only the required layer and test from an external client.

A practical adoption plan

  1. Week one: inventory. List recurring fixes and choose one low-risk operation with a clear success condition.
  2. Week two: document and command. Perform it manually while recording the exact WP-CLI commands, outputs, permissions, and rollback.
  3. Week three: script and stage. Add preflight checks, a backup, failure handling, logging, and a staging test.
  4. Week four: schedule and review. Add a controlled scheduler, alerting, a lock, and a human review of the first runs.
  5. After stabilization: expand carefully. Add core, plugin, theme, cache, cron, and migration tasks one at a time; move release-controlled work into CI/CD when the number of sites or contributors justifies it.

The result is a WordPress operation that can be repeated by design rather than by memory: a command has become a runbook, the runbook has become a tested job, and the job has an owner, evidence, and a way back.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.