OpsSquad.ai
Blog/DevOps/·49 min read
DevOps

WordPress DNS Server: Master Configuration & Troubleshooting 2026

Master WordPress DNS server configuration in 2026. Learn manual setup, troubleshoot issues, and automate with OpsSqad's WordPress Squad for effortless DNS management.

Adir Semana

Founder of OpsSqaad.ai. Your AI on-call engineer — it connects to your servers, learns how they run, and helps your team resolve issues faster every time.

Share
WordPress DNS Server: Master Configuration & Troubleshooting 2026

Mastering WordPress DNS Server Configuration in 2026: A Comprehensive Guide

The Domain Name System is the invisible infrastructure that makes your WordPress site accessible to the world. As of 2026, DNS misconfigurations remain one of the leading causes of website downtime and email delivery failures, affecting an estimated 23% of WordPress migrations and hosting changes. This guide provides the technical depth you need to configure, troubleshoot, and secure your WordPress DNS settings with confidence.

Key Takeaways

  • DNS acts as the internet's directory service, translating human-readable domain names into machine-readable IP addresses that locate your WordPress hosting server.
  • A records, CNAME records, MX records, and TXT records each serve distinct purposes in routing web traffic, creating domain aliases, handling email, and verifying domain ownership.
  • Name servers are the authoritative gatekeepers that store and serve your domain's DNS records to the global DNS network.
  • DNS propagation typically takes 4-48 hours to complete globally, though most changes become visible within 1-2 hours in 2026 due to reduced TTL defaults.
  • Command whitelisting and audit logging are essential security measures when automating DNS management to prevent unauthorized or accidental changes.
  • SPF, DKIM, and DMARC records are critical for email deliverability, with major providers now requiring proper authentication to avoid spam filtering.
  • Regular DNS audits and strong registrar account security protect against DNS hijacking, which affected over 15,000 domains in 2025 according to industry reports.

Understanding the Domain Name System (DNS) for WordPress

DNS is the foundational protocol that connects domain names to the physical servers hosting your WordPress site. Without properly configured DNS, even a perfectly functioning WordPress installation becomes unreachable. Understanding DNS architecture is essential for anyone managing WordPress infrastructure in 2026.

What is a Domain Name and the Domain Name System (DNS)?

A domain name is your unique identifier on the internet, such as yourwebsite.com or blog.example.org. The Domain Name System (DNS) is a distributed, hierarchical database that translates these human-readable domain names into IP addresses like 192.0.2.146 that computers use to locate servers. When a visitor types your domain into their browser, DNS servers perform a lookup to find the corresponding IP address, then direct the browser to connect to that server.

The DNS operates as a global network of servers organized in a hierarchy. At the top are root name servers, followed by top-level domain (TLD) servers for extensions like .com or .org, and finally authoritative name servers that hold the actual records for your specific domain. This distributed architecture makes DNS both resilient and scalable, handling billions of queries daily across the internet.

For WordPress sites, DNS serves multiple critical functions beyond just website access. It directs email to the correct mail servers through MX records, validates domain ownership for SSL certificates and third-party services through TXT records, and enables content delivery networks (CDNs) to serve your assets through CNAME records. A single misconfigured DNS record can break any of these services.

How DNS Records Work: The Building Blocks of Your Domain's Identity

DNS records are individual entries within a DNS zone file that provide specific instructions about how to handle requests for your domain. Each record consists of several components: the record name (often a subdomain or @ for the root domain), the record type (A, CNAME, MX, etc.), the time-to-live (TTL) value that determines how long the record can be cached, and the record data (such as an IP address or target domain).

The TTL value is particularly important for DNS management. Measured in seconds, it tells DNS resolvers how long they can cache a record before checking for updates. In 2026, most DNS providers default to TTL values between 300 seconds (5 minutes) and 3600 seconds (1 hour), significantly lower than the 86400-second (24-hour) defaults common in previous years. This reduction means DNS changes propagate faster, but it also increases query load on authoritative name servers.

When you create or modify a DNS record, the change is written to the zone file on your authoritative name servers. These name servers then respond to queries from DNS resolvers worldwide, which cache the records according to their TTL values. This caching mechanism is what creates the propagation delay when you make DNS changes—existing cached records must expire before resolvers fetch the updated information.

DNS records follow a strict syntax and have specific validation rules. An A record must point to a valid IPv4 address, a CNAME cannot coexist with other records for the same name, and MX records require a priority value to determine mail server preference. Understanding these rules prevents configuration errors that can take your WordPress site offline.

The Role of Name Servers: The Gatekeepers of Your DNS Records

Name servers are specialized DNS servers designated as the authoritative source for your domain's DNS records. When you register a domain, you specify which name servers are authoritative for that domain by setting NS (Name Server) records at your domain registrar. These NS records tell the global DNS system where to find the definitive DNS information for your domain.

Most hosting providers and DNS services operate multiple name servers for redundancy, typically named ns1.provider.com, ns2.provider.com, and so on. Your domain should have at least two name servers configured, preferably on different networks and geographic locations. If your primary name server becomes unavailable, DNS resolvers can query the secondary name servers to maintain availability.

The relationship between your domain registrar and your name servers is crucial to understand. Your registrar maintains the NS records that point to your name servers, but the name servers themselves hold all your other DNS records (A, CNAME, MX, TXT, etc.). This separation allows you to register your domain with one company while managing DNS with another, or hosting your website with a third provider entirely.

When you change your domain's name servers at your registrar, you're effectively transferring DNS management to a different provider. This is a common operation when migrating WordPress sites to new hosting, but it has significant implications. All your existing DNS records on the old name servers become inactive, and you must recreate them on the new name servers to maintain functionality.

Why DNS Matters for Your WordPress Website

Proper DNS configuration is the difference between a WordPress site that's accessible worldwide and one that displays "DNS_PROBE_FINISHED_NXDOMAIN" errors to visitors. DNS is the first lookup in the connection chain—before HTTPS negotiation, before WordPress loads, before any content renders. If DNS fails, nothing else matters.

Email delivery depends entirely on correct MX records. Even if your WordPress site loads perfectly, misconfigured MX records will cause email failures that can affect user registrations, password resets, contact forms, and e-commerce transactions. In 2026, with major email providers enforcing strict authentication requirements, you also need properly configured SPF, DKIM, and DMARC records to avoid the spam folder.

DNS also impacts website performance through TTL values and record structure. Excessively long TTL values slow down your ability to make changes, while extremely short TTLs increase DNS query volume and lookup latency. CDN integration requires CNAME records that add an additional DNS lookup to the resolution chain. Understanding these performance implications helps you optimize DNS for speed.

Security vulnerabilities in DNS configuration can expose your WordPress site to attacks. DNS hijacking redirects your traffic to malicious servers, cache poisoning serves fake DNS records to visitors, and subdomain takeovers allow attackers to host content on your domain. Implementing DNSSEC, securing your registrar account, and regularly auditing DNS records are essential security practices for 2026.

Essential WordPress DNS Record Types Explained

DNS records come in multiple types, each serving a specific function in your domain's infrastructure. WordPress sites typically use five primary record types, though enterprise deployments may leverage additional specialized records. Understanding what each record type does and when to use it is fundamental to DNS management.

A Records: Mapping Domains to IP Addresses

An A record (Address record) creates a direct mapping between a domain name or subdomain and an IPv4 address. This is the most fundamental DNS record type and the one that makes your WordPress site accessible. When someone visits yourwebsite.com, the A record tells their browser to connect to the server at the specified IP address.

A typical A record configuration for a WordPress site looks like this:

@       A       192.0.2.146       3600
www     A       192.0.2.146       3600

The @ symbol represents your root domain (yourwebsite.com), while www is a subdomain. Both point to the same IP address in this example, which is common for WordPress sites. The 3600 value is the TTL in seconds (1 hour).

You can create multiple A records for the same domain pointing to different IP addresses, which DNS resolvers will return in a round-robin fashion. This provides basic load distribution, though it's not a substitute for proper load balancing. Some DNS providers also support geographic routing, returning different IP addresses based on the visitor's location.

Warning: Changing an A record updates where your domain points, but cached DNS records will continue directing traffic to the old IP address until the TTL expires. Always lower your TTL to 300 seconds at least 24-48 hours before a planned migration, then change the A record, then restore the TTL after propagation completes.

For IPv6 addresses, you'll use AAAA records instead of A records. As of 2026, approximately 45% of internet traffic uses IPv6, so configuring both A and AAAA records ensures maximum compatibility:

@       A       192.0.2.146           3600
@       AAAA    2001:0db8::1          3600

CNAME Records: Creating Aliases for Your Domain

A CNAME record (Canonical Name record) creates an alias that points one domain name to another domain name rather than directly to an IP address. When a DNS resolver encounters a CNAME, it performs an additional lookup to resolve the target domain to an IP address. This indirection is useful for services that may change IP addresses frequently.

Common WordPress use cases for CNAME records include:

www             CNAME   yourwebsite.com.        3600
blog            CNAME   yourwebsite.com.        3600
cdn             CNAME   d111111abcdef8.cloudfront.net.    3600

The trailing dot in CNAME targets is important—it indicates a fully qualified domain name (FQDN). Without the trailing dot, some DNS systems will append your domain to the target, creating incorrect records like yourwebsite.com.yourwebsite.com.

Critical limitation: A CNAME record cannot coexist with any other record type for the same name. You cannot have both a CNAME and an MX record for mail.yourwebsite.com, for example. This is why you cannot use a CNAME for your root domain (@)—root domains require NS and SOA records, which would conflict. This limitation is defined in RFC 1034 and enforced by DNS servers.

For WordPress sites using CDNs like Cloudflare, Fastly, or Amazon CloudFront, CNAME records connect your custom subdomain to the CDN's distribution domain. The CDN can then change backend IP addresses without requiring you to update DNS records. This is particularly valuable for high-traffic WordPress sites that rely on edge caching for performance.

CNAME records add an additional DNS lookup to the resolution chain, which introduces a small latency penalty (typically 10-50ms in 2026). For this reason, some performance-focused WordPress deployments use A records with automated IP updates rather than CNAMEs, though this requires more complex infrastructure.

MX Records: Directing Your Email Traffic

MX records (Mail Exchanger records) specify which mail servers are responsible for receiving email sent to your domain. These records are essential for WordPress sites that use domain-based email addresses like [email protected] or rely on email notifications for user interactions.

An MX record configuration includes a priority value (lower numbers have higher priority) and the hostname of the mail server:

@       MX      10      mail1.emailprovider.com.        3600
@       MX      20      mail2.emailprovider.com.        3600

In this example, mail1.emailprovider.com is the primary mail server (priority 10), and mail2.emailprovider.com is the backup (priority 20). Sending mail servers will attempt delivery to the highest-priority server first, falling back to lower-priority servers if the primary is unavailable.

For WordPress sites using Google Workspace (formerly G Suite) for email, the MX records as of 2026 are:

@       MX      1       smtp.google.com.                3600

For Microsoft 365:

@       MX      0       yourwebsite-com.mail.protection.outlook.com.        3600

Warning: Changing MX records affects email immediately after propagation. Before changing MX records, ensure your new mail server is configured and ready to receive email, or you'll lose incoming messages during the transition. Unlike web traffic, there's no graceful fallback for email—messages sent during misconfiguration may bounce or be lost.

Many WordPress hosting providers offer email services, but mixing email and web hosting on the same server is generally discouraged for production sites. Separating services through MX records pointing to dedicated email providers improves reliability, security, and deliverability. Email providers have better spam filtering, larger storage, and don't impact website performance.

The hostname in an MX record must resolve to an A or AAAA record—you cannot use a CNAME as an MX target. This is another RFC requirement that DNS servers enforce. If your email provider gives you a CNAME for setup, you'll need to create a subdomain with that CNAME, then point your MX record to the subdomain.

TXT Records: Adding Verification and Information

TXT records store arbitrary text strings associated with your domain. While originally intended for human-readable notes, TXT records have evolved to serve critical technical functions including domain verification, email authentication, and security policies. WordPress sites typically have multiple TXT records for various services.

Domain verification TXT records prove ownership to third-party services:

@       TXT     "google-site-verification=rXOxyZounnZasA8Z7oaD3c14JdjS9aKSWvsR1EbUSIQ"        3600
@       TXT     "v=spf1 include:_spf.google.com ~all"                                          3600

The Google verification string is unique to your domain and proves to Google Search Console that you control the domain. The SPF record (Sender Policy Framework) specifies which mail servers are authorized to send email from your domain—critical for preventing spoofing and improving deliverability.

As of 2026, proper email authentication requires three TXT record types working together:

SPF (Sender Policy Framework):

@       TXT     "v=spf1 include:_spf.google.com include:sendgrid.net ~all"     3600

This record says email from your domain can come from Google's servers or SendGrid's servers, and other sources should be treated as suspicious (~all for soft fail, -all for hard fail).

DKIM (DomainKeys Identified Mail):

default._domainkey      TXT     "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3QEKyU1fSma0axspqYK5iAj+54lsAg4qRRCnpKK68hawSd8zpsDz77ntGCPaHPK5OP5RlR8RYqN1bQNGwPJYdDYdFVVm1gN/VEYMhPdWOxGdPkLG94fLEVqPTYWtSZbsJQVCWDCmJnSCpCpJJ0/WlG/rT8dGn8cJPEgPLNQIDAQAB"     3600

DKIM records are typically created by your email provider and contain a public key used to verify email signatures.

DMARC (Domain-based Message Authentication, Reporting, and Conformance):

_dmarc      TXT     "v=DMARC1; p=quarantine; rua=mailto:[email protected]"     3600

DMARC tells receiving mail servers what to do with emails that fail SPF or DKIM checks. The p=quarantine policy sends suspicious email to spam, while p=reject blocks it entirely. The rua parameter specifies where to send aggregate reports about email authentication results.

Note: Multiple TXT records can exist for the same name, but each should serve a different purpose. Some DNS providers display multiple TXT values as separate records, while others combine them—both approaches are valid according to DNS standards.

WordPress sites using third-party services often accumulate many TXT records over time. Regular audits help identify obsolete verification records that can be removed. However, never remove SPF, DKIM, or DMARC records without understanding the email delivery implications.

Understanding Zone Files: The Central Repository of DNS Records

A zone file is a text file that contains all the DNS records for a specific domain in a standardized format defined by RFC 1035. While most WordPress users manage DNS through graphical interfaces in 2026, the underlying mechanism is always the zone file stored on authoritative name servers.

A typical zone file structure looks like this:

$ORIGIN yourwebsite.com.
$TTL 3600
@       IN      SOA     ns1.hosting.com. admin.yourwebsite.com. (
                        2026030701      ; Serial
                        7200            ; Refresh
                        3600            ; Retry
                        1209600         ; Expire
                        3600 )          ; Minimum TTL

@       IN      NS      ns1.hosting.com.
@       IN      NS      ns2.hosting.com.

@       IN      A       192.0.2.146
www     IN      A       192.0.2.146
@       IN      MX      10      mail.emailprovider.com.
@       IN      TXT     "v=spf1 include:_spf.google.com ~all"

The $ORIGIN directive sets the default domain for relative record names. The $TTL directive sets the default time-to-live for records that don't specify their own TTL. The IN keyword stands for "Internet" and is a historical artifact from when DNS supported multiple network types.

The SOA (Start of Authority) record is mandatory for every zone file and contains metadata about the zone:

  • Serial number: Incremented with each change, used by secondary name servers to detect updates
  • Refresh: How often secondary servers check for updates
  • Retry: How long to wait before retrying a failed refresh
  • Expire: When to stop answering queries if the primary is unreachable
  • Minimum TTL: Default TTL for negative caching (when a record doesn't exist)

Most WordPress users never directly edit zone files in 2026, as DNS providers offer web interfaces and APIs for record management. However, understanding zone file structure is valuable when importing/exporting DNS configurations during migrations or when troubleshooting with DNS provider support teams.

Zone file transfers between name servers use the AXFR (full transfer) or IXFR (incremental transfer) protocols. These transfers are how secondary name servers stay synchronized with the primary. Some DNS providers allow you to download your complete zone file as a backup, which is a good practice before making significant DNS changes.

Managing WordPress DNS Records on WordPress.com

WordPress.com provides integrated DNS management for domains registered through their platform, offering a user-friendly interface for viewing and modifying records. This integration simplifies DNS management for WordPress users who prefer keeping domain registration and hosting in one place, though it's important to understand both the capabilities and limitations.

Viewing Your Domain's DNS Records on WordPress.com

To view your DNS records on WordPress.com, log into your account and navigate to UpgradesDomains → select your domain → DNS Records. This displays all current DNS records for your domain in a table format showing the record type, name, value, and TTL.

WordPress.com automatically creates several default records when you add a domain:

  • A records pointing your root domain and www subdomain to WordPress.com's servers
  • NS records pointing to WordPress.com's name servers
  • MX records for WordPress.com email forwarding (if configured)

The DNS Records page shows both records you can modify and system-managed records that are locked. System-managed records include the NS records and certain A records required for WordPress.com hosting functionality. This protection prevents accidental changes that would break your site's connection to WordPress.com's infrastructure.

You can export your complete DNS configuration by clicking the Export button, which downloads a CSV file containing all records. This is useful for backup purposes or when planning a migration to another DNS provider. The export includes record types, names, values, TTL settings, and any additional parameters.

Note: DNS record changes on WordPress.com are subject to their name servers' propagation, which typically completes within 30 minutes to 2 hours for most global locations in 2026. However, some DNS resolvers may cache records longer based on the TTL values, so full global propagation can take up to 48 hours.

Adding and Editing DNS Records on WordPress.com

To add a new DNS record on WordPress.com, navigate to your domain's DNS Records page and click Add New DNS Record. Select the record type from the dropdown menu (A, AAAA, CNAME, MX, TXT, or SRV), then fill in the required fields.

Adding an A record to point a subdomain to an external server:

  1. Type: Select A
  2. Name: Enter the subdomain (e.g., shop for shop.yourwebsite.com)
  3. IPv4 Address: Enter the target IP address (e.g., 198.51.100.42)
  4. TTL: Leave at default (3600) or customize
  5. Click Add New DNS Record

Adding a CNAME record for a CDN:

  1. Type: Select CNAME
  2. Name: Enter the subdomain (e.g., cdn)
  3. Target: Enter the destination domain (e.g., d111111abcdef8.cloudfront.net)
  4. TTL: Leave at default
  5. Click Add New DNS Record

Adding MX records for Google Workspace:

  1. Type: Select MX
  2. Name: Leave blank (or enter @ for root domain)
  3. Mail Server: Enter smtp.google.com
  4. Priority: Enter 1
  5. TTL: Leave at default
  6. Click Add New DNS Record

Adding TXT records for domain verification:

  1. Type: Select TXT
  2. Name: Leave blank for root domain, or enter subdomain
  3. Text: Paste the verification string (e.g., google-site-verification=...)
  4. TTL: Leave at default
  5. Click Add New DNS Record

To edit an existing record, click the Edit button next to the record in the DNS Records table. Modify the values as needed and click Save. To delete a record, click the Delete button and confirm the action.

Warning: When editing A records that point to WordPress.com's infrastructure, ensure you understand the impact. Changing the A record for your root domain to point elsewhere will break your WordPress.com site unless you've configured hosting at the new IP address. Always have a backup plan and consider the propagation time when making critical changes.

WordPress.com supports advanced record types including SRV records for services like Microsoft Teams or Skype for Business. These require additional fields for priority, weight, port, and target. The interface provides field descriptions to guide you through the configuration.

Some DNS record types and configurations are restricted on WordPress.com. You cannot modify the NS records while using WordPress.com's name servers, and certain subdomains reserved for WordPress.com functionality (like files.wordpress.com) cannot be overridden. If you need complete DNS control, you'll need to change your name servers to an external DNS provider.

Changing Name Servers: Connecting Your Domain to a New Host

Changing your domain's name servers is one of the most significant DNS operations you can perform. This operation transfers DNS management authority from one provider to another, typically done when migrating your WordPress site to a new hosting provider or when you want to use a specialized DNS service for better performance or features.

What Happens When You Change Name Servers?

When you update name servers at your domain registrar, you're modifying the NS records that tell the global DNS system where to find authoritative DNS information for your domain. This change propagates through the DNS hierarchy, starting with the TLD servers for your domain extension (.com, .org, etc.) and eventually reaching DNS resolvers worldwide.

The propagation process works like this:

  1. You update NS records at your registrar
  2. Your registrar pushes the change to the TLD registry (e.g., Verisign for .com domains)
  3. TLD name servers update their records (typically within 15 minutes to 2 hours)
  4. DNS resolvers worldwide cache the NS records according to their TTL (usually 24-48 hours)
  5. As cached NS records expire, resolvers query the TLD servers and receive the new name servers
  6. Resolvers then query your new name servers for A, CNAME, MX, and other records

During propagation, different visitors may see different versions of your site depending on which name servers their DNS resolver is querying. Some resolvers will still have the old name servers cached and will query your old DNS provider, while others will query the new name servers. This creates a split-brain scenario where consistency is temporarily lost.

Critical consideration: All DNS records on your old name servers become inactive once propagation completes. Before changing name servers, you must recreate all necessary DNS records (A, MX, TXT, CNAME, etc.) on the new name servers. Failure to do so will result in email delivery failures, subdomain outages, and broken third-party integrations even if your main website works.

The NS record TTL at the TLD level is typically 172800 seconds (48 hours) in 2026, though some TLDs have reduced this to 86400 seconds (24 hours). This TTL determines the maximum propagation time, though most DNS resolvers refresh more frequently. You cannot control this TTL—it's set by the TLD registry.

Step 1: Finding Your New Name Servers

Before changing name servers, you need to obtain the correct name server hostnames from your new DNS provider. These are typically provided in your hosting account dashboard, welcome email, or setup documentation.

Common name server formats by provider type:

Managed WordPress hosting (example):

ns1.wpengine.com
ns2.wpengine.com

General hosting providers (example):

ns1.bluehost.com
ns2.bluehost.com

Dedicated DNS services (example):

ns-1234.awsdns-12.com
ns-5678.awsdns-34.net
ns-9012.awsdns-56.org
ns-3456.awsdns-78.co.uk

Most providers give you 2-4 name servers. Using all provided name servers ensures redundancy—if one name server is unavailable, DNS resolvers can query the others. The name servers should be on different networks and ideally in different geographic locations for maximum reliability.

Important: Name servers must be entered exactly as provided, including any trailing dots if specified. However, most registrar interfaces automatically handle trailing dots, so you typically enter them without: ns1.hosting.com rather than ns1.hosting.com.

Before proceeding, verify that the name servers are active and responding. You can test this using the dig command:

dig @ns1.newhosting.com yourwebsite.com

If the name server is properly configured, you should receive a response with DNS records. If you get a timeout or connection refused error, contact your new provider—the name servers may not be ready yet.

Step 2: Updating Name Servers at Your Domain Registrar

The process for updating name servers varies by registrar, but the general workflow is similar across providers. You'll log into your registrar account, locate your domain's management page, find the name server settings, and replace the existing name servers with the new ones.

For domains registered with WordPress.com:

  1. Log into WordPress.com and navigate to UpgradesDomains
  2. Click on the domain you want to modify
  3. Scroll to Name Servers and click Edit
  4. Select Use custom name servers
  5. Enter your new name servers (minimum 2, maximum 4)
  6. Click Save Name Servers
  7. Confirm the change when prompted

For domains registered with common registrars:

Most registrars have a similar process. Look for settings labeled "Name Servers," "DNS Settings," or "Domain Management." You'll typically find options for:

  • Using the registrar's default name servers
  • Using custom name servers (what you want)
  • Using third-party DNS services

Enter each name server hostname in the provided fields. The interface usually validates that the hostnames are properly formatted and that the name servers are responding before allowing you to save.

Warning: Some registrars implement a change confirmation period or domain lock that delays name server updates for 24-60 hours as a security measure. This is separate from DNS propagation and can significantly extend the total migration time. Check your registrar's policies before beginning a time-sensitive migration.

After saving the name server changes, most registrars send a confirmation email. The change is typically submitted to the TLD registry within minutes, though some registrars batch updates and process them hourly.

You can verify that the name server change has been submitted to the TLD registry using dig:

dig NS yourwebsite.com

Initially, this will show your old name servers. After TLD propagation (typically 15 minutes to 2 hours), you'll see the new name servers in the response. Note that this checks the TLD registry, not your local DNS resolver's cache.

The Impact of DNS Propagation Time on Your WordPress Site

DNS propagation is the period during which DNS changes spread across the global DNS infrastructure. For name server changes, propagation can take anywhere from 4 to 48 hours to complete worldwide, though most changes become visible within 4-8 hours in 2026 due to lower TTL defaults and more aggressive cache refreshing by major DNS resolvers.

During propagation, your WordPress site may exhibit inconsistent behavior:

Website access: Some visitors will reach your new server while others still connect to the old server. If you've already migrated your WordPress installation to the new server, visitors hitting the old server will see an outdated version of your site or an error page.

Email delivery: Email sent to your domain may be delivered to either your old or new mail server depending on which MX records the sending server's DNS resolver has cached. This can split your inbox across two systems temporarily.

Third-party integrations: Services that cache DNS records aggressively (like some CDNs or monitoring tools) may continue using old IP addresses for the full TTL period, potentially causing service interruptions.

To minimize disruption during propagation, follow this migration strategy:

  1. Keep both servers running: Maintain your WordPress site on both old and new servers during propagation
  2. Sync data regularly: If users can interact with your site (comments, purchases, registrations), sync databases from old to new server every few hours
  3. Monitor both servers: Watch access logs and error logs on both servers to understand traffic distribution
  4. Test with hosts file: Override DNS locally to test the new server before propagation completes
  5. Communicate with users: For critical applications, notify users of potential temporary inconsistencies

You can check propagation status using online tools like WhatsMyDNS.net, which queries DNS resolvers worldwide and shows you which IP address each location returns for your domain. This helps you understand how far propagation has progressed.

Note: Propagation time is not uniform globally. DNS resolvers in major internet hubs (US, Europe, Asia) typically update within 4-8 hours, while resolvers in less-connected regions may take the full 48 hours. Mobile carrier DNS servers are often the slowest to update, sometimes caching records beyond their TTL.

After 48-72 hours, propagation should be complete globally. At this point, you can safely decommission your old server and remove the old DNS provider's account if you no longer need it.

Troubleshooting Common WordPress DNS Issues

DNS problems can manifest in various ways, from complete site unavailability to subtle issues like email delivery delays or SSL certificate validation failures. Effective troubleshooting requires understanding how to diagnose DNS-specific issues versus other infrastructure problems, and knowing which tools to use for investigation.

Diagnosing Website Unreachability: Is it DNS?

When your WordPress site is unreachable, DNS is one of several potential causes. Before diving into DNS troubleshooting, you need to determine whether the problem is actually DNS-related or if it's a hosting, network, or application issue.

Step 1: Check if the domain resolves to an IP address

dig yourwebsite.com A +short

Expected output:

192.0.2.146

If you receive an IP address, DNS is working. If you get no output or an error like SERVFAIL or NXDOMAIN, you have a DNS problem.

Step 2: Check if the IP address is reachable

ping 192.0.2.146

Expected output:

PING 192.0.2.146 (192.0.2.146): 56 data bytes
64 bytes from 192.0.2.146: icmp_seq=0 ttl=54 time=23.1 ms
64 bytes from 192.0.2.146: icmp_seq=1 ttl=54 time=22.8 ms

If the ping succeeds, the server is reachable and the problem is likely at the application or web server level, not DNS. If ping fails, you may have a hosting or network issue.

Step 3: Check if the web server is responding

curl -I http://yourwebsite.com

Expected output:

HTTP/1.1 200 OK
Server: nginx/1.24.0
Content-Type: text/html; charset=UTF-8

If you receive HTTP headers, the web server is functioning. If you get a connection timeout or refused error, the web server may be down or misconfigured.

Common DNS-specific error messages:

  • DNS_PROBE_FINISHED_NXDOMAIN: The domain doesn't exist in DNS (no A record or the domain isn't registered)
  • DNS_PROBE_FINISHED_NODATA: The domain exists but has no A record
  • DNS_PROBE_FINISHED_BAD_CONFIG: DNS configuration error, often DNSSEC validation failure
  • ERR_NAME_NOT_RESOLVED: Browser couldn't resolve the domain name to an IP address

Checking authoritative name servers directly:

Sometimes DNS works on the authoritative name servers but propagation hasn't completed or your local resolver has stale data. Query the authoritative name servers directly:

dig @ns1.yourhosting.com yourwebsite.com A

This bypasses your local DNS resolver and queries the authoritative source. If this works but regular queries fail, the issue is propagation or resolver caching.

Clearing local DNS cache:

Your operating system and browser cache DNS records. To rule out local caching:

macOS:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Windows:

ipconfig /flushdns

Linux:

sudo systemd-resolve --flush-caches

Chrome browser: Navigate to chrome://net-internals/#dns and click "Clear host cache"

After clearing caches, test again. If the site now loads, the issue was stale cached records, not a DNS configuration problem.

Email problems are frequently caused by DNS misconfigurations, particularly with MX records and email authentication records (SPF, DKIM, DMARC). As of 2026, major email providers like Gmail and Outlook enforce strict authentication requirements, making proper DNS configuration critical for deliverability.

Checking MX records:

dig yourwebsite.com MX

Expected output:

yourwebsite.com.    3600    IN    MX    10 mail.emailprovider.com.
yourwebsite.com.    3600    IN    MX    20 mail2.emailprovider.com.

Common MX record problems:

  1. No MX records: Email will be undeliverable. Add MX records pointing to your mail server.
  2. MX points to CNAME: MX records must point to A/AAAA records, not CNAMEs. This violates RFC 2181 and will cause delivery failures.
  3. Wrong priority values: If all MX records have the same priority, mail servers will randomly select one instead of using the intended primary/backup hierarchy.
  4. MX points to non-existent domain: The target mail server must have a valid A record.

Verifying the MX target resolves:

dig mail.emailprovider.com A

This should return an IP address. If it doesn't, your MX record points to a non-existent server.

Checking SPF records:

dig yourwebsite.com TXT | grep spf

Expected output:

yourwebsite.com.    3600    IN    TXT    "v=spf1 include:_spf.google.com ~all"

Common SPF problems:

  1. Multiple SPF records: Only one SPF record is allowed per domain. Multiple SPF records will cause all of them to be ignored.
  2. Too many DNS lookups: SPF has a 10 DNS lookup limit. Complex SPF records with many include: directives can exceed this, causing validation failures.
  3. Incorrect syntax: SPF records must start with v=spf1 and end with a qualifier (~all, -all, +all, or ?all).
  4. Missing authorized senders: If your SPF record doesn't include all services that send email from your domain (hosting server, email provider, marketing tools), those emails will fail SPF checks.

Checking DKIM records:

DKIM records are typically on a subdomain like default._domainkey.yourwebsite.com:

dig default._domainkey.yourwebsite.com TXT

Expected output:

default._domainkey.yourwebsite.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GC..."

If this returns no results, your DKIM record isn't configured. Check with your email provider for the correct selector (the part before ._domainkey) and the public key value.

Checking DMARC records:

dig _dmarc.yourwebsite.com TXT

Expected output:

_dmarc.yourwebsite.com.    3600    IN    TXT    "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Warning: As of 2026, Gmail and Yahoo require DMARC records for domains sending more than 5,000 messages per day. Without DMARC, your emails may be rejected or sent to spam. Even for lower-volume senders, DMARC is strongly recommended.

Testing email authentication:

Send a test email to a Gmail account, then view the original message source and look for the authentication results header:

Authentication-Results: mx.google.com;
       dkim=pass [email protected];
       spf=pass smtp.mailfrom=yourwebsite.com;
       dmarc=pass

If any of these show fail, you have a configuration problem to address.

Common WordPress.com DNS Configuration Errors and Solutions

WordPress.com's DNS interface prevents many common errors through validation, but certain misconfigurations can still occur, particularly when users are unfamiliar with DNS concepts.

Error: "Cannot add CNAME for root domain"

Problem: You're trying to create a CNAME record for @ (the root domain).

Solution: CNAME records cannot be used for root domains due to RFC restrictions. Use an A record instead, or if you're trying to point to a service that only provides a CNAME target, you'll need to use that service's IP addresses in an A record or use a DNS provider that supports CNAME flattening.

Error: "Record conflicts with existing record"

Problem: You're trying to create a record that conflicts with an existing record, such as adding a CNAME when an A record already exists for the same name.

Solution: Delete the conflicting record first, or use a different subdomain. Remember that CNAME records cannot coexist with any other record type for the same name.

Error: Email stops working after adding custom DNS records

Problem: You added A or CNAME records but didn't preserve the existing MX records, or you accidentally deleted them.

Solution: Check your MX records and restore them if missing. WordPress.com's default MX records for email forwarding are:

@    MX    10    mail.wordpress.com

If you're using external email (Google Workspace, Microsoft 365, etc.), ensure those MX records are present.

Error: Subdomain doesn't work after adding CNAME

Problem: You added a CNAME record but the subdomain still doesn't resolve or points to the wrong place.

Solution: Check these common issues:

  1. CNAME target must include the full domain name, often with a trailing dot
  2. TTL may cause old records to be cached—wait for propagation
  3. The CNAME target itself must resolve to an IP address
  4. Some services require additional configuration beyond just the CNAME

Error: TXT record not showing up in DNS queries

Problem: You added a TXT record for domain verification, but the service says it can't find it.

Solution:

  1. Wait for DNS propagation (up to 48 hours, though usually faster)
  2. Ensure you added the record to the correct subdomain (some services use _verification.yourwebsite.com or similar)
  3. Check that you didn't include quotation marks if the interface adds them automatically
  4. Verify the exact value matches what the service provided—even a single character difference will cause validation to fail

Advanced DNS Configurations for WordPress

Beyond basic A and MX records, advanced DNS configurations can significantly improve your WordPress site's email deliverability, security posture, and performance. These configurations require more technical knowledge but provide substantial benefits for production WordPress deployments.

Implementing SPF, DKIM, and DMARC for Email Security

Email authentication has become mandatory rather than optional in 2026. Major email providers now enforce strict requirements, and emails from domains without proper authentication are increasingly likely to be rejected or flagged as spam.

SPF (Sender Policy Framework) implementation:

SPF specifies which mail servers are authorized to send email from your domain. Create a TXT record for your root domain:

@    TXT    "v=spf1 include:_spf.google.com include:sendgrid.net ip4:192.0.2.146 ~all"    3600

This record authorizes:

  • Google Workspace servers (include:_spf.google.com)
  • SendGrid servers for transactional emails (include:sendgrid.net)
  • Your WordPress hosting server's IP (ip4:192.0.2.146)

The ~all qualifier means "soft fail"—treat emails from other sources as suspicious but don't automatically reject them. For stricter security, use -all for "hard fail," which tells receiving servers to reject emails from unauthorized sources.

SPF best practices for 2026:

  • Keep your SPF record under the 10 DNS lookup limit
  • Use include: for third-party services rather than listing all their IPs
  • Audit your SPF record quarterly to remove services you no longer use
  • Test changes with ~all before switching to -all

DKIM (DomainKeys Identified Mail) implementation:

DKIM uses cryptographic signatures to verify that emails haven't been tampered with in transit. Your email provider generates a public/private key pair—you publish the public key in DNS while they sign outgoing emails with the private key.

Most email providers give you a DKIM record to add. For Google Workspace:

google._domainkey    TXT    "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC..."    3600

The selector (google in this example) is specified by your email provider. Some providers use multiple selectors for key rotation.

DKIM best practices:

  • Enable DKIM for all services that send email from your domain (email provider, WordPress hosting, marketing platforms)
  • Each service will have its own selector and key
  • Rotate DKIM keys annually for security
  • Monitor DKIM signing—unsigned emails will fail authentication

DMARC (Domain-based Message Authentication, Reporting, and Conformance) implementation:

DMARC builds on SPF and DKIM, specifying what receiving servers should do with emails that fail authentication and where to send reports.

_dmarc    TXT    "v=DMARC1; p=quarantine; pct=100; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1"    3600

DMARC parameters explained:

  • v=DMARC1: Version identifier
  • p=quarantine: Policy for failed messages (none/quarantine/reject)
  • pct=100: Percentage of messages to apply policy to (use 10-25% initially for testing)
  • rua=: Address for aggregate reports (daily summaries)
  • ruf=: Address for forensic reports (individual failure details)
  • fo=1: Generate forensic reports for any authentication failure

DMARC implementation strategy:

  1. Start with monitoring: p=none; pct=100 to collect data without affecting delivery
  2. Analyze reports: Review aggregate reports weekly to identify legitimate vs. unauthorized senders
  3. Fix authentication issues: Ensure all legitimate email sources pass SPF or DKIM
  4. Gradually enforce: Move to p=quarantine; pct=25, then increase percentage
  5. Full enforcement: After 30-60 days of successful monitoring, move to p=reject; pct=100

Warning: Moving too quickly to p=reject can cause legitimate emails to be blocked if you haven't identified all authorized senders. The monitoring phase is critical.

Using CNAME Records for Subdomains and CDN Integration

CNAME records enable flexible subdomain management and are essential for integrating Content Delivery Networks (CDNs) with your WordPress site. Proper CNAME configuration can significantly improve site performance and simplify infrastructure management.

Subdomain delegation with CNAMEs:

If you run multiple WordPress sites or services on different infrastructure, CNAMEs allow you to manage them independently:

blog        CNAME    blog-hosting.wpengine.com.       3600
shop        CNAME    shops.myshopify.com.             3600
docs        CNAME    documentation.gitbook.io.        3600

Each subdomain points to a different service's infrastructure. When those services change their IP addresses, your DNS records don't need updates—the CNAME targets handle the resolution.

CDN integration for WordPress:

CDNs cache and serve your WordPress assets (images, CSS, JavaScript) from edge locations near your visitors, reducing latency and server load. Most CDNs require a CNAME record:

cdn         CNAME    d111111abcdef8.cloudfront.net.   3600

Then configure your WordPress CDN plugin to rewrite asset URLs from yourwebsite.com/wp-content/uploads/image.jpg to cdn.yourwebsite.com/wp-content/uploads/image.jpg.

Advanced CDN configuration:

For maximum performance, some WordPress deployments use multiple CDN CNAMEs for parallel loading:

cdn1        CNAME    d111111abcdef8.cloudfront.net.   3600
cdn2        CNAME    d222222abcdef8.cloudfront.net.   3600
cdn3        CNAME    d333333abcdef8.cloudfront.net.   3600

This overcomes browser connection limits by spreading assets across multiple hostnames, though HTTP/2 and HTTP/3 have reduced the benefits of this technique compared to earlier years.

CNAME flattening for root domains:

Traditional DNS doesn't allow CNAMEs on root domains, but some DNS providers (Cloudflare, AWS Route 53, DNSimple) offer "CNAME flattening" or "ALIAS records" that work around this limitation. These proprietary record types behave like CNAMEs but return A records to resolvers:

@           ALIAS    loadbalancer.hosting.com.        3600

This is useful when your hosting provider only gives you a hostname rather than an IP address. Check if your DNS provider supports this feature if you need it.

Understanding DNSSEC for Enhanced Domain Security

DNSSEC (DNS Security Extensions) adds cryptographic signatures to DNS records, preventing cache poisoning and man-in-the-middle attacks. While DNSSEC adoption has grown steadily, as of 2026 approximately 35% of .com domains have DNSSEC enabled, up from 25% in 2024.

How DNSSEC works:

DNSSEC creates a chain of trust from the root DNS servers down to your domain's records:

  1. Your DNS provider signs your zone file with a private key
  2. The corresponding public key is published in a DNSKEY record
  3. A hash of the DNSKEY is published as a DS record at your registrar
  4. The TLD servers sign the DS record, creating a chain back to the root

When a DNSSEC-validating resolver queries your domain, it verifies each signature in the chain. If any signature is invalid or missing, the resolver treats the response as bogus and refuses to return it.

Benefits of DNSSEC for WordPress:

  • Prevents DNS spoofing: Attackers cannot redirect your visitors to malicious servers
  • Protects against cache poisoning: Resolvers reject tampered DNS responses
  • Verifies data integrity: Ensures DNS records haven't been modified in transit
  • Compliance requirement: Some industries and government contracts require DNSSEC

Implementing DNSSEC:

DNSSEC implementation requires support from both your DNS provider and your domain registrar:

  1. Enable DNSSEC at your DNS provider: Most modern DNS services offer DNSSEC with a toggle switch in their control panel
  2. Retrieve DS records: Your DNS provider will generate DNSKEY records and provide you with DS records
  3. Add DS records at your registrar: Log into your registrar and add the DS records to create the chain of trust

Example DS record values:

Key Tag: 12345
Algorithm: 13 (ECDSAP256SHA256)
Digest Type: 2 (SHA-256)
Digest: 1234567890ABCDEF...

DNSSEC operational considerations:

  • Key rotation: DNSSEC keys should be rotated periodically (annually for ZSK, every 2-3 years for KSK)
  • Validation failures: Incorrect DNSSEC configuration causes complete DNS failure for validating resolvers
  • Registrar support: Not all registrars support DNSSEC; verify before enabling
  • Monitoring: Set up monitoring to detect DNSSEC validation failures

Warning: DNSSEC misconfigurations can make your domain completely unreachable for users whose DNS resolvers perform DNSSEC validation. Always test thoroughly before enabling DNSSEC in production, and ensure you understand the rollback procedure.

Checking DNSSEC status:

dig yourwebsite.com +dnssec

Look for ad (authenticated data) flag in the response, and RRSIG records alongside your regular DNS records. If these are present, DNSSEC is working.

Online tools like DNSViz (dnsviz.net) provide visual representations of your DNSSEC chain of trust and identify configuration problems.

Security Implications of DNS Management

DNS is a critical component of your WordPress security infrastructure, yet it's often overlooked in security audits. DNS vulnerabilities can enable sophisticated attacks that bypass traditional security measures like firewalls and SSL certificates. Understanding DNS security threats and implementing appropriate protections is essential for production WordPress deployments in 2026.

Protecting Your Domain from DNS Hijacking

DNS hijacking occurs when an attacker gains unauthorized access to your DNS settings and redirects your domain to servers under their control. This attack is particularly dangerous because it bypasses all your server-level security—even with perfect WordPress security, visitors will be directed to the attacker's malicious site.

Common DNS hijacking attack vectors:

  1. Compromised registrar account: Attackers use stolen credentials to log into your domain registrar and change name servers or DNS records
  2. Social engineering: Attackers impersonate domain owners to convince registrar support staff to make unauthorized changes
  3. Registrar vulnerabilities: Security flaws in registrar systems allow unauthorized access
  4. Expired domains: Domains that expire are immediately available for re-registration by attackers

DNS hijacking prevention measures:

Enable two-factor authentication (2FA): Every major domain registrar supports 2FA as of 2026. Enable it immediately:

  • Use authenticator apps (Google Authenticator, Authy) rather than SMS when possible
  • Store backup codes in a secure password manager
  • Register multiple 2FA devices in case one is lost

Implement registrar lock: Most registrars offer a "domain lock" or "transfer lock" feature that prevents name server changes and domain transfers without explicit authorization:

Domain Status: clientTransferProhibited
Domain Status: clientUpdateProhibited

When locked, any attempt to change DNS settings or transfer the domain requires you to first unlock it, adding a critical verification step.

Use registry lock for high-value domains: For critical WordPress sites, consider registry lock (also called "server lock"), a premium service offered by registries that requires manual intervention by registry staff to make any changes. This service typically costs $100-$1,000 annually but provides the highest level of protection.

Implement DNSSEC: As discussed earlier, DNSSEC prevents attackers from serving fraudulent DNS records even if they compromise intermediate DNS servers. While it doesn't prevent registrar account compromise, it limits the damage attackers can do.

Monitor DNS changes: Set up monitoring to alert you immediately when DNS records change:

  • Use DNS monitoring services that check your records every 5-15 minutes
  • Configure alerts for any changes to A, NS, MX, or TXT records
  • Review DNS audit logs regularly (if your provider offers them)

Use a dedicated email for registrar account: Don't use an email address on the domain you're protecting for your registrar account. If attackers hijack your DNS and redirect email, they can use password reset flows to take over your registrar account. Use an email on a different domain or a personal email address instead.

Separate critical services: For enterprise WordPress deployments, consider using different registrars for different domains, and different DNS providers from your registrar. This separation limits the blast radius if one account is compromised.

The Importance of Whitelisting and Sandboxing for Command Execution

When automating DNS management through scripts, APIs, or AI-powered tools, implementing security controls like command whitelisting and sandboxing becomes critical. These measures prevent both accidental misconfigurations and intentional malicious activity.

Command whitelisting for DNS operations:

Whitelisting restricts automated systems to executing only pre-approved DNS operations. Rather than allowing arbitrary commands, you define exactly what actions are permitted:

Allowed operations:

  • Add A record for subdomains matching *.yourwebsite.com
  • Modify TXT records for verification purposes
  • Update CNAME records for CDN integration
  • Query existing DNS records

Prohibited operations:

  • Delete or modify NS records
  • Change A records for root domain
  • Delete MX records
  • Modify DNSSEC-related records

This approach follows the principle of least privilege—automated systems can perform routine tasks but cannot make changes that could cause catastrophic outages.

Sandboxing DNS changes:

Sandboxing creates an isolated environment where DNS changes can be tested before being applied to production. This is particularly valuable for complex DNS configurations or when multiple systems modify DNS programmatically:

  1. Staging DNS zone: Maintain a separate DNS zone for testing changes
  2. Validation layer: Automated checks verify that changes don't violate policies (e.g., removing all MX records)
  3. Approval workflow: Critical changes require human approval before execution
  4. Rollback capability: Maintain snapshots of DNS configurations for quick rollback

Audit logging for DNS operations:

Comprehensive logging creates accountability and enables forensic analysis after incidents:

2026-03-07 14:23:15 UTC | [email protected] | ADD | A | shop.yourwebsite.com | 192.0.2.150
2026-03-07 14:24:32 UTC | automation@system | MODIFY | TXT | @ | "v=spf1..." 
2026-03-07 14:25:01 UTC | [email protected] | DELETE | CNAME | old.yourwebsite.com

Audit logs should capture:

  • Timestamp of change
  • User or system that made the change
  • Operation type (add/modify/delete)
  • Record type and name
  • Old and new values
  • Source IP address

Best practices for automated DNS management:

  • Require authentication: All API access should use API keys or OAuth tokens, never hardcoded credentials
  • Implement rate limiting: Prevent runaway scripts from making thousands of DNS changes
  • Use read-only access when possible: Query operations don't need write permissions
  • Validate input: Sanitize all inputs to prevent injection attacks
  • Test in non-production: Never test automation against production DNS
  • Document automation: Maintain clear documentation of what automated systems can do

These security measures are particularly important when using AI-powered tools for infrastructure management, as they provide guardrails that prevent well-intentioned automation from causing unintended damage.

Skip the Manual Work: How OpsSqad's WordPress Squad Solves DNS Management

You've learned how to configure A records, troubleshoot MX issues, implement SPF/DKIM/DMARC, and secure your DNS against hijacking. But let's be honest—manually logging into multiple dashboards, waiting for propagation, and double-checking syntax gets tedious fast, especially when managing multiple WordPress sites.

This is where OpsSqad's WordPress Squad transforms DNS management from a manual checklist into an intelligent conversation.

The OpsSqad Advantage: Centralized Control and AI-Powered Automation

OpsSqad provides a unified platform where AI agents, organized into specialized Squads like the WordPress Squad, can interact with your infrastructure through a secure reverse TCP architecture. Instead of context-switching between your DNS provider dashboard, WordPress admin, and hosting control panel, you manage everything through a simple chat interface at chat.opssquad.ai.

The WordPress Squad understands DNS in the context of WordPress deployments. It knows that changing an A record requires updating your WordPress site URL, that email authentication records are critical for WooCommerce transaction emails, and that CDN CNAME records need corresponding WordPress plugin configuration. This contextual intelligence prevents the common mistakes that happen when managing DNS in isolation.

The reverse TCP architecture means you install a lightweight node on your server that establishes an outbound connection to OpsSqad's cloud. No inbound firewall rules, no VPN setup, no exposing SSH to the internet. The node maintains a persistent connection, and AI agents send commands through this secure tunnel. Your infrastructure remains completely protected behind your firewall.

Command whitelisting ensures that agents can only execute pre-approved operations. The WordPress Squad can check DNS records, update specific record types, and verify propagation—but it cannot delete your name servers or make changes outside its defined scope. Every command is validated against the whitelist before execution.

Audit logging creates a complete record of every action taken by AI agents. You can review exactly what was changed, when, and why. This transparency is critical for compliance, troubleshooting, and team coordination.

Your 5-Step Journey to Effortless DNS Management with OpsSqad

1. Create Your Free Account and Deploy a Node

Start by signing up at app.opssquad.ai. After creating your account, navigate to the Nodes section and click "Create Node." Give it a descriptive name like "Production WordPress Server" and select the appropriate node type.

The dashboard generates a unique Node ID and authentication token. These credentials are specific to this node and allow it to establish a secure connection to OpsSqad's cloud infrastructure.

SSH into your WordPress server and run the installation commands:

curl -fsSL https://install.opssquad.ai/install.sh | bash
opssquad node install --node-id=<your-node-id> --token=<your-token>
opssquad node start

The node establishes a reverse TCP connection to OpsSqad within seconds. Your server initiates the connection outbound, so no firewall modifications are needed. The node runs as a lightweight background process, consuming minimal resources.

2. Deploy the WordPress Squad

In the OpsSqad dashboard, navigate to the Squad Marketplace. Browse available Squads and locate the WordPress Squad. Click "Deploy Squad" to create your private instance.

The WordPress Squad includes multiple specialized agents:

  • DNS Agent: Manages DNS records and monitors propagation
  • Configuration Agent: Handles WordPress settings and plugin configuration
  • Security Agent: Monitors security posture and implements hardening
  • Performance Agent: Optimizes caching, database, and asset delivery

Each agent has pre-defined, whitelisted commands specific to its domain. The DNS Agent can query and modify DNS records, check propagation status, and validate email authentication, but it cannot execute arbitrary commands on your server.

3. Link Agents to Nodes and Grant Permissions

Open your deployed WordPress Squad and navigate to the Agents tab. Here you'll see all agents in the Squad. Click on the DNS Agent and select "Grant Node Access."

Choose the node you created in step 1 and configure permissions. You control exactly what this agent can do:

  • Read DNS records: ✓
  • Modify A and CNAME records: ✓
  • Modify MX records: ✓ (with approval)
  • Modify NS records: ✗ (too risky for automation)
  • Check propagation status: ✓

This granular permission model ensures agents have the access they need without excessive privileges. You can adjust permissions at any time, and changes take effect immediately.

4. Initiate DNS Management via Chat

Navigate to chat.opssquad.ai and select your WordPress Squad. The chat interface connects you to all agents in the Squad, and they understand the context of your WordPress environment.

Example Chat Interaction:

You: "I'm migrating my WordPress site to a new server at IP 203.0.113.42. Can you help me update DNS and verify everything works?"

WordPress Squad DNS Agent: "I'll help you migrate DNS to the new server. I've identified the following current DNS configuration for yourwebsite.com:

  • A record @ → 192.0.2.146 (TTL 3600)
  • A record www → 192.0.2.146 (TTL 3600)
  • MX records → mail.google.com (priority 10)
  • TXT records → SPF, DKIM, DMARC present

Before we proceed, I recommend lowering the TTL to 300 seconds to speed up propagation. Would you like me to do that first?"

You: "Yes, lower the TTL. Then update both A records to the new IP."

WordPress Squad DNS Agent: "TTL updated to 300 seconds for both A records. This change will propagate in approximately 1 hour based on current TTL.

I'll wait 60 minutes before updating the IP addresses to ensure the new TTL has propagated globally. This prevents some visitors from caching the old IP for the full 3600 seconds.

I've set a reminder to proceed at 15:45 UTC. Would you like me to notify you before making the change, or should I proceed automatically?"

You: "Proceed automatically and notify me when complete."

WordPress Squad DNS Agent: "Understood. I'll update the A records at 15:45 UTC and monitor propagation. I'll also verify that:

  1. The new server is responding on port 80/443
  2. SSL certificates are valid for yourwebsite.com
  3. WordPress is accessible and configured with the correct site URL
  4. Email delivery continues to work (MX records unchanged)

I'll send you a summary when the migration is complete."


60 minutes later...


WordPress Squad DNS Agent: "DNS migration completed successfully. Summary:

✓ A records updated to 203.0.113.42 at 15:45 UTC ✓ Propagation check: 87% of global DNS resolvers showing new IP (expected 95%+ within 2 hours) ✓ New server responding correctly on ports 80 and 443 ✓ SSL certificate valid (Let's Encrypt, expires 2026-05-15) ✓ WordPress site loading correctly at new IP ✓ WordPress site URL configured correctly in database ✓ Email delivery test successful (MX records functioning)

Recommendation: Monitor traffic for 24 hours, then restore TTL to 3600 seconds for optimal performance.

Would you like me to schedule the TTL restoration, or would you prefer to do it manually?"

You: "Schedule it for 24 hours from now."

WordPress Squad DNS Agent: "TTL restoration scheduled for 2026-03-08 15:45 UTC. I'll restore both A records to 3600 second TTL and send you confirmation."


5. Benefit from Reverse TCP, Whitelisting, and Audit Logging

Throughout this interaction, multiple security layers protected your infrastructure:

Reverse TCP connection: The node on your server initiated the connection to OpsSqad. No ports were opened in your firewall, no VPN was configured, and your server remains completely protected from inbound attacks. The agent sent commands through the established tunnel, and the node executed them locally.

Command whitelisting: Every command the DNS Agent wanted to execute was validated against the whitelist. The agent could update A records and check propagation because those operations are whitelisted for DNS management. If the agent had attempted to delete your name servers or modify system files, the command would have been blocked.

Audit logging: Every action is recorded in the audit log:

2026-03-07 14:45:00 UTC | DNS Agent | MODIFY | A | @ | 192.0.2.146 → 203.0