All plugins
GitHubMarkdownExportstable · v1.5.16★ 0released Oct 25, 2026

Posts to GitHub

Exports published posts as Markdown files, with YAML front matter, to a GitHub repository.

Overview

Posts to GitHub exports published posts as Markdown files complete with YAML front matter and pushes them to a GitHub repository, keeping a version-controlled mirror of your content outside WordPress.

Key features

  • ●Exports published posts as Markdown with YAML front matter.
  • ●Pushes exported files directly to a GitHub repository.
  • ●Keeps a version-controlled mirror of your content.
Quick install
1cd wp-content/plugins
2git clone https://github.com/gioxx/wp-posts-to-github
3# Activate 'Posts to GitHub' and configure your repository under Settings
WordPress min6.0+
PHP compat7.4+

You can install this plugin manually over SSH — connect to your server and run these commands inside your wp-content/plugins directory:

SSH
1wget -O wp-posts-to-github-1.5.16.zip "https://github.com/gioxx/wp-posts-to-github/releases/download/v1.5.16/posts-to-github-md-1.5.16.zip"
2unzip wp-posts-to-github-1.5.16.zip
3rm -rf wp-posts-to-github/
4mv gioxx-wp-posts-to-github-*/ wp-posts-to-github/
5rm wp-posts-to-github-1.5.16.zip

Alternatively, download the ZIP above and upload it from Plugins → Add New → Upload Plugin in your WordPress dashboard, or via FTP/SFTP.

Changelog

Fixed

  • Posts cloned with Yoast Duplicate Post (or any plugin that copies post meta) inherited the original post's _potogh_path/_potogh_sha, so exporting the copy silently overwrote the original's Markdown file on GitHub, and "Delete from GitHub" on the copy could remove it. The recorded path is now trusted only when no older post owns the same path; otherwise the copy gets its own path from its slug.
  • Test suite: tests/bootstrap.php now defines ABSPATH, so requiring plugin files no longer ends the PHPUnit run early with a success exit code; SettingsTest stubs sanitize_text_field().

Added

  • _potogh_* is added to Yoast Duplicate Post's meta exclude list (duplicate_post_excludelist_filter), so new copies no longer carry export meta.

For the full version history, see CHANGELOG.md.

Other plugins