Shopify Speed Optimization
May 08, 2024
0
Valeria
Front-end Developer
Here you will find a way to speed up the Shopify website.
To optimize the work of pages, you will need to connect a collector to the project (in our example, this is Gulp).
Create a directory in the root of your project (for example ./src). And further inside ./src create directories for images – /img, for JS files – /js, for style files – /css. Transfer the corresponding files to the appropriate directories.
First, you will need to install all the modules to work through the npm -i command.
npm -i gulp npm -i gulp-babel npm -i gulp-autoprefixer npm -i gulp-babel-minify npm -i gulp-rename npm -i gulp-sass npm -i node-sass npm -i gulp-minify-css npm -i browser-sync npm -i gulp-imagemin
To connect gulp, create a file gulpfile.js.
Next, we connect all the modules and prescribe commands.
`use strict`;
/**
* Connecting modules
*/
const gulp = require('gulp');
const babel = require('gulp-babel');
const autoprefixer = require('gulp-autoprefixer');
const minify = require('gulp-babel-minify');
const rename = require('gulp-rename');
const sass = require('gulp-sass')(require('node-sass'));
const cssMin = require('gulp-minify-css');
const browserSync = require('browser-sync');
const imageMin = require('gulp-imagemin');
const reload = browserSync.reload;
/**
* The paths to the files that we will work with
*/
const srcSCSS = 'src/scss/*.scss';
const srcJS = 'src/js/*.js';
const srcImg = 'src/img/**/*.*';
/**
* Styles task
*/
gulp.task('scss', function () {
return gulp.src('src/scss/*.scss')
.pipe(sass())
.pipe(autoprefixer())
.pipe(cssMin())
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('theme/assets'))
.pipe(reload({
stream: true
}));
});
/**
* JS task
*/
gulp.task('js', function () {
return gulp.src('src/js/*.js')
.pipe(babel({
presets: ["@babel/preset-env"]
}))
.pipe(minify({
mangle: {
keepClassName: true
}
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('theme/assets'))
.pipe(reload({
stream: true
}));
});
/**
* Images task
*/
gulp.task('images', function () {
return gulp.src('src/img/**/*.*')
.pipe(imageMin())
.pipe(gulp.dest('theme/assets'))
.pipe(reload({
stream: true
}));
});
/**
* Watch task
*/
gulp.task(`watch`, () => {
gulp.watch(srcSCSS, gulp.series('scss'));
gulp.watch(srcJS, gulp.series('js'));
gulp.watch(srcImg, gulp.series('images'));
});
/**
* Default task
*/
gulp.task('default, gulp.series('scss', 'js', 'images'));
To run gulp, use the gulp watch and gulp default commands in the terminal.
Also, to improve the site’s performance, double-check all pages and remove duplicate js files and minimize the use of inline styles on the page (it is better to move to ./src/scss).
Thus, you can increase the speed of the pages by 2 or more times.


