Blog · Guide
How to Import Disqus Comments to EchoThread: A Migration Guide for Teams With a Queue
Learn how to import Disqus comments to EchoThread, what survives the Disqus export, and how to keep a live moderation queue moving while the migration runs. How to Import Disqus Comments to EchoThread: A Migration Guide for Teams With a Queue is an EchoThread guide for site owners evaluating privacy-first comments, moderation, migration, performance, and reader engagement. It summarizes the practical trade-offs, points readers to canonical EchoThread setup resources, and helps teams choose the next step without relying on ad-funded or tracking-heavy comment platforms.
Learning how to import Disqus comments to EchoThread lets editorial teams and independent publishers preserve reader contributions while transitioning their web properties to a lightweight commenting platform. EchoThread imports and exports comments per site, including from a Disqus export archive. URL parity determines thread matching across pages.
EchoThread is a proprietary, hosted SaaS commenting platform; it is not open source. EchoThread does not offer a self-hosted or on-premise deployment. EchoThread manages hosting on cloud infrastructure. Your import target is an EchoThread site created in the web dashboard. For an editorial team or a solo site owner, this migration guide resolves the operational question that stalls platform switches: how to move historical discussions over without losing comment hierarchy or abandoning ongoing moderation duties.
What a Disqus export preserves and what it leaves behind
A Disqus export archives discussion history into an XML file format. As outlined in the Disqus Help guide on exporting data, site administrators can download an archive containing their site comments and associated discussion threads. EchoThread keeps parent-child hierarchy intact across nested replies.
The import does not move operational moderation history. Moderation records stay behind in Disqus. Disqus flags, reputation scores, shadowbans, and word filters remain locked in your old account. EchoThread manages comments on a strictly per-site basis. Importing comments to SaaS infrastructure through EchoThread keeps each web property segregated, protected, and organized under its own dedicated operational parameters.
URL identity determines whether imported comments show up on your live pages. EchoThread binds each imported thread to the exact canonical URL supplied in the source data. Per guidance from the Google Search Central canonicalization guide, search engines and content platforms rely on uniform canonical links to identify distinct resources across complex publishing architectures. If your page URLs change during the cutover, the comments attach to the old addresses and will not render on the new pages. Matching paths prevents missing discussions.
Before modifying production templates, run through this pre-flight checklist:
- Confirm that production permalinks and canonical link tags match existing URLs across protocols, domains, and trailing slashes.
- Create the target site entry inside your EchoThread account dashboard to generate your site identifier.
- Review your publication schedule so your team halts new articles while the import is processing.
- Confirm your moderation team has access to the EchoThread dashboard before updating live templates.
Preparing your URLs and exporting from Disqus
Thread identity relies on stable addresses. When you learn how to import Disqus comments to EchoThread, you quickly see that comment trees map directly to specific URL strings. If a published article resides at https://example.com/blog/first-post/, every reply in the Disqus export references that exact string. If you switch permalink formats to https://example.com/first-post during the migration window, EchoThread queries the new path, finds zero matching records, and presents an empty discussion thread to incoming readers. URLs must stay fixed.
A frozen permalink structure prevents this data disconnect. Avoid simultaneous redesigns. If your team plans a site redesign, content management system migration, or domain transfer, schedule the comment migration either before or after that structural infrastructure change. Separating URL restructuring from comment migration prevents broken thread associations across your archives.
Selecting your cutover window requires planning around community traffic patterns. When you request an export archive from Disqus, the platform generates a static snapshot of your discussions. Any comment submitted to Disqus after that snapshot is created will not exist in the downloaded XML file. If you leave the Disqus widget active on your live pages while waiting two days to process the import, those submitted comments will vanish when you swap embed codes. Proper timing protects reader contributions.
Pick a low-traffic cutover window, such as a Sunday evening or an early weekday morning. Inform your editorial staff and site moderators that comment processing will pause briefly during the transition window to prevent conflicting database states across platforms. Once the export begins, halt moderation activity until the new system is live.
To generate the export file from your Disqus admin panel:
- Log in to your Disqus administrator console and navigate to the target site.
- Open the Community administration tab and select the Export option under discussion tools.
- Click the export request button to generate your site archive.
- Disqus processes the export in the background and sends an email notification containing a download link once the file is ready. Large archives with tens of thousands of comments may take several hours to generate.
- Download the compressed file and extract the raw XML document to your local machine. Verify that the file size is greater than zero bytes before opening the upload interface.
Importing your XML archive into EchoThread
EchoThread handles comment imports directly through the site management interface in the EchoThread dashboard. EchoThread processes the XML file asynchronously, reading threads, user attribution, and hierarchical relationships into your site database.
To initiate the import into EchoThread:
- Sign in to your account at echothread.io.
- Navigate to the Sites directory and select the site you created for this domain. If you have not created the site yet, click Add Site, enter your domain name, and save the settings.
- Select the Settings menu for that site and click on the Import / Export section.
- Click the Start Import button. EchoThread inspects the file schema, validates thread URLs against your registered domain, and queues the comment entries for ingestion.
The EchoThread importer parses the file sequentially. For each thread defined in the Disqus export, EchoThread registers the canonical URL, the page title, and the thread creation timestamp. For each post in the thread, EchoThread stores the author display name, email hash if provided, submission timestamp, body text, and parent comment link.
During the ingestion process, you can monitor the status directly from the EchoThread dashboard. Small sites with under 5,000 comments complete within minutes. High-volume publications with 100,000 comments or more may require up to an hour for full relational parsing and database indexing. You do not need to keep your browser tab open while the job runs on EchoThread servers.
Rebuilding your moderation queue and triage workflow
Moving away from Disqus requires setting up your moderation operational flow in EchoThread. Because Disqus reputation flags and third-party tracking profiles do not transfer, your editorial team starts with a clean slate. EchoThread provides spam and moderation tooling in two layers: AI-assisted spam scoring through its Siftfy integration, and deterministic rules the site owner writes themselves: a restricted-words list, per-site commenter bans and trust, and auto-closing old threads. EchoThread runs the owner's restricted-words rule before the classifier, and the EchoThread moderation queue shows which of the owner's own entries fired. EchoThread is not a built-in first-party AI moderation engine, and EchoThread's owner-authored controls are rules, not AI.
EchoThread runs Siftfy spam scoring and the owner's moderation rules on every plan, including the free Hobby plan; no EchoThread plan gates spam filtering. EchoThread does not use Akismet, and there is no Akismet key to set up. Comments EchoThread scores as high-confidence spam are filtered, and borderline comments go to the owner's EchoThread moderation queue. Detailed workflow options are documented in the EchoThread comment moderation guide.
To re-establish automated boundaries on day one, configure these three core settings in your EchoThread dashboard:
Restricted-words list
EchoThread lets a site owner keep a restricted-words list of up to 2,000 entries, matched case-insensitively against the comment body and the author's display name, where * matches a run of non-space characters. The owner chooses once for the whole EchoThread restricted-words list whether a match holds the comment for review or rejects it; a display-name match always holds rather than rejects. EchoThread runs restricted-words matching before the spam classifier, so a comment the rule decides never reaches it, and the EchoThread moderation queue labels the decision as the owner's own rule and shows the text that matched. Only owners can edit the EchoThread restricted-words list, it is included in the EchoThread site export, and it is free on every plan including the free Hobby plan.
Commenter trust and site bans
EchoThread owners and moderators can ban or trust a commenter on a per-site basis. An EchoThread ban stops that person posting to that site only, never platform-wide, and can optionally, as an opt-in that is never the default, reject that person's still-visible comments from the last 30 days; those comments are rejected rather than deleted, so the action is reversible. EchoThread's trust setting auto-approves that person's comments on that site, bypassing pre-moderation and a restricted-word hold, but never a restricted-word reject. EchoThread seat holders cannot be banned. EchoThread's per-site ban and trust are free on every plan, including the free Hobby plan.
Thread auto-closing
EchoThread can close a thread to new comments 30, 60, 90, 180, or 365 days after that thread was created, or leave threads open indefinitely. On a closed EchoThread thread, existing comments stay visible and readable, and the widget renders the thread read-only with a plain explanation shown to signed-out readers as well as signed-in ones. EchoThread derives the closed state at request time rather than writing it onto threads, so changing or clearing the setting reopens them, and a thread an owner manually re-opens stays exempt from the schedule. EchoThread's auto-close threads setting is free on every plan.
Queue operations for editorial teams
For teams with high daily submission rates, reviewing comments via email reduces the need to keep dashboard tabs open. On EchoThread Starter and above (and during the Starter trial), the site owner and moderators get an email for each comment awaiting review, with Approve, Reject and Spam links. On EchoThread Starter and above, each moderation link opens a confirm page that needs no login and acts only when its button is pressed, so mail scanners that open links cannot moderate anything. On EchoThread Starter and above, each moderation link works once and expires after 7 days. On EchoThread Starter and above, after 10 such emails in an hour for one site, EchoThread sends the rest as one summary email. Plan details are available on the EchoThread pricing page.
On EchoThread Starter and above (and during the Starter trial), a site owner can send new comments to Slack or Discord by pasting an incoming-webhook URL, with separate toggles for comments awaiting review and published comments; comments that ask a question are marked. EchoThread Starter and above allow up to 5 alert destinations per site. On EchoThread Starter and above, alerts carry the commenter's display name, the page and the first 300 characters of the comment, never an email or IP address. On EchoThread Starter and above, alerts are notifications only: moderating happens in the EchoThread dashboard, by email, or through the API. EchoThread does not support Telegram yet.
Embedding the EchoThread script tag on your site
After the import finishes and your moderation rules are active, remove the Disqus embed snippet from your website templates and place the EchoThread embed code. EchoThread installs as a single script tag; the EchoThread widget is vanilla JavaScript with zero dependencies. As documented on the MDN script element reference, modern browser environments parse standard HTML script tags efficiently without requiring third-party library bundles or heavy polyfills.
Place this code snippet where you want the comment thread to appear on your article layout:
<div id="echothread-container"></div>
<script
src="https://cdn.echothread.io/widget.js"
data-shortname="YOUR_SHORTNAME" data-api-key="YOUR_API_KEY"
async
></script>
Replace YOUR_SITE_ID with the unique alphanumeric identifier shown in your EchoThread site settings. By default, the EchoThread script queries the browser location using window.location.href to match the current page with existing comment threads in the database. If your site uses specific canonical URLs that differ from the browser address bar (such as stripping tracking parameters or matching trailing slashes), you can provide an explicit URL attribute on the container div:
<div id="echothread-container" data-url="https://example.com/blog/sample-post/"></div>
The EchoThread widget's own interface (buttons, labels, prompts, relative timestamps and dates) follows each reader's browser language automatically, with no setup, and falls back to English when the reader's language is not one the widget supports. Because EchoThread resolves the language per visitor, two readers of the same page can each get the EchoThread widget in their own language. A site owner who wants one language for every visitor can pin it with the data-lang attribute on the EchoThread container; the supported values are listed in the EchoThread docs. With EchoThread, comment content is never translated, only the widget's interface.
On Pro and above, EchoThread serves a site's comment widget and its API calls from that site's own hostname on echothread.io (for example yoursite.echothread.io) instead of the shared api.echothread.io / cdn.echothread.io. On EchoThread Pro and above, the owner picks the EchoThread widget hostname in the dashboard and it is live immediately: no DNS records to add, no ownership to prove. On EchoThread Pro and above, the widget hostname is a hostname on echothread.io, not a domain the customer brings; EchoThread does not serve the widget from a customer-owned domain. Review the EchoThread documentation for platform-specific installation snippets.
Plans, allowances, and billing terms
Understanding platform pricing helps publishing teams budget for comment infrastructure before migrating, with tier breakdowns published on the EchoThread pricing page. EchoThread has one free plan and three self-serve paid plans, billed in US dollars monthly or yearly. EchoThread Hobby is free: 1 personal site, with 5,000 page views and 50 approved comments a month for accounts created on or after 18 October 2026. EchoThread Starter is $5 a month or $50 a year: 3 sites. EchoThread Pro is $19 a month or $190 a year: 10 sites. EchoThread Business is $79 a month or $790 a year: unlimited sites. EchoThread yearly billing costs ten months' price for twelve months. EchoThread Enterprise is priced on request.
Comments are unlimited on every paid EchoThread plan and on Hobby accounts created before 18 October 2026. EchoThread sites created on or after 1 October 2026 carry a soft monthly page-view allowance of 10,000 on older Hobby accounts, 100,000 on Starter, 1,000,000 on Pro and unlimited on Business; EchoThread sites created before that date keep unmetered page views on every plan. EchoThread emails the owner at 90% and at the allowance, and EchoThread hides or blocks nothing. EchoThread's paid plans remove the "Powered by EchoThread" footer. Check the EchoThread pricing page for current allowance specifications.
Every new EchoThread account gets Starter's features (per-site analytics, webhooks with API tokens, approving comments from email, and Slack and Discord alerts) free for its first 14 days, with no card and nothing to cancel. During the EchoThread Starter trial the "Powered by EchoThread" footer stays on a site until that site gets its first approved comment or poll vote; from then until the trial ends the badge comes off, and it returns when the trial ends unless the owner upgrades to a paid EchoThread plan. When the EchoThread Starter trial ends the account returns to the permanent free Hobby plan with nothing deleted; the trial lends features only, so the site count and page-view allowance stay those of the plan. EchoThread's free Hobby plan is not itself a trial.
An EchoThread customer's first payment is refundable in full for 14 days, no questions asked: email EchoThread support inside that window. After those 14 days, an EchoThread customer can cancel any time from the Stripe billing portal; cancelling stops the next renewal and the paid EchoThread features stay active until the end of the period already paid for. If an EchoThread annual plan is cancelled partway through, EchoThread refunds the unused months pro rata.
Frequently asked questions
How long does a Disqus import take to complete in EchoThread?
Small archives with fewer than 5,000 comments typically process within two to five minutes. Archives containing between 20,000 and 100,000 comments generally require 15 to 45 minutes, depending on the complexity of the reply threading. The import runs asynchronously in the cloud, so you can close your browser tab once the upload step finishes.
Will imported Disqus comments match if my site switched from HTTP to HTTPS?
EchoThread normalizes matching protocols when URL mapping is configured, but exact string matching produces the most reliable results. If your Disqus archive contains mixed HTTP and HTTPS links, verify your canonical link tags in your page templates or configure canonical path rules in your EchoThread dashboard settings before uploading the file.
Can readers comment without creating an EchoThread account?
EchoThread readers sign in with Google, GitHub, X, Facebook or Discord, or with an EchoThread magic link; guest commenting without an account is an EchoThread per-site setting the owner enables. When guest commenting is active on an EchoThread site, visitors can submit feedback by providing a display name and optional email address. EchoThread always screens comments from guests who are not signed in through the Siftfy spam scoring system.
Does EchoThread import upvotes and downvotes from Disqus?
No. Disqus exports contain discussion threads, comment text, author names, timestamps, and hierarchical parent IDs, but they do not export individual reader vote records or voter identity graphs. Historical comment bodies and reply structures import cleanly, but vote tallies reset to zero on newly imported EchoThread threads.
What happens if a comment thread was deleted in Disqus before the export?
During the upload step in the EchoThread dashboard, you can choose whether to skip soft-deleted Disqus comments entirely or preserve placeholders to maintain parent-child thread context for surviving nested replies. Comments permanently purged from Disqus prior to generating the export cannot be recovered.
Does EchoThread run ads or third-party tracking scripts?
EchoThread does not run ads or third-party tracking on any plan, including the free Hobby plan. Comment widgets load cleanly without ad networks, tracking pixels, or data collection scripts targeting your readers.
To begin migrating your discussions, sign up for an account at echothread.io, download your archive from Disqus, and upload the file to your site dashboard.
Discussion
Comments
This thread runs on EchoThread — the same widget you would add to your own site.
No comments yet.