Description
SScribe Export Site Pages turns your WordPress pages and posts into documents you can edit, print, archive, or hand over. Pick the content, choose the formats, and download one ZIP with a file for every page.
Use it for client handovers, content audits, translation work, compliance records, and offline copies of a site.
Four formats in one export
- Word (DOCX) with a cover page, page details, headings, lists, tables, and images. Opens in Microsoft Word, Google Docs, and LibreOffice.
- PDF in A4, Letter, Legal, or A3, with images, tables, and page numbers.
- HTML as one styled page per item, with meta description, canonical, and robots tags.
- Markdown with YAML front matter for documentation sites and static site generators.
Built for real sites
- Export pages, posts, and public custom post types, filtered by status and language.
- WPML, Polylang, and TranslatePress: export one language or all of them.
- Right-to-left output for Arabic, Persian, Urdu, and other Arabic-script languages.
- SEO titles and descriptions from Yoast SEO, Rank Math, All in One SEO, SEOPress, and The SEO Framework.
- See the page count, estimated time, and file size before you start.
- Large exports run in small batches and continue after a page reload.
- Export history with download, log, and bulk actions.
Private by design
- Archives and logs are kept in a protected folder and served only through single-use download links.
- Capability, ownership, and nonce checks on every request.
- Archives expire after 72 hours and are cleaned up automatically.
- Exported content never leaves your server. See External services below.
Requirements
- WordPress 6.2 or newer
- PHP 8.2 or newer
- PHP extensions: cURL, DOM, GD, XML, and ZIP
- Session encryption: Sodium, or OpenSSL with AES-256-GCM support
- 256 MB of PHP memory is recommended for large PDF exports
External services
SScribe does not connect to Simplix Innovations or any third-party service, and it does not send exported content anywhere. During an export it may issue HTTP GET requests for images only, through the WordPress safe HTTP API. By default the request goes only to your own site host so that a Media Library file that cannot be read from disk can still be embedded; other hosts are blocked. A developer can add approved hosts with the sscribe_allowed_image_hosts filter. Those requests send standard HTTP request metadata, such as your server’s IP address, to the fetched host, so review the terms and privacy policy of any host you add.
Privacy
SScribe stores short-lived export sessions, page queues, and security audit records in the WordPress database, and archives and operational logs in a protected folder inside the uploads directory. Archives expire after 72 hours by default; sessions and logs are cleaned on a schedule. The plugin registers WordPress personal-data exporter and eraser callbacks for user-linked records. Exported page content is not transmitted to Simplix Innovations.
Operational security records can include an HMAC-protected representation of the request IP address, user ID, action, timestamp, and result. They are used to enforce rate limits and investigate export activity.
License
SScribe is free software licensed under GPL-2.0-or-later.
The bundled PhpOffice/PhpWord library uses LGPL-3.0-only. Its notice is included at vendor-prefixed/phpoffice/phpword/COPYING.LESSER.txt.
The bundled TCPDF 7.0.11 and its Tecnick tc-lib runtime dependencies use LGPL-3.0-or-later. Its license notice and the required notices for all bundled dependencies remain alongside their source in the plugin package.
The bundled PhpOffice/Math and PSR Container libraries, and the Phosphor icon subset in assets/fonts/, use the MIT license. The DejaVu fonts use the Bitstream Vera license. Each notice ships beside its files.
Bundled LGPL-3.0 code is GPL-compatible under the GPLv3 option of SScribe’s GPL-2.0-or-later license.
Development
Canonical source repository: https://github.com/SimplixInnovations/sscribe-export-site-pages
The tagged source of each WordPress.org release is accessible to reviewers.
Required tools: PHP 8.2+, Composer 2.x, Node.js 24+, and Git.
Build from a clean checkout:
composer install
composer vendor:prefix
composer release
Build transformations are documented in docs/BUILD_TRANSFORMATIONS.md.
Screenshots











Installation
- In WordPress, go to Plugins > Add New Plugin > Upload Plugin.
- Select the SScribe ZIP file, install it, and activate the plugin.
- Open SScribe Export in the WordPress admin menu.
FAQ
-
Which content can I export?
-
SScribe exports WordPress pages, posts, and registered public custom post types. You can narrow an export by post type, post status, and, when WPML, Polylang, or TranslatePress is active, language.
-
Does SScribe support RTL languages?
-
Yes. The exporters detect RTL languages and apply direction-aware document structure and fonts. The admin interface also supports WordPress RTL mode. In RTL PDFs, links are shown as styled text and list bullets sit on the left; DOCX keeps both fully RTL.
-
Does SScribe work with WPML, Polylang, or TranslatePress?
-
Yes. Export one language or all, with language metadata and RTL output. TranslatePress pages are translated into the selected language.
-
Can a large export resume after the browser closes?
-
Yes. Export progress and the complete normalized page-ID queue are stored in expiring, non-autoloaded WordPress options. Reopening the export can continue from the saved offset while the session remains valid.
-
Where are exported files stored?
-
Archives, temporary files, and logs are kept in
wp-content/uploads/sscribe-export-site-pages/inside a per-site folder with a random name. Each folder gets.htaccess(Apache),web.config(IIS), andindex.phpdeny files, and archives are only served through single-use, permission-checked download links. On nginx, add a deny rule to your server block:location ~* /uploads/(sites/[0-9]+/)?sscribe-export-site-pages/ { deny all; }Developers can move storage elsewhere with the
SSCRIBE_PRIVATE_STORAGE_DIRconstant. -
How long are archives kept?
-
Completed archives expire after 72 hours by default and are removed by scheduled cleanup. A site administrator can delete an archive sooner from Recent Exports.
-
Who can download an export?
-
Only an authenticated user with the delegated export capability can download an archive that user owns. Download links use single-use tokens tied to the archive record and never expose the storage path.
-
Does SScribe send content to an external service?
-
No. Exported content stays on your server. The only outgoing requests are optional image downloads, described under External services.
-
What happens when the plugin is uninstalled?
-
Uninstall removes plugin options, scheduled hooks, saved export sessions and page queues, private archives and logs, and any recognized legacy export directory. Deactivation alone keeps data so exports can resume after reactivation.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“SScribe Export Site Pages” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SScribe Export Site Pages” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.1
- Word exports now include WebP and AVIF images, and SVG images where the server can convert them.
- Fixed the Word table of contents showing “Error! Bookmark not defined.” and an extra page before it.
- Shortcodes from inactive plugins, such as breadcrumbs, no longer appear as text in exports.
- Right-to-left exports keep numbers, URLs, and mixed-script headings in reading order, and the Word page header no longer shows boxes.
- Fixed missing PDF images on Windows servers and oversized images in Word files.
- PDF tables keep their columns, images no longer cover text on right-to-left pages, and form scripts no longer appear as text.
- Large exports no longer show as failed while they are still running, and more images appear while files stay much smaller.
2.0.0
- Added Polylang and TranslatePress language support alongside WPML.
- Added meta description, canonical, and robots tags to HTML exports.
- The finished export now lists any page or format that failed, and the export log records it.
- Moved archives, logs, and working files from public uploads to site-isolated private storage, with verified migration of legacy data.
- Large exports resume reliably, with memory and time sized per batch.
- Hardened path validation, permissions, symlink handling, cleanup, uninstall, download containment, admin output escaping, and session and lock handling.
- Fixed PDFs with images, block tables in DOCX, code samples, Markdown captions, Arabic PDF links, the All status filter, and custom post type exports.
- Fixed activation on managed hosting and containers, SQLite upgrades, and large-site caching.
- Added responsive layouts, RTL keyboard support, and accessibility fixes in the admin screens.
- Supports PHP 8.2 to 8.5 and WordPress 6.2 and later.
