Title: Signed Posts
Author: Marc Armengou
Published: <strong>04.10.2025</strong>
Last modified: 07.03.2026

---

Поиск плагинов

![](https://ps.w.org/signed-posts/assets/icon-256x256.png?rev=3375882)

# Signed Posts

 Автор: [Marc Armengou](https://profiles.wordpress.org/marc4/)

[Скачать](https://downloads.wordpress.org/plugin/signed-posts.0.5.zip)

 * [Детали](https://ru.wordpress.org/plugins/signed-posts/#description)
 * [Отзывы](https://ru.wordpress.org/plugins/signed-posts/#reviews)
 *  [Установка](https://ru.wordpress.org/plugins/signed-posts/#installation)
 * [Разработка](https://ru.wordpress.org/plugins/signed-posts/#developers)

 [Поддержка](https://wordpress.org/support/plugin/signed-posts/)

## Описание

Signed Posts allows authors to sign posts, assuring content integrity. Signature
verification proves post-signing alteration hasn’t occurred.

**Features:**

 * **In-browser verification:** The signature verification is done on the client
   side (in the visitor’s browser).
 * **Methods:** OpenPGP (ASCII-armored detached signature) and DID (did:key, did:
   web) using Ed25519 detached JWS (b64=false).
 * **Source of trust:** For OpenPGP, the author specifies the URL of their public
   key in their profile. For DID, the author sets their DID (did:key or did:web).
   For did:web, the plugin fetches `https://<host>/.well-known/did.json`.
 * **Status block:** An informative block is automatically added to the end of each
   signed article, showing the verification status (valid, invalid, or error).
 * **Author badge:** The author name in posts is enhanced with an icon and KeyID/
   fingerprint text.

### Source Code and Libraries

**OpenPGP.js**
 * **Version:** 6.2.2 * **License:** LGPL-3.0-or-later * **Public
Source Code:** https://github.com/openpgpjs/openpgpjs

**Web Crypto API**
 * Used to verify Ed25519 signatures for DID.

## Установка

 1. Go to **Plugins > Add New Plugin**.
 2. Search for **Signed Posts**.
 3. Install and activate the **Signed Posts** plugin.

## Часто задаваемые вопросы

### How do I get the content of my post to sign it?

Once you’ve finished your post, click the three dots in the top-right corner of 
the Gutenberg editor. When the options menu opens, select «Copy all blocks.» That
is the content you should sign.

### Where can I host my OpenPGP public key?

You can host it on any service that offers direct links and allows CORS (Cross-Origin
Resource Sharing) access.

### What happens if the signature isn’t valid?

The plugin will display a warning message indicating that the signature doesn’t 
match the content or the public key, which can be a sign of content tampering.

### Does the plugin affect my site’s performance?

The impact on the server is minimal, as the verification is performed entirely in
the visitor’s browser. The only additional resource is the download of the public
key, which is usually very small.

### What format should I use to sign with DID?

Use Compact JWS (detached) with `{"alg":"EdDSA","b64":false,"crit":["b64"],"kid":"
<your did#key>"}` and sign the canonicalized post content (same text you would sign
with OpenPGP).

### Where do I set my DID?

In your User Profile, in the «Decentralized Identifiers (DID)» field. For `did:web`,
ensure your `did.json` is hosted at `https://<host>/.well-known/did.json`.

## Отзывы

Нет отзывов об этом плагине.

## Участники и разработчики

«Signed Posts» — проект с открытым исходным кодом. В развитие плагина внесли свой
вклад следующие участники:

Участники

 *   [ Marc Armengou ](https://profiles.wordpress.org/marc4/)

«Signed Posts» переведён на 3 языка. Благодарим [переводчиков](https://translate.wordpress.org/projects/wp-plugins/signed-posts/contributors)
за их работу.

[Перевести «Signed Posts» на ваш язык.](https://translate.wordpress.org/projects/wp-plugins/signed-posts)

### Заинтересованы в разработке?

[Посмотрите код](https://plugins.trac.wordpress.org/browser/signed-posts/), проверьте
[SVN репозиторий](https://plugins.svn.wordpress.org/signed-posts/), или подпишитесь
на [журнал разработки](https://plugins.trac.wordpress.org/log/signed-posts/) по 
[RSS](https://plugins.trac.wordpress.org/log/signed-posts/?limit=100&mode=stop_on_copy&format=rss).

## Журнал изменений

#### [0.5] — 2026-03-07

 * Updated minimum WordPress requirement to 6.9.
 * Updated minimum PHP requirement to 8.2.
 * Activation hook refactored to named function.
 * Replaced deprecated wp_http_validate_url() with wp_is_valid_url().
 * Dashicons enqueued conditionally to avoid redundant loading.
 * Added type hints and return types to all functions (PHP 8.2+).
 * Added PHPDoc blocks to all functions (WordPress-Docs standard).
 * Extracted post signature data to a cached helper function to avoid redundant 
   meta queries.
 * Restored function_exists() guard for delete_post_meta_by_key() in uninstall handler.

#### [0.4] — 2025-10-08

 * DID support added: did:key and did:web with Ed25519 JWS (detached).
 * Method selector per post.
 * DID field in user profile.
 * Uninstall options extended to remove DID and method meta.
 * Maintains full backward compatibility with OpenPGP flow.

#### [0.3] — 2025-10-03

 * Author badge with icon and fingerprint text linked to the verification result.
 * OpenPGP updated to 6.2.2.
 * Some corrections.

#### [0.1] — 2025-09-23

 * First version.

## Мета

 *  Версия **0.5**
 *  Обновление: **3 месяца назад**
 *  Активных установок: **Менее 10**
 *  Версия WordPress ** 6.9 или выше **
 *  Совместим вплоть до: **6.9.4**
 *  Версия PHP ** 8.2 или выше **
 *  Языки
 * [Catalan](https://ca.wordpress.org/plugins/signed-posts/), [English (US)](https://wordpress.org/plugins/signed-posts/),
   [Spanish (Chile)](https://cl.wordpress.org/plugins/signed-posts/) и [Spanish (Spain)](https://es.wordpress.org/plugins/signed-posts/).
 *  [Перевести на ваш язык](https://translate.wordpress.org/projects/wp-plugins/signed-posts)
 * Метки:
 * [did](https://ru.wordpress.org/plugins/tags/did/)[openpgp](https://ru.wordpress.org/plugins/tags/openpgp/)
   [security](https://ru.wordpress.org/plugins/tags/security/)[signature](https://ru.wordpress.org/plugins/tags/signature/)
   [verification](https://ru.wordpress.org/plugins/tags/verification/)
 *  [Дополнительно](https://ru.wordpress.org/plugins/signed-posts/advanced/)

## Оценки

Пока что нет ни одного отзыва.

[Your review](https://wordpress.org/support/plugin/signed-posts/reviews/#new-post)

[Посмотреть всеотзывы](https://wordpress.org/support/plugin/signed-posts/reviews/)

## Участники

 *   [ Marc Armengou ](https://profiles.wordpress.org/marc4/)

## Поддержка

Есть что сказать? Нужна помощь?

 [Перейти в форум поддержки](https://wordpress.org/support/plugin/signed-posts/)