We are updating our site. If you find a bug hit us on our discord channel chat with us

# VueFront for WordPress

WordPress is powering half of the CMS website worldwide. It is an amazing CMS praised for its simplicity and extensibility.

VueFront is perfect for WordPress. All of the blog features are available from the default WordPress installation. For E-commerce functionality, VueFront relies on WooCommerce plugin.

# WordPress CMS Connect App

The WordPress CMS Connect App is a WordPress plugin that fully implements the VueFront QraphQL Data Schema

For E-commerce support, you will simply need to have WooCommerce WordPress Plugin preinstalled and activated.

# How to install VueFront for WordPress

# Step 1: CMS Connect App

  1. The quickest way to install is via WordPress Plugin Directory or manually Download the compiled plugin and upload it through the 'Plugins > Add New' menu in WordPress
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Visit plugin's settings to get the CMS Connect URL

# Step 2: Build & Deploy Web App

Once you have installed the plugin and obtained the CMS Connect URL, you can now proceed to step 2 of installing the VueFront Web App on your local computer.

# Deploy VueFront Web App to hosting (static website)

  1. Install the VueFront CMS Connect App.
  2. Log in or register an account with VueFront.com
  3. Build your first Web App
  4. Activate the new Frontend Web App (only avalible for Apache servers)

For Nginx you need to add this code to your nginx.config file right after the index directive

location ~ ^((?!image|.php|admin|catalog|\/img\/.*\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\/|modules\/|js\/|\/vuefront\/).)*$ {
   try_files /vuefront/$uri /vuefront/$uri "/vuefront${uri}index.html" /vuefront$uri.html /vuefront/200.html;
}

# via ftp manually

  1. Install the VueFront CMS Connect App from this repo.
  2. Log in or register an account with VueFront.com
  3. Copy the CMS Connect URL
  4. Via Ftp create a new folder vuefront in the root of your WordPress site on your hosting.
  5. Via command line build your VueFront Web App (read more)
yarn create vuefront-app
# When promote, provide the CMS Connect URL, which you coppied at step 3.
yarn generate
  1. Copy all files from folder dist to the newly created vuefront folder
  2. modify you .htaccess file by adding after RewriteBase rule the following rules:
# VueFront scripts, styles and images
RewriteCond %{REQUEST_URI} .*(_nuxt)
RewriteCond %{REQUEST_URI} !.*/vuefront/_nuxt
RewriteRule ^([^?]*) vuefront/$1
# VueFront sw.js
RewriteCond %{REQUEST_URI} .*(sw.js)
RewriteCond %{REQUEST_URI} !.*/vuefront/sw.js
RewriteRule ^([^?]*) vuefront/$1
# VueFront favicon.ico
RewriteCond %{REQUEST_URI} .*(favicon.ico)
RewriteCond %{REQUEST_URI} !.*/vuefront/favicon.ico
RewriteRule ^([^?]*) vuefront/$1
# VueFront pages
# VueFront home page
RewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\/img\/.*\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\/|modules\/|js\/|\/vuefront\/)
RewriteCond %{QUERY_STRING} !.*(rest_route)
RewriteCond %{DOCUMENT_ROOT}".$document_path."vuefront/index.html -f
RewriteRule ^$ vuefront/index.html [L]
RewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\/img\/.*\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\/|modules\/|js\/|\/vuefront\/)
RewriteCond %{QUERY_STRING} !.*(rest_route)
RewriteCond %{DOCUMENT_ROOT}".$document_path."vuefront/index.html !-f
RewriteRule ^$ vuefront/200.html [L]
# VueFront page if exists html file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\/img\/.*\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\/|modules\/|js\/|\/vuefront\/)
RewriteCond %{QUERY_STRING} !.*(rest_route)
RewriteCond %{DOCUMENT_ROOT}".$document_path."vuefront/$1.html -f
RewriteRule ^([^?]*) vuefront/$1.html [L,QSA]
# VueFront page if not exists html file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\/img\/.*\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\/|modules\/|js\/|\/vuefront\/)
RewriteCond %{QUERY_STRING} !.*(rest_route)
RewriteCond %{DOCUMENT_ROOT}".$document_path."vuefront/$1.html !-f
RewriteRule ^([^?]*) vuefront/200.html [L,QSA]

For Nginx you need to add this code to your nginx.config file right after the index rule

location ~ ^((?!image|.php|admin|catalog|\/img\/.*\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\/|modules\/|js\/|\/vuefront\/).)*$ {
   try_files /vuefront/$uri /vuefront/$uri "/vuefront${uri}index.html" /vuefront$uri.html /vuefront/200.html;
}