Bird
Raised Fist0
Wordpressframework~30 mins

Database optimization in Wordpress - Mini Project: Build & Apply

Choose your learning style10 modes available
Database Optimization in WordPress
📖 Scenario: You manage a WordPress website that has grown large and slow. You want to optimize the database queries to improve site speed and user experience.
🎯 Goal: Build a simple WordPress plugin that optimizes database queries by cleaning up post revisions and limiting query results.
📋 What You'll Learn
Create a function to delete old post revisions
Add a configuration variable to set the maximum number of posts per page
Write a function to limit the number of posts returned by a query
Hook the functions properly into WordPress actions
💡 Why This Matters
🌍 Real World
WordPress sites often slow down due to large numbers of post revisions and heavy queries. Cleaning revisions and limiting query results improves speed and user experience.
💼 Career
WordPress developers and site admins need to optimize database performance to maintain fast, scalable websites.
Progress0 / 4 steps
1
Create a function to delete old post revisions
Create a function called delete_old_revisions that deletes post revisions older than 30 days using wpdb and SQL DELETE query.
Wordpress
Hint

Use the global $wpdb object to run a SQL DELETE query targeting revisions older than 30 days.

2
Add a configuration variable for max posts per page
Add a variable called $max_posts and set it to 5 to limit the number of posts shown per page.
Wordpress
Hint

Define a variable $max_posts and assign it the value 5.

3
Write a function to limit posts returned by query
Create a function called limit_posts_query that accepts a $query parameter and sets $query->set('posts_per_page', $max_posts) to limit posts returned. Use the global $max_posts inside the function.
Wordpress
Hint

Use global $max_posts inside the function and check $query->is_main_query() and !is_admin() before setting posts_per_page.

4
Hook functions into WordPress actions
Use add_action to hook delete_old_revisions to 'wp_scheduled_delete' and add_action to hook limit_posts_query to 'pre_get_posts'.
Wordpress
Hint

Use add_action to connect your functions to the correct WordPress hooks.

Practice

(1/5)
1. What is the main purpose of database optimization in WordPress?
easy
A. To change the website's theme
B. To add more plugins automatically
C. To make the website load faster and run more efficiently
D. To increase the number of posts displayed

Solution

  1. Step 1: Understand database optimization

    Database optimization improves how quickly and efficiently data is accessed and stored.
  2. Step 2: Relate to WordPress site performance

    A faster database means the website loads quicker and runs smoother for visitors.
  3. Final Answer:

    To make the website load faster and run more efficiently -> Option C
  4. Quick Check:

    Database optimization = faster site [OK]
Hint: Optimization improves speed and efficiency [OK]
Common Mistakes:
  • Thinking optimization adds features
  • Confusing optimization with design changes
  • Believing optimization increases content automatically
2. Which of the following is the correct SQL command to optimize a WordPress database table named wp_posts?
easy
A. UPDATE wp_posts SET optimize;
B. OPTIMIZE TABLE wp_posts;
C. SELECT * FROM wp_posts OPTIMIZE;
D. DELETE OPTIMIZE FROM wp_posts;

Solution

  1. Step 1: Identify the SQL syntax for optimization

    The correct SQL command to optimize a table is OPTIMIZE TABLE table_name;.
  2. Step 2: Match the command to the WordPress table

    For the wp_posts table, the command is OPTIMIZE TABLE wp_posts;.
  3. Final Answer:

    OPTIMIZE TABLE wp_posts; -> Option B
  4. Quick Check:

    OPTIMIZE TABLE syntax = OPTIMIZE TABLE wp_posts; [OK]
Hint: OPTIMIZE TABLE is the correct SQL command [OK]
Common Mistakes:
  • Using UPDATE or DELETE incorrectly
  • Placing OPTIMIZE after SELECT
  • Missing semicolon at the end
3. Consider this WP-CLI command: wp db optimize. What will be the output after running this command?
medium
A. It will optimize all WordPress database tables and show a success message
B. It will delete all posts from the database
C. It will update WordPress to the latest version
D. It will backup the database automatically

Solution

  1. Step 1: Understand the WP-CLI command wp db optimize

    This command optimizes all tables in the WordPress database to improve performance.
  2. Step 2: Identify the expected output

    After running, it shows a success message confirming optimization.
  3. Final Answer:

    It will optimize all WordPress database tables and show a success message -> Option A
  4. Quick Check:

    wp db optimize = optimize tables + success message [OK]
Hint: wp db optimize optimizes all tables [OK]
Common Mistakes:
  • Confusing optimization with backup
  • Thinking it deletes content
  • Assuming it updates WordPress core
4. You run the SQL command OPTIMIZE wp_options; but get an error. What is the likely problem?
medium
A. The command is missing the word TABLE after OPTIMIZE
B. The table wp_options does not exist
C. OPTIMIZE cannot be run on WordPress tables
D. You need to use DELETE instead of OPTIMIZE

Solution

  1. Step 1: Check SQL syntax for OPTIMIZE command

    The correct syntax requires the keyword TABLE: OPTIMIZE TABLE table_name;.
  2. Step 2: Identify the missing keyword in the command

    The command OPTIMIZE wp_options; misses TABLE, causing an error.
  3. Final Answer:

    The command is missing the word TABLE after OPTIMIZE -> Option A
  4. Quick Check:

    OPTIMIZE TABLE required, missing TABLE causes error [OK]
Hint: Always use OPTIMIZE TABLE, not just OPTIMIZE [OK]
Common Mistakes:
  • Omitting TABLE keyword
  • Assuming table doesn't exist without checking
  • Using DELETE instead of OPTIMIZE
5. You want to optimize your WordPress database but keep a backup first. Which sequence of commands is best to safely optimize the database?
hard
A. wp db import backup.sql && wp db optimize
B. wp db optimize && wp db export backup.sql
C. wp db reset && wp db optimize
D. wp db export backup.sql && wp db optimize

Solution

  1. Step 1: Understand the need for backup before optimization

    Backing up first ensures you can restore data if optimization causes issues.
  2. Step 2: Analyze the command sequence

    wp db export backup.sql creates a backup file, then wp db optimize optimizes the database safely.
  3. Step 3: Check other options for correctness

    wp db optimize && wp db export backup.sql optimizes before backup (risky), wp db reset && wp db optimize resets database (dangerous), wp db import backup.sql && wp db optimize imports backup before optimizing (doesn't create a new backup first).
  4. Final Answer:

    wp db export backup.sql && wp db optimize -> Option D
  5. Quick Check:

    Backup then optimize = safe practice [OK]
Hint: Always backup before optimizing database [OK]
Common Mistakes:
  • Optimizing before backup
  • Resetting database accidentally
  • Importing backup instead of exporting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard