Prepare for your WordPress job interview with this comprehensive guide covering frequently asked questions, including WordPress.com vs. WordPress.org, custom post types, taxonomies, SEO, security, and more.
WordPress interviews rarely test whether you memorized the docs. They test whether you understand how the platform fits together and can explain it to someone else without hand-waving. That is the real bar.
Below are the questions that come up again and again, with answers you can say out loud and defend. Read them once, then say each one back in your own words. If you can do that, you are ready.
What is the Difference Between WordPress.com and WordPress.org?
Same software underneath, two very different setups. Confuse them in an interview and it shows.
- WordPress.com: the hosted version. Your site lives on Automattic’s servers, and they handle hosting, updates, and security for you. Good when you want to write, not maintain.
- WordPress.org: the self-hosted version. You bring your own hosting and install the software yourself. More control and flexibility, more responsibility. This is what most developers mean when they say “WordPress.”
What is the Difference Between a Post and a Page in WordPress?
Both hold content, but they behave differently.
- Posts: time-based entries, the stuff of a blog. They show newest first, and you organize them with categories and tags.
- Pages: static content that rarely changes, like About or Contact. Pages stay out of the blog feed and can be nested in a parent-child hierarchy.
What is a Custom Post Type in WordPress?
When your content is not really a post or a page, you register a custom post type. It is a content type of your own, with its own admin menu and its own rules. Common examples:
- Portfolios: show your work in a structured layout.
- Testimonials: keep client feedback consistent.
- Events: list what is coming up with the details that matter.
You register one with register_post_type(), usually on the init hook. That is what turns WordPress from a blog into a real content system.
What are WordPress Taxonomies?
Taxonomies are how WordPress groups content so people can find it. Two ship with core:
- Categories: hierarchical, so you can nest subcategories. Use them for broad grouping.
- Tags: flat, with no hierarchy. Use them as keywords that tie related posts together.
You are not limited to those two. Register your own with register_taxonomy() when you need to classify a custom post type.
What is a Shortcode in WordPress?
A shortcode is a small tag in square brackets, like [shortcode], that WordPress swaps out for dynamic content when the page renders. Drop one into a post to embed a gallery, a form, or a video without writing code. You build your own with add_shortcode().
What is a Widget in WordPress?
Widgets are self-contained blocks you place in sidebars, footers, and other widget areas: recent posts, a search box, social links, and so on. You manage them under Appearance > Widgets.
Worth knowing for the interview: since WordPress 5.8 that screen is block-based, so widget areas now use the block editor. If a site needs the old drag-and-drop screen back, the Classic Widgets plugin restores it.
How Do You Create a Child Theme in WordPress?
A child theme inherits everything from a parent theme, so you can customize safely. Your changes live in the child, and a parent update will not wipe them out. Three steps:
- Create a new folder in
wp-content/themesfor the child. - Add a
style.csswith the required header, including aTemplate:line that names the parent theme’s folder. - Add a
functions.phpthat enqueues the parent’s stylesheet withwp_enqueue_style().
What are the Benefits of Using WordPress for SEO?
WordPress gives you a solid SEO foundation out of the box:
- Clean, structured markup: search engines parse it easily.
- Editable permalinks: set readable, keyword-friendly URLs under Settings > Permalinks.
- Built-in XML sitemaps: since WordPress 5.5, core generates a sitemap at
wp-sitemap.xmlautomatically, so crawlers can find your content. - Native lazy loading: also since 5.5, images get a
loading="lazy"attribute by default, which helps page speed.
One honest caveat, because interviewers ask it: core does not write meta titles and descriptions for you. That is the job of an SEO plugin like Yoast, Rank Math, or All in One SEO, or of your theme. Do not claim WordPress handles meta descriptions on its own.
How Do You Optimize WordPress for Speed?
Speed is both a user-experience and an SEO issue. The reliable wins:
- Run a lightweight theme: less bloat, fewer render-blocking assets.
- Compress images: shrink files before they ship, and serve modern formats.
- Minify CSS and JavaScript: cut the bytes the browser has to download.
- Cache pages: a caching plugin serves prebuilt HTML instead of rebuilding every request.
- Clean the database: clear out old revisions, expired transients, and orphaned rows on a schedule.
What Are Some Common Security Issues in WordPress, and How Do You Prevent Them?
Popularity makes WordPress a target. Most breaches trace back to weak passwords, stale software, or a vulnerable plugin or theme. What to do about it:
- Use strong, unique passwords: on every account, admins first.
- Keep core, plugins, and themes updated: outdated code is the most common way in.
- Back up regularly: so a bad day is a restore, not a rebuild.
- Add a security plugin: Wordfence or Sucuri for firewalling and malware scanning.
How Do You Create a Backup of Your WordPress Website?
A real backup covers both parts of the site: the files and the database. A plugin like UpdraftPlus or Solid Backups (the plugin formerly called BackupBuddy) can run scheduled backups and push them off-site to Dropbox, Google Drive, or S3. The rule that matters: store the copy somewhere other than the server it is backing up.
What Are Some Best Practices for Creating a WordPress Website?
Nothing exotic here, just the habits that separate a site that lasts from one that breaks:
- Pick reliable hosting: it sets the ceiling for speed and uptime.
- Use a responsive, SEO-ready theme: mobile-first, with clean markup.
- Keep everything updated and secured: core, themes, plugins, plus real security measures.
- Optimize for speed: the same wins from the speed question above.
- Back up on a schedule: and confirm the backups actually restore.
What is the WordPress Loop?
The Loop is the PHP that runs your content onto the page. WordPress runs a query, and the Loop walks each matching post and outputs it. Almost every template file has one, which is why it is the first thing to understand in theme development.
The basic shape:
<?php
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?>
</a></h2> <?php the_content(); ?>
<?php endwhile;
else : ?> <p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>What is the Purpose of the functions.php File?
Your theme’s functions.php behaves like a plugin that is tied to the active theme. It is where you add, change, or remove functionality with PHP. Typical jobs:
- Enqueue scripts and styles: load CSS and JavaScript the right way, with
wp_enqueue_script()andwp_enqueue_style(). - Declare theme support: turn on features like post thumbnails, title tags, or custom logos.
- Register shortcodes: plus hooks, custom post types, and anything else the theme needs.
One catch worth mentioning: code in functions.php only runs while that theme is active, so switch themes and it is gone. Anything you want to keep across themes belongs in a plugin.
What is the Role of the .htaccess File in WordPress?
.htaccess is an Apache configuration file that sits in your site root. WordPress mainly uses it for pretty permalinks and for server-level rules. (On Nginx there is no .htaccess; the same rules live in the server config instead.)
What it handles:
- Permalinks: the rewrite rules that turn
?p=123into a readable URL. - Security: block IPs, protect sensitive files, and switch off directory browsing.
- Redirects: send old URLs to new ones so you do not leak 404s.
How Do You Troubleshoot Common WordPress Errors?
Knowing the fix for the classic errors saves you on a bad day:
- White screen of death: usually a PHP fatal or a blown memory limit. Turn on
WP_DEBUG, read the log, and raise the memory limit inwp-config.php. - Error establishing a database connection: check the database credentials in
wp-config.phpand confirm the database server is running. - 404s on every post: go to
Settings > Permalinksand save. That rewrites the rules and usually clears it.
What is the Difference Between a Theme and a Template in WordPress?
People use the words interchangeably, but they are not the same thing.
- Theme: the whole package. Templates, stylesheets, scripts, and functions that together define how the site looks and behaves.
- Template: a single file inside that theme that controls one kind of view, like
single.phpfor a post orpage.phpfor a page. Which template loads is decided by the WordPress template hierarchy.
How Do You Secure the WordPress Admin Area?
The login screen is the front door, so harden it:
- Limit login attempts: throttle repeated failures from one IP to blunt brute-force attacks.
- Move the login URL: off the default
wp-login.phpso bots miss it. - Turn on two-factor authentication (2FA): a second factor beats a stolen password.
What is a Child Theme, and Why Would You Use One?
A child theme inherits its parent’s features and styling, and lets you change things without editing the parent. That single property is the whole reason it exists.
Why it is worth the setup:
- Safe updates: the parent can update without erasing your work.
- Focused changes: override just the files you need, and leave the rest alone.
- Cleaner code: your customizations stay in one place, easy to track and undo.
What is the WordPress REST API?
The REST API lets other software talk to WordPress over HTTP. Hit its endpoints and you can create, read, update, and delete content from outside the admin entirely. Where that matters:
- Mobile apps: feed an app with content from a WordPress backend.
- Headless setups: keep WordPress as the CMS and build the front end in React, Next.js, or whatever you like.
- Custom dashboards: pull WordPress data into tools of your own.
How Do You Create a Custom Widget in WordPress?
You build a classic widget by extending the WP_Widget class and registering it on widgets_init. Here is the skeleton:
/**
* Class My_Custom_Widget
*
* A custom widget class that extends the WP_Widget class.
*/
class My_Custom_Widget extends WP_Widget {
/**
* Register widget with WordPress.
*/
function __construct() {
parent::__construct(
'my_custom_widget', // Base ID
__('My Custom Widget', 'text_domain'), // Name
array( 'description' => __( 'A Custom Widget', 'text_domain' ), ) // Args
);
}
/**
* Front-end display of the widget.
*
* @param array $args Widget arguments.
* @param array $instance Saved values from database.
*/
public function widget( $args, $instance ) {
echo $args['before_widget'];
if ( ! empty( $instance['title'] ) ) {
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
}
// Output the content of the widget
echo 'Hello, World!';
echo $args['after_widget'];
}
/**
* Back-end widget form.
*
* @param array $instance Previously saved values from database.
* @return void
*/
public function form( $instance ) {
// Widget admin form
}
/**
* Sanitize widget form values as they are saved.
*
* @param array $new_instance Values just sent to be saved.
* @param array $old_instance Previously saved values from database.
* @return array Updated safe values to be saved.
*/
public function update( $new_instance, $old_instance ) {
// Update widget options
return $instance;
}
}
/**
* Register My_Custom_Widget widget.
*/
function register_my_custom_widget() {
register_widget( 'My_Custom_Widget' );
}
add_action( 'widgets_init', 'register_my_custom_widget' );
In a real widget, form() outputs the settings fields and update() sanitizes those values and returns them before they are saved.
What is the Difference Between Categories and Tags?
Both organize posts, but they work differently:
- Categories: hierarchical and meant for broad groups. Every post usually belongs to at least one.
- Tags: flat and specific, more like keywords. Use as many or as few as a post needs.
Rule of thumb: categories are the table of contents, tags are the index.
How Do You Optimize Images for WordPress?
Images are usually the heaviest thing on a page, so they are the easiest speed win:
- Choose the right format: JPEG for photos, PNG for transparency, and WebP or AVIF when your setup supports them.
- Compress before or on upload: tools like TinyPNG or plugins like Smush cut file size with no visible loss.
- Lazy load below the fold: WordPress does this natively now, so images load as the reader scrolls to them.
What is a Page Builder in WordPress?
A page builder is a plugin that lets you design layouts by dragging elements around instead of writing code. Elementor, Beaver Builder, and WPBakery are the common names. (WordPress also ships its own block editor now, which covers a lot of the same ground without a plugin.) Why teams reach for one:
- No code required: non-developers can build real layouts.
- Lots of presets: templates and prebuilt sections to start from.
- Faster output: quick to assemble pages, quicker to hand off.
What is a Hook in WordPress?
Hooks are how you plug your code into WordPress without editing core, theme, or plugin files directly. There are two kinds:
- Actions: run your code at a specific moment, using
add_action(). Nothing is returned; you just do something. - Filters: change a value as it passes through, using
add_filter(). You take data in and return the modified version.
The one-line version interviewers like: actions do things, filters change things.
How Do You Migrate a WordPress Site?
Moving a site means taking its files and its database to a new home. The safe sequence:
- Back up first: a full backup with something like UpdraftPlus, or a purpose-built migration plugin.
- Export the database: through phpMyAdmin or your migration tool.
- Move the files: upload
wp-contentand the rest over FTP or SFTP. - Fix the URLs: run a proper search-and-replace so serialized data stays intact when the domain changes. Never do it with a raw SQL find and replace.
Before you walk in
Reading these answers is the easy part. The interview tests whether you can say them out loud, in your own words, under a little pressure. So do that: pick a question, close this tab, and explain it to the wall. If you stumble, you found a gap. Fix it and move on.
You do not need to recite every function name. You need to show that you understand how the pieces fit together: themes and templates, hooks and the Loop, posts and taxonomies, and where security and speed actually come from. Get that across clearly and you will stand out from the people who only memorized definitions.


