The loading time of a web page is becoming increasingly important. Not only do search engines rank a webpage based on its page speed, but visitors to blogs, shops, or other online services typically leave if the site doesn't load quickly enough. Potential customers are virtually chased away by slow internet pages. These customers are often lost forever. However, this does not have to be the case. The loading process of a PHP website can be accelerated with some effective tools. There are two ways to do this: the website can be accelerated through extensive software optimization, or optimization can also take place on the server side. Read this article to discover the available options for improving your web offering.
The Best Tips for Improving PHP Websites
No matter which system you use, whether it's TYPO3, Magento, WordPress, or another PHP-based Content Management System (CMS), all websites based on PHP, MySQL, JavaScript, HTML5, CSS3, or other common scripting languages can be optimized with simple tools.
Reducing the Size of Website Images
Websites become lively with the addition of images. Therefore, it's no surprise that most websites contain a plethora of them to illustrate content and make it understandable for the user. However, the more image elements a website contains, the longer the loading times will be. Many site operators don’t realize that often only 50 percent of the image size is necessary to maintain sharp image quality. Sizes of 300 kilobytes and above are not uncommon on websites. This is particularly noticeable in elements of a slideshow that take longer to load each individual file cumbersomely. The loading time of the entire online offering often suffers as a result. It is, therefore, essential to pay attention to creating smaller files when editing images. For example, the JPG format can be used for storing images, as this can achieve a high compression rate. It's also possible to compress images 'on the fly', for instance, compression is done when the data is sent from the server to the browser by setting GZIP in the .htaccess file.
Caching Method
In this optimization process, once loaded data is kept in the browser's cache for some time. From there, it's quickly loaded directly upon a subsequent request if no changes to the page have occurred in the meantime. If there are changes, the data is reloaded from the server and kept again in the browser cache. This method reduces the load on the server as well as the loading time of the page.
Database Query Optimization
The lengthy processing of database queries is one of the main causes of long loading times for a webpage. The reason for this may be too complex requests or incorrect or incomplete table indexing. These errors can be easily corrected by SQL rules that rewrite cumbersome queries and correct index settings. It's important if the reason for a slow database query is not entirely clear, to capture all queries that take longer than two seconds and are frequently addressed to the database. PHP is not always optimally configured. Many PHP scripts have optimization potential for websites. Using PHP code, MySQL queries can be set up to be cached. Then they do not need to be executed over and over again. This is simple to implement, for example, with the 'memcache' PHP command. By caching the database in this way, repeatedly performed query processes can be accelerated. Information from repeated database requests is quickly loaded from the cache, provided there are no changes to the data. This reduces the load on the database, which benefits the loading time of the website.
Deactivating PHP Modules
In some cases, too many PHP modules are loaded, which can slow down a server. Often, PHP extensions can be switched off. This can reduce PHP's memory footprint and speed up the website. However, this optimization method is only advisable in cases where the extensions are not needed by the system.
A list of important extensions:
- curl.ini
- suhosin.ini
- mysql.ini
- mysqli.ini
- mcrypt.ini
- xcache.ini
- gd.ini
Source Code Optimization
Improving the source code is one of the most effective and essential tools while also being one of the most time-consuming methods. A well-programmed foundation with few mistakes runs reliably and performs all operations at high speed. Every developer is aware of this, yet many programmers neglect this possibility. It is advantageous during development to create the source code object-oriented or to adapt it in this way. In such a system, other users maintain the ability to improve the code without having to reprogram it from scratch. The common CMSs available on the market have a number of options for customizing the source code:
Load JavaScripts at the End or Asynchronously
JavaScript files or libraries can have a significant impact on loading time in some cases. If possible, they should be loaded at the end. If that's not possible, they should be requested asynchronously or in parallel (with commands like async or defer) at the very least. This ensures that other content is fully loaded first, and then the JavaScript is made available. With asynchronous JavaScript loading, visual objects such as page layouts, styles, texts, and images are loaded first. These account for about 90 to 95 percent of the total visual content on the page. JavaScript is gradually loaded in the background afterward. As a result, the user gets the impression that all content was loaded simultaneously, as the visual elements are immediately displayed.
These methods are particularly useful if you have on your website:
- Google Analytics or similar software that collects, evaluates, and shows you statistics on visitors from all pages.
- a lot of JavaScript integrated into your website.
- various options such as buttons for Facebook, Twitter, LinkedIn, or others - these use JavaScript.
Caching PHP Pages
PHP itself has no cache. Every time scripts are called, the code has to be recompiled. However, there are extensions on the market to counteract this. For example, the APC module (Alternative PHP Cache) adds this functionality. APC is an open-source add-on module for PHP. It enables the accelerated execution of PHP scripts. The compiled PHP code is cached, preventing time-consuming compilation upon repeated execution by making the source code available through the module. APC can be installed easily, and documentation can be found in the PHP Manual.
Correcting Script Errors
An online W3C validator can analyze the source code of a website. It will display and explain in detail all errors that affect the loading time of the system. This method allows you to quickly identify and eliminate obvious errors, helping to speed up the page loading process. Search engines also recognize these errors. After correcting the errors, the website will automatically load faster and rise in the rankings.
Can we help?
You have an exciting project and want to work with us? Contact us now!