sandywp / plugins / export-all-urls

Export All URLs

4.6 out of 5 stars. 4.6 94 reviews

Export post, page and custom post type data to CSV or JSON, and snapshot your site to detect added, removed or changed content.

Launch a sandbox with this plugin → No signup.
Ready in seconds.

v6.0 50,000+ installs WP 3.6+ PHP 5.4+

your-sandbox.sandywp.com/wp-admin
Export All URLs running inside a SandyWP sandbox

What you get inside

7 screens
  • The Export tab - pick a post type and choose fields from collapsible groups with quick-select presets

  • Results shown right in the dashboard - every URL in a paginated table

  • The export as a spreadsheet-ready CSV file

  • ...or as structured JSON for scripts and integrations

  • Snapshots compared - added, removed and modified content highlighted, with notable changes flagged

  • The snapshot diff exported to CSV

  • ...and the same diff as JSON

About this plugin

This plugin will add a page called “Export All URLs” under Tools. You can navigate there and can extract data from your site. You can export Posts:

  • ID
  • Title
  • URL
  • Status
  • Categories
  • Category URLs
  • Tags
  • Tag URLs
  • Author
  • Published Date
  • Modified Date
  • Word Count
  • Excerpt
  • Featured Image URL
  • Comment Count
  • Slug
  • Post Type
  • Language (WPML / Polylang)
  • Translation URLs (WPML / Polylang)

Fields are organized into collapsible groups with quick-select presets, so the picker stays tidy even with this many columns. The data can be filtered by post type, post status, date range, and author before extraction, and the plugin also provides the option to export using a specific post range. Output can be displayed in the dashboard or downloaded as a CSV or JSON file.

When we need this plugin?

  • To check all URLs of your website
  • During a migration (and to confirm everything was moved across)
  • During a security audit, or to monitor the site for unauthorized or injected content (Snapshots)
  • To share all URLs with your SEO consultant
  • For handling 301 redirects in htaccess

Customizable Features

  • Choose exactly which columns to export, grouped with quick-select presets
  • Download as CSV or JSON, or display the results in a paginated table
  • Filter by post type, post status, author and date range
  • Export a specific post range (helpful on very large sites)
  • Exclude the domain from URLs (handy when comparing results after a migration)
  • Multilingual support for WPML and Polylang (export all languages or just the default)
  • Custom or randomly generated download file name
  • Snapshots: capture your site and detect what was added, removed or changed over time

System requirements

  • PHP version 5.4 or higher
  • WordPress version 3.6 or higher

If you encounter any bugs, please report them to me, and I will strive to resolve them as quickly as possible!

Contact

For further information please send me an email.

Questions

What data can I export?

For every post, page or custom post type you can export the Post ID, Title, URL, Status, Categories and Category URLs, Tags and Tag URLs, Author, Published and Modified dates, Word Count, Excerpt, Featured Image URL, Comment Count, Slug, Post Type, and (on multilingual sites) the Language and Translation URLs. Choose exactly the columns you want using the grouped checkboxes and quick-select presets.

Can I export to JSON as well as CSV?

Yes. You can download the data as a CSV file, download it as JSON, or display it in a paginated table right inside the dashboard.

What is the Snapshots feature?

A snapshot records a lightweight fingerprint (a hash, not a copy) of every post, page and custom post type on your site. Later you can compare two snapshots, or compare your latest snapshot against the live site, to see exactly what was added, removed or modified – including which posts changed in title, content, status, author, slug, taxonomy, custom fields or featured image.

How can I tell if my site was changed or compromised?

Take a snapshot when everything looks correct, then run “Latest vs live site” whenever you want to check. Newly published pages and author or status changes are highlighted as “Notable”, because those are common signs of injected or unauthorized content. The differences can be downloaded as CSV or JSON.

Does it work with custom post types and WooCommerce?

Yes. Both the export and the snapshots cover all public post types – including WooCommerce products and any other custom post type – not just posts and pages.

Does it support multilingual sites (WPML / Polylang)?

Yes. The export has a “Languages” option to export all languages or just the default one, regardless of the language selected in the admin bar, and can add Language and Translation URL columns. Snapshots always capture every language.

Will it work on a large site without timing out?

The export and snapshot operations read posts in batches and stream results out as they go, so memory stays bounded no matter how many posts you have. Snapshots use keyset pagination and prime caches in bulk to stay fast on large tables. You can also export a specific post range to keep each request small.

Is the exported CSV safe to open in Excel?

Yes. Cell values that begin with =, +, – or @ are neutralized, so a malicious value cannot run as a spreadsheet formula when the file is opened.

4.6

94 reviews

  • 5 ★ 81
  • 4 ★ 3
  • 3 ★ 0
  • 2 ★ 1
  • 1 ★ 9

Ratings come from WordPress.org. SandyWP does not collect its own reviews.

sandywp / also on the shelf

Try another plugin

Spin up a real WordPress site in seconds.

Test plugins, build a demo, hand a client a link — then squash it and start again. No local setup, no Docker.