Skip to content

Releases: Loubal70/hallie-wordpress-plugin

v0.1.3

Choose a tag to compare

@Loubal70 Loubal70 released this 06 Aug 07:51

The business profile can be picked on a fresh install. The list of profiles was only fetched once the provider was fully configured, which required the very profile the list was there to choose.

v0.1.2

Choose a tag to compare

@Loubal70 Loubal70 released this 04 Aug 13:31
a21f15a

The plugin no longer qualifies the business on the site's behalf.

On a page rendering reviews, two nodes went out sharing one @id — the Organization
declared by the SEO plugin, and a LocalBusiness published by Hallie. In JSON-LD two node
objects sharing an @id are the same node: their properties merge, @type included.
The site was therefore declaring itself a local business without the address Google
expects of one, and without ever having said so.

The emitter had the right answer in hand — it reads the host graph to reuse its @id
and threw the type away to republish a constant.

The type is now resolved in order: what the site states, then what the host graph
already declared, then Organization, the only fallback carrying no obligation the plugin
cannot honour. On a page describing a branch, reviews attach to the establishment rather
than to whichever entity the host listed first.

hallie_schema_business_type now receives null and expects a type only when the site
means to state one. A site already filtering this hook is unaffected — its value still
wins. The nine filters are documented in the README for the first time.

No stars are at stake either way: a business marking up reviews about itself is ineligible
for the review snippet under any Organization subtype, LocalBusiness included. The
markup keeps its value for generative engines, which do not apply that policy.

Also in this release

  • First tests covering the emitters, which had none.
  • HALLIE_VERSION had drifted to 0.1.0 behind a 0.1.1 header — that constant is the
    API User-Agent and the asset cache-buster.
  • .gitattributes was missing from .distignore, which Plugin Check rejected.

Reported by the Claude instance auditing the parent site.

v0.1.1

Choose a tag to compare

@Loubal70 Loubal70 released this 04 Aug 08:32
0eedc35

A Composer install no longer carries what only a contributor needs.

Composer takes the archive GitHub builds with git archive, which reads .gitattributes
and nothing else. .distignore is a wp-cli convention, read when publishing to
WordPress.org, and Composer never sees it — so an install pulled tests, CI configuration,
PHPUnit and PHPCS settings, the React sources and yarn.lock.

81 files and 1040 KB become 56 files and 280 KB: what an install from WordPress.org
receives, plus composer.json, which Composer needs the package to declare itself with.

Nothing about how the plugin behaves has changed.

v0.1.0

Choose a tag to compare

@Loubal70 Loubal70 released this 04 Aug 08:08
fc92d80

First release.

Syncs customer reviews from a Google Business Profile through the Hallie API, and publishes
them with structured data that credits the platform that published each review as
publisher, and the site as sdPublisher.

What it does

  • Stores reviews as a private post type, body and date exactly as published.
  • Lets an editor replace the displayed name and the picture without touching the review.
  • Keeps those customisations across every sync.
  • Attaches the markup to the business entity Yoast or The SEO Framework already declares,
    rather than publishing a competing one.

What it will not do

Put stars in Google search results. A business marking up reviews about itself is
ineligible for that, and no plugin changes it. The markup states provenance to anything
reading the page, which is a different job.

Notes

Author pictures are handled three ways — initials, downloaded to the media library, or
served from Google — and the setting says plainly what each means for your visitors.

Downloads happen in a background pass, so a slow source never holds up a sync. That pass is
a WP-Cron event: a site defining DISABLE_WP_CRON without a real cron should schedule
wp hallie sync, which pulls the reviews and empties the picture queue in one go.

Requires WordPress 7.0.2 and PHP 8.4.