diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 63d682515eaef5034da5ce8b571dd70c4c17a99c..c575547717633bca578a1dd27290db44f5790fa1 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,99 +1,5 @@
-variables:
-  # Configure mysql service (https://hub.docker.com/_/mysql/)
-  MYSQL_DATABASE: wordpress_tests
-  MYSQL_ROOT_PASSWORD: mysql
-  WP_VERSION: latest
-
-cache:
-  paths:
-    - $HOME/.composer
-    - /root/.composer
-
-before_script:
-  # Set up WordPress tests
-  - bash bin/install-wp-tests.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD mysql $WP_VERSION true
-
-  # PHPUnit
-  - |
-    if [[ $(php -v) =~ "PHP 7." ]]; then
-      composer global require "phpunit/phpunit=6.1.*"
-    elif [[ $(php -v) =~ "PHP 5.6" ]]; then
-      composer global require "phpunit/phpunit=5.4.*"
-    else
-      composer global require "phpunit/phpunit=4.8.*"
-    fi
-
-PHPunit:PHP5.3:MySQL:
-  stage: test
-  variables:
-    WP_VERSION: '5.1'
-  image: containers.ethitter.com:443/docker/images/php:5.3
-  services:
-    - mysql:5.6
-  script:
-    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpunit
-
-PHPunit:PHP5.6:MySQL:
-  stage: test
-  image: containers.ethitter.com:443/docker/images/php:5.6
-  services:
-    - mysql:5.6
-  script:
-    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpunit
-
-PHPunit:PHP7.0:MySQL:
-  stage: test
-  image: containers.ethitter.com:443/docker/images/php:7.0
-  services:
-    - mysql:5.6
-  script:
-    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpunit
-
-PHPunit:PHP7.1:MySQL:
-  stage: test
-  image: containers.ethitter.com:443/docker/images/php:7.1
-  services:
-    - mysql:5.6
-  script:
-    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpunit
-
-PHPunit:PHP7.2:MySQL:
-  stage: test
-  image: containers.ethitter.com:443/docker/images/php:7.2
-  services:
-    - mysql:5.6
-  script:
-    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpunit
-
-PHPunit:PHP7.3:MySQL:
-  stage: test
-  image: containers.ethitter.com:443/docker/images/php:7.3
-  services:
-    - mysql:5.6
-  script:
-    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpunit
-
-PHPCS:
-  stage: test
-  image: containers.ethitter.com:443/docker/images/php:7.3
-  before_script:
-    - composer global require automattic/vipwpcs
-    - composer global require phpcompatibility/phpcompatibility-wp
-    - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp
-  script:
-    - phpcs -n
-
-PluginSVN:
-  stage: deploy
-  image: containers.ethitter.com:443/docker/wp-org-plugin-deploy:latest
-  before_script:
-    - curl -o ./bin/deploy.sh https://git-cdn.e15r.co/open-source/wp-org-plugin-deploy/raw/master/scripts/deploy.sh
-    - chmod +x ./bin/deploy.sh
-  script: ./bin/deploy.sh
-  when: on_success
+include:
+  - remote: https://git.ethitter.com/gitlab/ci/wordpress/-/raw/main/plugins/variables.yml
+  - remote: https://git.ethitter.com/gitlab/ci/wordpress/-/raw/main/plugins/cache.yml
+  - remote: https://git.ethitter.com/gitlab/ci/wordpress/-/raw/main/plugins/before-script.yml
+  - remote: https://git.ethitter.com/gitlab/ci/wordpress/-/raw/main/plugins/matrix.yml