# fishpig/magento2-wordpress-integration

> Securely integrate WordPress and Magento 2.

`composer require fishpig/magento2-wordpress-integration`

Canonical URL: https://packagento.com/fishpig/magento2-wordpress-integration

## At a glance

- **Vendor**: fishpig (https://packagento.com/fishpig.md)
- **Latest version**: 3.32.3 — released 2026-07-01
- **Pricing**: Free
- **Package type**: Magento 2 module
- **Status**: active, accepting new buyers

## Installation

Packagento is licence-gated, so even free packages need a licence on a project before Composer can resolve them.

1. **Sign in or create an account** at https://packagento.com/customer/account/.

2. **Add the package to your account.** Open https://packagento.com/fishpig/magento2-wordpress-integration and complete the free checkout. A licence is minted automatically.

3. **Create or pick a project, then activate the licence on it.**
   - Projects represent the Magento installs you deploy to. Manage them at https://packagento.com/projects/.
   - Activate the new licence on the project you'll deploy this package to. Activation is what generates the Composer credentials scoped to that project.

4. **Add the project credentials to your Magento codebase.**

   Grab the project's public + private key from https://packagento.com/projects/ (open the project, then its Credentials tab), and add them to `auth.json`:

   ```json
   {
     "http-basic": {
       "packagento.com": {
         "username": "ppk_live_...",
         "password": "psk_live_..."
       }
     }
   }
   ```

   Add the Packagento Composer repository to `composer.json`:

   ```json
   {
     "repositories": [
       { "type": "composer", "url": "https://packagento.com" }
     ]
   }
   ```

5. **Install and apply.**

   ```bash
   composer require fishpig/magento2-wordpress-integration:*
   bin/magento setup:upgrade
   bin/magento setup:di:compile
   bin/magento cache:flush
   ```

## What it does

Securely integrate WordPress and Magento 2.

## README

WordPress Integration in Magento 2.

This module allows you to integrate WordPress into Magento 2. 

## Useful Links

- <a href="https://fishpig.com/magento-2-wordpress-integration" target="_blank">Extension Details</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/docs" target="_blank">User Guide</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/add-ons" target="_blank">Add-ons</a>

## Yoast SEO

You can and should install the Yoast SEO plugin in the WordPress Admin. This is a completely free WordPress plugin that gives you complete control over your blogs SEO data (page titles, meta tags, robots, canonicals etc). For this to work when integrated into Magento 2, you will need the following free add-on extension:

<a href="https://fishpig.com/magento-2-wordpress-integration/yoast" target="_blank">Yoast SEO</a>

## WordPress Shortcodes

You can now use all WordPress shortcodes while integrated into Magento 2 using the <a href="https://fishpig.com/magento-2-wordpress-integration/shortcodes" target="_blank">Shortcodes & Widgets add-on module</a>. This adds support for all shortcode based plugins, which includes Page Builders such as WP Bakery Page Builder (frontend and backend), Elementor, Divi Page Builder and many more.

## WordPress Integration Add-ons

The following add-ons are currently available and more are on the way.

- <a href="https://fishpig.com/magento-2-wordpress-integration/multisite" target="_blank">Multisite</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/root" target="_blank">Root</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/post-types-taxonomies" target="_blank">Post Types and Taxonomies</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/shortcodes" target="_blank">Shortcodes</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/advanced-custom-fields" target="_blank">Advanced Custom Fields (ACF)</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/related-products" target="_blank">Related Products</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/integrated-search" target="_blank">Integrated Search</a>
- <a href="https://fishpig.com/magento-2-wordpress-integration/wpml" target="_blank">WPML</a>

For an up to date list, check the <a href="https://fishpig.com/magento-2-wordpress-integration/add-ons" target="_blank">Magento 2 WordPress Integration Add-ons</a> page.

## Changelog

### [3.32.3] - 2026-07-01
### [Changed]
- Updated cors.php in WordPress to allow setting Allow-Origin via filter.

### [3.32.2] - 2026-06-19
#### [Fixed]
- Fixed multiple bugs

### [3.32.1] - 2026-06-08
#### [Changed]
- Changed UserAgent for Magento to WordPress HTTP requests.

### [3.32.0] - 2026-05-20
### [Added]
- Added support for Magento 2.4.9.

### [3.31.31] - 2026-04-30
#### [Changed]
- Added title option to Post List widget.

### [3.31.30] - 2026-04-29
#### [Added]
- Added new option to Post List widget to filter by category_id

### [3.31.29] - 2026-04-13
#### [Fixed]
- Fixed FishPig\WordPress\Model\User::getUrl to take into account trailing slash
  configuration.
  
### [3.31.28] - 2026-04-13
#### [Fixed]
- Fixed Undefined variable $position \FishPig\WordPress\Model\Post\Comments

### [3.31.27] - 2025-11-24
#### [Added]
- Added pre rendering of exerpt to match post content.
- Added termmeta table lookups to meta data provider for Term models.

### [3.31.26] - 2025-11-17
#### [Fixed]
- Fixed bug in Permalink resource model where invalid value passed to str_replace
  when completing a slug.
  
### [3.31.25] - 2025-09-16
#### [Changed]
- Updated WP theme files to allow access to tags.
- Improved API data reporting

### [3.31.24] - 2025-08-26
#### [Changed]
- Updated wptheme/misc.php.sample to fix issue where View Post on custom post
  types had the wrong permalink_template and ended in a 404.

### [3.31.23] - 2025-08-13
#### [Changed]
- Modified SeoMetaDataProvider to stop empty meta data and page title being set.

### [3.31.22] - 2025-08-05
#### [Fixed]
- Fixed issue that stopped post type archive page displaying when a WP plugin that changes the rewrite/slug
  value is installed. We now checkout rewrite/slug_original for the archive slug, before using rewrite/slug.
  
### [3.31.21] - 2025-07-21
#### [Added]
- Added a test for the authorisation key. This ensures that a key gets generated 
  in WordPress, which is required for auto FPC cleaning on saving posts.
  
### [3.31.20] - 2025-05-22
#### [Removed]
- Removed a line of debugging code that caused issues with Api data retrieval lock.
#### [Changed]
- Decreased lock timeout time from 30 to 10.

### [3.31.18] - 2025-05-12
#### [Added]
- Added Sidebar::isWidgetEnabled method. This allow other extensions to toggle widgets (eg. WPML).

### [3.31.17] - 2025-04-23
#### [Fixed]
- Updated code for PHP 8.4 compatibility.

### [3.31.16] - 2025-04-09
#### [Changed]
- Changed Logger to fix compatibility issue.

### [3.31.15] - 2025-04-02
#### [Fixed]
- Cast the return type to a string in PostType::getSlug to stop returning NULL.

### [3.31.14] - 2025-01-24
#### [Changed]
- Updated WP theme to allow quick including of index.php in custom template files

### [3.31.12] - 2024-01-29
#### [Added]
- Added CORS file to FishPig WP theme to ensure CORS headers are set for Magento URL
  when in external integration mode.
  
### [3.31.11] - 2024-10-25
#### [Changed]
- Changed HTTP POST requests to submit data as an array rather than query string.

### [3.31.10] - 2024-10-20
#### [Fixed]
- Added support for taxonomy prefix of "." which essentially
  removes the prefix.
  
### [3.31.9] - 2024-06-30
#### [Fixed]
- Fixed error introduced in 3.31.8 with Menu model not having updated contstructor.

### [3.31.8] - 2024-06-28
#### [Fixed]
- Added automatic post type filter to post collection generated by term model.
  This forces only posts that are setup to use the taxonomy to be included.

### [3.31.7] - 2024-06-07
#### [Changed]
- Changed WP theme to include more filters for HTML injection.

### [3.31.4] - 2024-06-05
#### [Removed]
- Removed code from WP theme file to remove canonical redirects. This has been
  moved to the Shortcodes modules, which can handle this more appropriately.

_(Changelog truncated for .md surface. Full history on https://packagento.com/fishpig/magento2-wordpress-integration.)_

## Recent Versions

| Version | Released |
|---|---|
| 3.32.3 | 2026-07-01 |
| 3.32.2 | 2026-06-19 |
| 3.32.1 | 2026-06-08 |
| 3.32.0 | 2026-05-20 |
| 3.31.31 | 2026-04-30 |
| 3.31.30 | 2026-04-29 |
| 3.31.29 | 2026-04-13 |
| 3.31.28 | 2026-04-13 |
| 3.31.27 | 2025-11-24 |
| 3.31.26 | 2025-11-18 |

Showing 10 of 247 versions. Full release history on https://packagento.com/fishpig/magento2-wordpress-integration.

## Dependencies

### Require

| Package | Constraint |
|---|---|
| magento/framework | * |
| magento/module-config | * |
| magento/module-sitemap | ^100.3 |
| magento/module-store | * |
| php | >=7.4 |

### Suggest

| Package | Constraint |
|---|---|
| fishpig/magento2-wordpress-integration-yoastseo | ^3.0 |

## Quality

Latest release (3.32.3) fails the Packagento QA pipeline. Verdicts below are per-cell (Magento line × PHP version) for the matrixed tools, and run-once for the static / security tiers.


### Compatibility

Each Magento line is installed on its supported PHP versions, then the module is built (DI compile + static-content deploy). Cells show passed / failed / untested; staircase gaps render as `–`.

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | Pass | Pass | – | – |
| 2.4.8 | – | Pass | Pass | – |
| 2.4.9 | – | – | Pass | Pass |


### Code Quality

Advisory checks against the module's source. Never affect the Compatibility verdict — a phpcs finding can't make a module incompatible.

#### Static Analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Fail | 753 | 20 errors, 733 warnings (ruleset: Magento2) — 61 auto-fixable with phpcbf |
| PHPMD | Warning | 384 | 384 rule violations (IfStatementAssignment:219, MissingImport:62, UnusedFormalParameter:36, UnusedLocalVariable:23, NPathComplexity:12) |
| Cpd | Pass | 0 |  |
| Composer validate | Info | 5 | valid; 5 advisory notes (composer validate --strict) |

#### PHPStan

Type-checks the module against a real Magento install. Re-runs per Magento + PHP version because resolvable symbols differ between releases.

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | 554 | 554 | – | – |
| 2.4.8 | – | 556 | 556 | – |
| 2.4.9 | – | – | 554 | 554 |


### Tests

Unit and integration suites run per Magento + PHP cell. Test failures speak to the module's behaviour, not its compatibility with a line, so they're reported here separately.

#### Unit Tests

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | – | – |
| 2.4.8 | – | N/A | N/A | – |
| 2.4.9 | – | – | N/A | N/A |

#### Integration Tests

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | – | – |
| 2.4.8 | – | N/A | N/A | – |
| 2.4.9 | – | – | N/A | N/A |


### Security

Dependency-advisory audit (composer audit) plus a source malware scan. A malware detection fails the version outright.

| Tool | Status | Findings | Summary |
|---|---|---|---|
| Composer audit | Pass | 0 |  |
| Malware scan | Pass | 0 |  |

## Licence and pricing

Free. A licence is still minted on checkout and bound to your project for Composer access — no payment step.

Refundable within 14 days of first purchase via https://packagento.com/account/refunds/.

## Install via Claude Code or any MCP client

The Packagento MCP server can run the licence + project + Composer steps above in one tool call:

```
purchase_and_install_packages(
  composer_names=["fishpig/magento2-wordpress-integration"],
  project_id="proj_xxx"
)
```

This handles cart, checkout, licence minting, project activation, and writes auth.json credentials. Connect a client with `claude mcp add packagento https://mcp.packagento.com`. Full setup at https://packagento.com/docs/mcp-setup.

## Vendor

fishpig is a Magento 2 vendor on Packagento. See https://packagento.com/fishpig.md for their full catalogue.

