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

Short answer: the checkbox at Settings → Discussion sets the default for new content; it does not change the stored ping setting on older posts. To close pings on existing content, edit a post and switch off its Discussion option, use Bulk actions → Edit → Pings → Do not allow, or update the ping_status field with WP-CLI or SQL.

What you are disabling

A pingback is an automated notification sent when one site links to a WordPress post that accepts pingbacks. A trackback is an older, generally more manual notification that can include an excerpt of the referring content. Both normally appear with comments and are controlled by a post-level ping setting. WordPress describes their behavior in its trackbacks and pingbacks documentation.

Control What it does
Allow link notifications from other blogs (pingbacks and trackbacks) Controls whether new posts accept incoming pings by default.
Attempt to notify any blogs linked to from the article Controls whether WordPress tries to send outgoing pingbacks when new posts link to other sites.

These are separate. Closing comments, hiding the comment form, or changing moderation settings does not necessarily close pingbacks and trackbacks.

Why the Discussion setting did not change old posts

WordPress stores the ping setting for each post. The defaults under Settings → Discussion → Default article settings are applied when content is created; individual posts can override them. Consequently, an older post can retain ping_status = 'open' after you disable the global default. The WordPress FAQ documents this default-versus-existing-content distinction.

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

Disable pings on one existing post

Block Editor

  1. Go to Posts → All Posts and click Edit for the post.
  2. Open the post settings sidebar and expand Discussion.
  3. Turn off Enable pingbacks & trackbacks.
  4. Click Update.

The sidebar labels can vary with WordPress version, editor configuration, post type, and plugins. The Page/Post Settings Sidebar documentation shows the current block-editor control.

Classic Editor

  1. Open the post for editing.
  2. In the Discussion box, clear Allow trackbacks and pingbacks on this post.
  3. Click Update.

If the box is hidden, open Screen Options at the top of the editor and enable Discussion. The Classic Editor wording is documented in Write Posts—Classic Editor.

Disable pings on many posts with WordPress

  1. Open Posts → All Posts.
  2. Select the posts you want to change. Use filters first if you need a particular date, author, category, or status.
  3. Choose Edit from Bulk actions, then click Apply.
  4. Set Pings (sometimes shown as Pings Allowed) to Do not allow.
  5. Click Update.

The Posts screen supports changing the Pings Allowed field; see the official Posts Screen documentation. Pages have a comparable workflow under Pages → All Pages, as described in the Pages Screen documentation.

Process every result page

Bulk edit applies to the posts selected on the current list screen. It is not an automatic whole-site migration. Check the number of posts displayed, repeat the operation on subsequent pages, and include Pages or custom post types separately when they are in scope. If the Pings field is absent, the post type may not support trackbacks, or a plugin or custom administration screen may have removed the field.

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

Use WP-CLI for a large archive

WP-CLI is appropriate when you have shell access and hundreds or thousands of records to update. Back up the database, confirm the WordPress installation path and (on multisite) the target site, then review the IDs before changing them. The documented option is --ping_status=closed in wp post update.

Specific IDs

wp post update 123 456 789 --ping_status=closed

All standard posts

wp post update $(wp post list --post_type=post --format=ids) --ping_status=closed

Published posts only

wp post update $(wp post list 
  --post_type=post 
  --post_status=publish 
  --format=ids) 
  --ping_status=closed

Published pages

wp post update $(wp post list 
  --post_type=page 
  --post_status=publish 
  --format=ids) 
  --ping_status=closed

Change --post_type deliberately for custom post types; do not assume they should all be closed. Very large command substitutions can exceed the shell’s argument-length limit. In that case, process IDs in smaller batches or use a script that reads them incrementally. The wp post and WP-CLI database command references cover the available listing and database tools.

Update the database directly with SQL

SQL is a last-resort method for administrators who have a verified backup and understand their database tooling. WordPress installations often use a table prefix other than wp_; replace it with the prefix in wp-config.php.

Preview the rows

SELECT ID, post_type, post_status, ping_status
FROM wp_posts
WHERE post_type IN ('post', 'page')
  AND ping_status = 'open';

Confirm the rows and count before updating. To close pings on normal posts and pages:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
UPDATE wp_posts
SET ping_status = 'closed'
WHERE post_type IN ('post', 'page');

To limit the change to published content:

UPDATE wp_posts
SET ping_status = 'closed'
WHERE post_type IN ('post', 'page')
  AND post_status = 'publish';

Run the preview query again, changing the condition as needed, to verify that intended records no longer have an open status. A missing WHERE clause or an incorrect prefix can affect unrelated records, so restore a database backup or hosting snapshot if a query changes too much. SQL can also be run through wp db query; see the WP-CLI database commands reference.

Stop pings on future posts

  1. Go to Settings → Discussion.
  2. Under Default article settings, clear Allow link notifications from other blogs (pingbacks and trackbacks).
  3. If your goal also includes stopping outbound notifications, clear Attempt to notify any blogs linked to from the article.
  4. Save the settings.

These defaults can still be overridden on an individual article. The exact labels and available options are documented on the Settings Discussion Screen page.

Existing pingback spam needs a separate cleanup

Closing ping_status prevents new pings from being accepted; it does not delete pingback or trackback comments already stored. Review those records in the Comments screen and moderate, mark as spam, or delete them using your normal workflow. WordPress documents that process in Comment Moderation.

When pings continue after you close them

  • Only the default changed: inspect a representative old post and close its Discussion setting, or update its ping_status.
  • Some content was missed: check later bulk-edit pages, Pages, and any custom post types.
  • The notification is old: it may be an existing comment rather than a newly accepted ping.
  • Code is reopening pings: temporarily review plugins, themes, scheduled tasks, and custom code that writes post fields.
  • You changed the wrong site: verify the site in a multisite network and the database connection used by WP-CLI.
  • The screen is stale: reload the administration page and inspect the post directly.

For a database check, substitute the actual table prefix:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
SELECT ID, post_title, post_type, ping_status
FROM wp_posts
WHERE ID = 123;

A self-ping is a special case: linking to another post on the same site can generate one. WordPress suggests using a relative URL such as /2021/06/16/example-post instead of the full domain URL, although editors can reinsert the absolute URL. This reduces self-pings but is not a replacement for closing pings when you want them disabled.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Should you delete wp-trackback.php?

Older WordPress guidance has mentioned deleting that core file as an alternative to disabling trackbacks. It should not be the normal fix: deleting core files can complicate updates, troubleshooting, and maintenance. Prefer the post settings, native bulk edit, WP-CLI, or a carefully scoped database update. Server-level blocking is a specialized defense-in-depth measure, not a substitute for correcting each post’s setting.

Choose the least risky method

Situation Best fit Main trade-off
One post or a few selected posts Individual editor or native bulk edit Large archives require repeated list pages.
Hundreds or thousands of records, with SSH WP-CLI Requires correct site, post type, status, and batching.
WP-CLI unavailable and database access is reliable Scoped SQL after a backup A mistaken prefix or filter can update unintended rows.
Need a temporary interface for an awkward archive A reputable bulk-edit plugin Adds compatibility, maintenance, and security overhead.

Frequently Asked Questions

Does disabling comments also disable pingbacks and trackbacks?

No. Comment status and the post’s ping setting are separate. Close pings explicitly on the post or in bulk.

Will closing pings delete existing pingback comments?

No. It blocks new pings; existing records must be moderated, marked as spam, or deleted separately.

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

Can I disable pings on Pages as well as Posts?

Yes, when the post type supports the feature. Use the Pages screen, WP-CLI with --post_type=page, or a SQL filter that includes page.

Can I keep comments while disabling pingbacks?

Yes. Leave comments enabled and switch only the Discussion option for pingbacks and trackbacks to off.

Are pingbacks and trackbacks the same thing?

They are different notification mechanisms: pingbacks are automated link notifications, while trackbacks are an older system that can include an excerpt. Both use the post’s ping setting.

The Bottom Line

Turn off the Discussion default for future content, then close Pings on existing posts through bulk editing. Use WP-CLI or carefully previewed SQL for a large archive, and treat old pingback comments as a separate cleanup task.

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.

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.