← All guides

Webflow CMS Collection Limit Exceeded? How to Fix & Publish

Your publish button is locked because your account reached the maximum capacity for items across all collections. This limit, typically 2,000 or 10,000 records depending on your specific hosting plan, is a hard cap. You likely hit this wall via a large CSV import or accumulated ghost draft entries. Webflow prevents updates until counts fall below your threshold.

Emergency Stop-Gap: To unlock your publish button immediately, you need to purge the dead weight from your database. Go into every individual CMS Collection and empty the “Trash” folder for each one. These items have been deleted by you but aren’t fully purged from the system yet; they still count against your total quota until you clear them out completely.

Before You Start

Before you start pulling items out of your database or deleting entries, get a full export of all your collections done first. Use the Webflow Export tool to generate CSV files for every piece of data currently in your system. You should never delete records until those copies are saved on your local machine. This serves as your safety net; if something goes wrong during the cleanup—whether it’s an accidental deletion or a complication while restructuring your site—you can re-import everything once you’ve adjusted the structure or upgraded your plan. Having this backup ensures that even if things get messy, your data remains safe.

Related guide: Resolve Bandwidth Limit Exceeded (509 Error)

Why is my site showing a limit exceeded error?

It is incredibly jarring to see a “limit exceeded” error pop up right when you are trying to get your site live. This isn’t a failure of your design; it’s a matter of how Webflow manages its database architecture. The platform imposes strict caps on the total number of items allowed across all CMS collections combined. These limits aren’t specific to one collection or another—they are aggregate totals for your entire project. If your total count hits 10,000 (on eligible plans) or 2,000 (on lower tiers), Webflow will prevent you from publishing because the database is technically “over-provisioned” for your current subscription level.

This issue almost always surfaces immediately following a CSV import. When you upload thousands of rows via a spreadsheet, every single row becomes a permanent entry in Webflow’s backend. Even if you only intend to display a few hundred of those items on your live site, the system still counts every hidden or unused row as an occupied slot. To clear this and get back online, you must manually delete the unnecessary entries and then purge them from the trash folder to fully remove them from the database count.

Related guide: Hire Expert to Fix Broken Webflow Custom Code

How do I check which collections are over the limit?

To figure out exactly where your data is accumulating, you need to check every collection one by one. Head over to the CMS tab in the Webflow Designer and look at the count listed next to each Collection name.

If you see a “Warning” icon or if the total sum of these numbers hits your plan’s specific limit, the publish button will stay disabled. Keep in mind that certain items might be hidden from public view but still take up space:

  1. Draft Items: Any item not explicitly marked as “Published” in the CMS still counts toward your limit.
  2. Trash Items: Items you have deleted but haven’t been purged by the system—or that you haven’t manually cleared from the trash—still count against your total until they are completely gone.

Related guide: Webflow Custom Domain DNS Configuration

How do I fix it without upgrading my plan?

You can resolve this by aggressively pruning your database. If you want to stay under the limit without moving to a higher-priced tier, we need to strip away any unnecessary overhead from your backend immediately.

How do I clear out “ghost” data?

A lot of users find themselves hitting limits because their Trash folders are overflowing. Even though these items aren’t live on your site, platforms like Webflow often continue to count them toward your total database quota. You need to go into every single collection and locate the “Trash” icon or folder. Once there, perform a manual purge of those records to ensure they are completely wiped from the system’s count.

How do I handle large imports that were too big?

If you imported 5,000 items but only have 500 pages intended for public view, your database is carrying unnecessary weight. This usually happens due to a “batch” error—where a developer tries to migrate an entire raw database into a platform that only requires a specific subset of information. To fix this, create a new, clean collection and import only the relevant data points. It’s much cleaner to start a fresh collection with exactly what you need than to try and trim down a bloated one.

How do I remove duplicate entries?

Duplicate records are a primary source of database bloat. If your original CSV file contained overlapping data, it likely injected hundreds of nearly identical items into your system. You will need to go through these records, identify the duplicates, and delete them manually. This cleans up the backend and ensures you aren’t wasting your “space” on redundant entries.

What happens if I just want more space?

If your business model demands the management of thousands of unique items—such as a large-scale e-commerce catalog or a directory featuring thousands of individual listings—you will eventually encounter a structural ceiling. When that limit is reached, there are two distinct ways to handle your growth:

  1. The Enterprise Route: You can request a higher capacity from Webflow by upgrading your site plan. This is the “official” path; it allows you to stay within their ecosystem while they provide the infrastructure necessary to support your increased volume of items.
  2. The Decoupled Route: If you need more than 10,000 items and want to avoid the costs associated with enterprise-level hosting, you should move your heavy data to an external database. This separates your high-volume content from the site’s primary CMS, allowing you to scale your inventory independently without hitting platform limits.

Comparison: Internal Webflow CMS vs. External Headless Solutions

If you are feeling overwhelmed by the prospect of scaling your site’s backend, it helps to look at this as a structural decision rather than just a technical one. Choosing between an internal CMS and a headless database is about predicting where your growth will hit a ceiling. If you expect high volume or complex user interactions, moving the heavy lifting to an external engine now prevents significant headaches when your traffic spikes later.

FeatureInternal Webflow CMSExternal Database (Supabase/Xano)
Max CapacityLimited by Plan (e.g., 10,000)Virtually Unlimited
Ease of UseHigh (Native UI)Moderate (Requires API Integration)
Query SpeedFast for standard useOptimized for complex filtering
Cost StructureIncluded in Webflow PlanUsage-based or separate subscription
Best ForBlogs, Portfolios, Small ShopsDirectories, Large Marketplaces

How do I integrate an external database to bypass limits?

When your content library outgrows the limits of a standard CMS, it can feel like your site’s growth is being choked by its own infrastructure. To bypass these limitations, we move toward what we call a “Headless” approach. Instead of forcing thousands of items into Webflow’s internal database—which eventually creates performance bottlenecks—you house that data in a dedicated back-end system like Supabase or Xano and pull it into your site via an API.

To implement this, you use a script to fetch the data from the remote source and populate your front end dynamically. For example, if you were using a standard JavaScript fetch method to grab items from an external database and display them on your page, the implementation would look like this:

// Example of fetching external data to bypass Webflow CMS limits
fetch('https://api_endpoint_from_external_source.com/v1/items')
  .then(response => response.json())
  .then(data => {
    const container = document.getElementById('data-container');
    data.forEach(item => {
      const element = document.createElement('div');
      element.innerHTML = `<h3>${item.title}</h3><p>${item.description}</p>`;
      container.appendChild(element);
    });
  })
  .catch(error => console.error('Error fetching external data:', error));

Note: While Webflow’s native CMS is designed for ease of use and rapid deployment, moving to an external database requires a shift into custom development. This involves using “wrappers” or custom code blocks, which provide much higher scalability but require a more advanced technical setup than standard site building.

What are the common mistakes that make this worse?

  1. Importing Raw Databases: Moving data from one platform to another is a high-risk transition point. You should never import a raw SQL dump or a massive CSV file without scrubbing it first. These files often contain “ghost” data—empty fields, test entries, and legacy rows that serve no purpose in your new environment. If you let this junk through, it inflates your count instantly and creates unnecessary overhead for the system to index.

  2. Creating “Backup” Collections: It is a common instinct to create a secondary collection to store old products or content you aren’t currently using. However, most systems do not differentiate between active and inactive items when calculating your limits; if it exists in any collection, it counts toward your total. You need to decide what stays and what goes rather than trying to keep everything “just in case.”

  3. Ignoring the Trash: There is a significant difference between hiding an item from your storefront and actually removing it from the database. Many platforms use a “soft delete” system where clicking delete simply moves the item into a trash folder. Until you manually empty that trash bin, those items are still occupying space in your count. You must confirm the trash is completely purged to reclaim your limits.

How do I know when it’s time to call a professional?

There are specific scenarios where trying to DIY a fix might cause more damage than good. You should reach out to a specialist if:

  1. Your site is currently live and you’re unable to push new updates because of this error, especially if you can’t distinguish between “junk” data and critical, usable records.
  2. You are staring down thousands of entries and need an automated way to strip out duplicates; manually cleaning a dataset of that size is a massive time sink and prone to human error.
  3. You’ve decided to migrate your data to an external database—such as Supabase or Xano—but the technical hurdle of connecting those platforms to Webflow via API feels out of reach.

A professional can perform a comprehensive “data audit” to isolate exactly which items are safe to delete without breaking your site’s functionality. They can also script a seamless migration of your records into a more robust system that won’t cap your ability to grow.

Technical Summary for Developers

Handling large-scale imports via API or bulk CSV uploads requires a clean foundation to prevent system errors. Before your files reach Webflow’s ingestion engine, your script must strip out null values and duplicates to ensure the data is usable.

I recommend using a standard library like Pandas in Python to deduplicate your data:

import pandas as pd

# Load your raw data
df = pd.read_csv('raw_data.csv')

# Remove duplicate rows based on a unique ID or name
df = df.drop_duplicates(subset=['item_name'])

# Drop rows where critical information is missing to save space
df = df.dropna(subset=['title', 'body'])

# Save the cleaned file for Webflow import
df.to_csv('cleaned_data_for_webflow.csv', index=False)

By cleaning your data programmatically before it ever touches the Webflow environment, you build a safety net against technical failures. This step ensures that your site remains “publishable” and avoids those common architectural roadblocks that can stall a launch.

Frequently Asked Questions

Does every item in my CMS count toward the limit?

Yes. Every single entry in every collection—regardless of whether it is "Published," "Drafted," or currently hidden by a Collection List's filter—counts toward your total plan limit. If you have 10,000 items and only show 10 on the page because of filters, you are still using 10,000 towards your quota.

How can I find out exactly how many items I have left?

Webflow does not provide a "remaining" counter in the dashboard. You must manually sum the counts of all your collections to see where you stand. If the total exceeds your plan's limit (e.g., 10,000), you will be blocked from publishing until the count is reduced below that number.

Can I just delete the items and re-import them later?

You can, but only if you have a local backup first. If you delete items to get your site back online, they are gone from the Webflow dashboard completely. If you realize later that you needed one of those pieces of data, you will have to manually recreate it or re-upload your CSV. Always keep a master copy of your CSV files on your local drive before performing any mass deletions.

Why did I suddenly get this error after an update?

If your site was publishing fine and suddenly stopped, it is usually because the total count finally crossed the threshold. This often happens when you add a few new items or imports that push the number from 9,990 to 10,001. Webflow's system checks the count at the moment of publication.

Is there a way to "hide" some items so they don't count?

No. There is no way to hide an item from the "count" while keeping it in the CMS. If you want it in the database, it counts as a record. If you have too many records, those extra items must be moved to a different platform or deleted entirely.

Need this fixed right now?

Whatever broke, we diagnose it fast and quote a fixed price before we start. See our Emergency Website Repair service — repairs start from $149.

Fix My Site Now