diff --git a/.distignore b/.distignore
index 82d85d3..842265e 100644
--- a/.distignore
+++ b/.distignore
@@ -2,6 +2,7 @@
 /.github
 /assets
 /bin
+/dist
 /node_modules
 /tests
 /vendor
diff --git a/.gitattributes b/.gitattributes
index 6175cda..43289df 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -11,6 +11,7 @@
 /composer.json      export-ignore
 /composer.lock      export-ignore
 /CONTRIBUTING.md    export-ignore
+/dist               export-ignore
 /package.json       export-ignore
 /package-lock.json  export-ignore
 /phpcs.xml          export-ignore
diff --git a/.github/workflows/wordpress-plugin-check.yml b/.github/workflows/wordpress-plugin-check.yml
new file mode 100644
index 0000000..adc71fb
--- /dev/null
+++ b/.github/workflows/wordpress-plugin-check.yml
@@ -0,0 +1,23 @@
+name: Plugin check
+on:
+  push:
+    branches: [ 'stable', 'release/*' ]
+  pull_request:
+    branches: [ 'stable' ]
+jobs:
+  check:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Package plugin
+        run: |
+          mkdir -p ./dist
+          tail -n +7 README.md > README.md.tmp && mv README.md.tmp README.md
+          rsync -rc --exclude-from=.distignore ./ ./dist/stklcode-liveticker --delete --delete-excluded
+
+      - name: Check WP plugin
+        uses: wordpress/plugin-check-action@v1
+        with:
+          build-dir: ./dist/stklcode-liveticker