How to optimize and speed up your WordPress site

Hello! What a topic : how speed up your WordPress site. There are so many elements and factors that contribute to site speed, it is my intention to cover each area that contributes or affects overall site speed, specifically with a WordPress site. Being the most popular CMS in the world means that all sorts of people are using WordPress for all sorts of reasons. Having a fast performing site has been proven to improve things like overall sales with e-commerce as well as bounce rates with end-users visiting your site. People tend to not have patience to wait around for websites to load these days, and Google has recognized that and will prioritize sites organically that render faster than others. This is a tricky endeavour because some of the issues that may be contributing to underlying slowness may be pointing you in the wrong direction in terms of a […]

How to transition your Toronto business online

Hello! Without a doubt, the covid-19 pandemic has caused a massive disruption to the global economy including a fundamental shift to how small, medium and large enterprise businesses can conduct their day-to-day operations. The impact of social distancing and other quarantine strategies as dictated by the various health regulatory bodies have had a staggering impact on brick-and-mortar businesses without a doubt. This shift, albeit temporary or more longer term, has put an onus of importance on establishing or improving an online presence. Many grocery stores, butchers and other essential retail businesses have transitioned to an online e-commerce ordering system to accommodate the ability to delivery grocery and goods to their customers. Having an online business can be the deciding factor as to whether you can actually continue operating as a business. Your front doors to your showroom may be closed, but your customers still will be able to browse and […]

What is good web design?

Hello! Trends in web design have come and gone over the years, however there have been some recurring indicators that have manifested as good web design in different iterations as styles change, web development technologies change and the internet changes. CSS, HTML and Javascript frameworks have all come a long way in terms of front end development and the tools that the different technologies bring to the table that allow us to implement modern, interesting, artistic, clean and beautiful websites. But what makes good design? That’s the million dollar question! At Shift8, we have offered web design in Toronto for hundreds and hundreds of businesses across all niche markets. Each marketplace or industry has their own unique challenges, however there are common elements and expectations that we have noted happens for the most part across almost all of our projects. I will attempt to break down these challenges in order […]

Free CDN for your WordPress site

  Install our Free WordPress CDN plugin by Register on our CDN dashboard and then install our wordpress pluginHello! Site speed has, for quite a while now, been a significant factor towards expectation of user experience as well as for things like organic Google ranking. When a website is slow to load, the end user is more likely to abandon the effort and Google is more likely to rank that site lower in the organic rankings. There is an entire industry (arguably overlapping niche market industries) dedicated to alleviating this problem among websites. For websites that are hopeful of being accessible across a more globalized marketplace, their website must be fast to any end user around the world. What is a content delivery network Like the name suggests, a content delivery network delivers the content from your site from a server that is geographically closer to the user who is […]

How to block your WordPress site from being scanned by WPScan with Nginx

Hello! First and foremost, why would you want to block WPScan from probing your site? Well we all know that security through obscurity is a bad practice. That said the risks of malicious activity on your site is undoubtedly heightened through many points of information disclosure that is freely available to parse and organize to make an accurate security risk assessment of your WordPress site. This type of information is easily attainable through automated scanners like WPScan. Tools like this scan for version tags in readme files, file size fingerprints and meta tags to determine not only the version of WordPress you are running but the version of each of the plugins you have installed. Why is information disclosure bad? Some would argue its not bad. Others would also point out that a 0-day WordPress core or plugin vulnerability could mean that minutes and hours of circumvention or lowered risk […]

How to protect WordPress media files and only allow the users who uploaded them to view

Hello! In the past we have written about how to protect your WordPress media files. In the past exercises we utilized a strategy to set a session cookie with encrypted details that can be read and validated at the http service (i.e. nginx) as well as application (php/wordpress) level. Since then we have refined this process to be much more secure, flexible and efficient. We have abandoned the cookie validation process for verifying the request before serving it and replaced it with a slightly more complicated but much more secure method. First before getting into the details, why would we want to protect WordPress media files? Well the answer depends on what sort of site you have and what you are trying to do, obviously. In our scenario, which isn’t necessarily unique, we have end-users that register for an account in order to check out of a Woocommerce store. We […]

WordPress plugin to get geolocation coordinates from a visitors IP address

Hello! We recently had a requirement from a client to generate content on a page specifically based on the geolocation coordinates of the visitor’s IP address. Now this sort of mechanism isn’t totally new, however we decided to develop a WordPress plugin called Shift8 GeoIP that would obtain this information and set it into an encrypted cookie. The reason why we wanted a plugin to set your coordinates in a cookie was because the mechanism to obtain the geolocation coordinates would never need to change. We could then develop the custom content generation (i.e. finding a “store” nearest to your location) could be done directly in the WordPress theme for the particular page in question. Furthermore, we decided to ensure that the cookie data was encrypted using OpenSSL in PHP to ensure that this geolocation data could not be obtained by third parties by simply reading the cookie data. Below […]

How to push your WordPress site with a simple bash shell script and integrate it with Jenkins

Hello! Previously we gave an overview of our new WordPress plugin to integrate your Jenkins build process within the WordPress administration area. The previous post gave an overview of how to set up Jenkins as well as how to set up the WordPress plugin. Where we stopped short is actually integrating the build script within Jenkins that the WordPress plugin triggers! Why you need a build script for Jenkins to trigger when pushing WordPress from staging to production The answer to this question may be obvious to some, but not all. The use cases may vary from scenario to scenario, but the ideal solution is to implement a solution that cleanly copies all files as well as the database from your staging or development environment over to your production or live environment. Where it gets slightly complicated is things like your site URL may change as well as your database […]

How to integrate Chart.js into WordPress Woocommerce to show charts and graphs of your products

Hello! One of the nice things about Woocommerce is that it is very easily customized. Actions can be removed and re-added in order to adjust the default behavior. Additionally you can override many of the default templates that come with Woocommerce and its many extensions to fine tune and adjust the way you want your e-commerce to behave. Whether you are selling t-shirts or auto parts, sometimes its nice to have a clean visual representation of the statistics of each of your products. This will allow the customer to easily attain the pertinent information that they may be looking for, perhaps even assisting in leading them into an online sale. One of the best javascript libraries out there for “charting” is Chart.js. It is very simple yet extremely flexible for plotting and drawing visual representations of data. Things like chart colors, borders and a responsive layout are all things that […]

Read and auto populate fields in WordPress Gravity forms with jQuery

Hello! When designing and implementing Gravity forms there may be occasions where you would want to auto populate multiple fields based on a preceding field selection. This was the case in our scenario where we wanted to populate the selection of a drop-down box based on a Google Map location field within Gravity Forms on WordPress. What we wanted was for the person to enter their location in a Google Map location field (within gravity forms) and based on that selection, read the respective City within that location and based on that selection, populate a drop-down box. Gravity forms already possesses the ability to implement conditional logic, however it largely is designed for the purpose of revealing/hiding/activating input elements based on preceding choices. We need to actually inject an input selection I’ll try to walk through the process to implementing this type of logic specifically with Gravity Forms. Get the […]