According to the statement made by Google on July 1, 2019, mobile-first indexing has been implemented. (You can access related content here) While investing in tools that measure the experiences / performance of websites, Google occasionally warned website owners to make some changes. As of July 1, 2019, Google has definitely announced that it will use mobile-first server resources for indexing. Thus, we see that a website that does not consider mobile experience is unacceptable.

Content has been produced on the 6Harf blog for 5.5 years. In our article titled Mobile Revolution Gümbür Gümbür, which we published on August 11, 2018, we mentioned that mobile usage rates are around 65%. We have given this data inferred from our own sites that have been producing content for many years and have more than 500 thousand visitors per month. Today, these numbers have exceeded 75% on the same sites.

Why Is Speed So Important?

In terms of your visitors

All visitors are visiting your website for a purpose. Each visitor gives you clues about the page they came from and why they came from, and why they left that page actually gives information about what is missing and what is wrong.

If the visitor experiences a speed-related problem during the experience of your site during their visit, they leave your site without taking any action. This means that your potential customers, your readers, leave you without taking the actions you want on your page.

Imagine you opened a shop. You sell bags. The customer who visits your shop asks the sales staff at the shop, and the salesperson, who is dealing with another customer at that time, keeps the customer waiting, and the customer leaves the shop.

The situation that happens on your websites all day is the same as above and you are not aware of it. Aside from your lost turnover, you will see if nobody comes to your store after a while. The logic is exactly the same.

Google Terms

One of the most common mistakes we make while trying to understand Google is-I think- forgetting that Google is also a website. Google, too, seeks to please its visitors. If you do not satisfy the visitor sent to you by Google, it no longer sends you visitors.

Even if you take great care of the beauty of your site, the support you provide, your payment options, etc., speed can ruin you - if you don't take it into account.

Speed Should Be Considered From The Beginning Of The Project

The technologies used and the configurations that are made while your website or software project is being implemented should be planned. Each stage, each technology used should be considered in its own way. Otherwise, it is often very painful and difficult to save on speed over finished projects.

Why is the Speed Problem?

Server-Oriented Speed Problems

Servers are virtual or physical computers that have their own characteristics, like your personal computers. If the resource planning for your project is not done correctly, a slow server will respond slowly, just as a slow computer will run slowly.

With Cloud technologies, we are eliminating resource insufficiency by activating more than one computer instantly, without any resource problems. So, with the right configuration, your servers will never be inadequate.

Speed Problems Caused by the Database Server

Databases are structures in which we store information and request that information from them when necessary.

Relational Databases (SQL, MySQL)

As the size of the information we store grows, it takes longer to obtain the information we want from the current stack. This starts to require a lot of resources, especially if we are looking for something from information that is not regularly recorded. Optimization recommendations for relational databases are as follows:

  • Optimizing, optimizing database tables
  • Reducing relational queries
  • Adjusting the indexing settings

NoSQL Databases

Unlike relational databases, NoSQL databases attach the relevant information of information to each other instead of keeping them in separate tables.

For example, the information kept in two separate tables as brands and models in MySQL for cars is kept in a field named brand in Cars in NoSQL structures. Thus, when accessing cars, information is obtained from a single location, and search functions run much faster.

Speed Problems Caused by Applied Software Techniques

The language you use doesn't matter if you're not working with very, very large resources. The methods used are as important as the first day. If you are extracting information from relational databases, working with relational queries (extracting data from multiple tables at the same time) and these queries are not retrieved from the cache, wow!

Data Caching

For example: Let's look at what needs to be taken from the database every time in a system that uses a relational database to load a simple blog post page:

 

  • Content (If any, likes etc.)
  • Category
  • Writer
  • Comments (Likes, if any)
  • Other related blogs

 

As you can see, even when reading a simple blog post, data should be taken from at least 5 tables. This is repeated every time the blog page is opened. With caching systems, we can store these 5 data together as a document. Thus, the relevant blog post is always shown from this document, except for the first opening. Thus, the system stops receiving data from 5 tables.

Output Caching (Response)

In this caching type, the responses to the requests made are cached. For example:

For the blog post page above, data was taken from 5 different tables, stored as a document in the cache system, and a page image was created. This image is sent from the server to your browser as codes, and your browser converts these codes into images.

This sent code response is recorded in relation to the request made. Thus, whenever a request is received, steps such as getting information from the database in between, writing to the data cache, creating code / response are skipped and sent directly to the browser as a ready-made code / response.

Sample request:
https://6harf.com/dijital-varlik-ve-guven-iliskisi/ in bold left shows the request you made to the server via the browser. The server saves the page it shows you as a result of this request under the name of digital-asset-and-trust-relationship. In subsequent requests, he sends you the answer he recorded as digital-asset-and-trust-relationship as rebuilding that page.

Speed Problems Due to Data Transfer

I can define it as problems arising from the communication between all these technologies. Although they work in fast structures within themselves, the more communication between the discrete structures, the slower it starts to work.

For example: When you visit https://6harf.com/dijital-varlik-ve-guven-iliskisi/, a connection protocol is initiated between the 6harf server and your browser. Thus, data flows from the 6harf server to your browser. The fewer these links, the faster the site opens. If every picture you see, every icon is loaded one by one, the connection performance decreases.

To avoid such situations, browsers have developed their own caching rules. After you open a site, most of the downloaded files will be presented to you from the ones stored on your computer instead of being downloaded again the next time you visit the page. The number of connections decreases, the browsing performance increases.

HTML Driven Speed Problems

Speed problems caused by html are often related to bloating memory. The higher the number of elements on a page, the more RAM the browser demands from the visitor's memory, and if this is insufficient at some point, it will crash during the page visit, etc. occurs.

In order to avoid such situations, concepts such as virtual dom / re-usability have emerged. For more detailed information, you can search related concepts on Google.

CSS Driven Speed Problems

Loading CSS Files (loading)

The smaller you keep your CSS files, the faster your site will load. Thus, the image of your page starts to be created in less time. (rendering)

Processing of CSS Files (rendering)

This problem usually arises from unused CSS codes or CSS codes that are coded without regard to re-usability.

For example: you wrote a code to make the elements oval. Woe to you if you do not write this in a way that intersects with the related elements, but write the same code for each element separately!

Javascript Originated Speed Problems

Loading JS Files (loading)

The smaller you keep your JS files, the faster your site loads and the executing process begins as soon as possible.

Executing JS Files

After all the files on your page, all the css and all the JSs are loaded, the execution of the JS files we call executing begins. At this point, how long it takes for the codes you write in JS files should be examined. It is necessary to stay away from functions such as ajax, intervals etc. that delay the loading of the page.

These are generally the factors related to site / web software speed. Normally, each item has a lot more detail in its vertical. At least this length can be written for each. I tried to explain their basic logic.

See you in the next article!