Tag Archives: html

Things that can be cached in WordPress Cache

WordPress Cache What can be Cached and How We Do it

Caching is one of technologies which can contribute to site speed. Besides, caching will enable your stored data to be available for future requests. Some web developers might be familiar with it, some might not. But, if you haven’t been familiar with caching, you can learn more about it in this article. This article will explain what WordPress cache is and how it can be implemented on many different levels.

What is Caching?
In computing, the word “cache” is quite familiar. It refers to software or hardware component which is temporarily used to store values and retrieve them faster in the future. Values include MySQL queries, or compiled PHP bytecode as well as duplicate data, such as HTML and images.

In fact, we can gain a significant performance advantage by making copies of data and placing them in the “caching” component. This is because your visitors can retrieve cached content much faster than un-cached. Besides, your performance improvement can enhance depends on how much data that you can cache.

Things that can be cached
There are several levels, depending on how far you want to go in optimizing your website using caching. Here they are:

  • HTML Output
    You can find many plugins that can help you cache the HTML page itself. For instance, you can use WP Rocket and W3 Total Cache that can perform cache and many more. These plugins cache the result of the HTML output saving time for future requests. In fact, you can serve uncached content for every plugin have a cache invalidation mechanism.
    You can also try to “minify” HTML to make it smaller. This will add up a couple of kilobytes per page and keep increasing over time.
  • PHP OpCache
    A technique which PHP takes the source PHP files and compiles them into an intermediary form called bytecode is named OpCaching. Bytecode is like a computer’s machine code, but it refers to machine code that is executed by a “virtual machine” rather than by a real one. Fortunately, it can be executed quicker than having the PHP interpreter parse a command at a time since it is machine code and resides in memory.
    At a certain level, caching stores these bytecode data into memory, this causes your application gets executed faster. Besides, in order to have PHP OpCache enabled, you need to have access to the PHP configuration file.
  • PHP Object Cache
    This cache is done on the language’s OOP level. It uses the concept of “objects” to describe logic, data, and ideas. Objects are constantly being created and destroyed as your application runs. This technique solves the problem by caching the objects themselves.
    You can find PHP object cache in Memcached and the assorted ones for Redis. However, in order to enable PHP Object caching, you need to have access PHP configuration.
  • MySQL Query Caching
    The idea might be the same with PHP object cache, unless it is applied at a database level. A set of data are returned by the database based on the query that was entered. In fact, someone can get data much faster if someone has called the same data first. This is because they would reside cached in memory. But, you need to have access to the database server.

What is Minification?

css minification

Web browsers aren’t concerned about the readability of code, when it comes to generating a page or running a script. In order for the file to be executed, minification strips a code file of all data that isn’t required. With minified files, you don’t need to be decompressed before they can be read, modified or executed. This is so much different from traditional compression techniques. If you are a web developer or web designer, you may need to know further information about CSS minification.

After the code for a web application is written, and before the application is deployed, minification is performed. Minification can result in faster response times and lower bandwidth costs, as it sends the minified version instead of the full version. Nowadays, minification can be widely used in many websites ranging from small personal blogs to multi-million user services.

Minification Techniques and Tools

Minify is one of the more comprehensive minification tools. Minify handles minification, caching, and compression of CSS, HTML and JavaScript files. Minify also offers integration with popular web applications and frameworks including WordPress and the Zend Framework.

HTML minification

If you are looking for performance improvements to websites, you can find the PageSpeed Insights Chrome extension in Google. PageSpeed Insights provides a “Minify HTML” rule which generates a minified version of the open website.

CSS minification

Several online tools provide instant CSS minification, since CSS is less likely to change frequently. To get a quick and simple way to minify CSS, Refresh-SF uses multiple tools to minify CSS, HTML and JavaScript.

JavaScript minification

To create a more efficient copy of any JavaScript file, you can use Google’s JavaScript optimization tool, the Closure Compiler. Usually, a developer will use the Closure Compiler to minify the code and make change to a JavaScript file. For a user’s web browser, they can access the new file in the web server.

Example of Minification

The following code block shows an example of plain HTML and CSS:

<html>
       <head>
               <style>
                 #myContent { font-family: Arial }
                #myContent { font-size: 90% }
</style>
</head>

        <body>

                 <!– start myContent –>
                       <div id=”myContent”>
                       <p>Hello world!</p>
                       </div>
                 <!– end myContent –>

        </body>
</html>

Here are the same codes after minification:

<html><head><style>#myContent{font-family:Arial;font-size:90%}</style></head><body><div id=”myContent”><p>Hello world!</p></div></body></html>

Benefits of Minification

  1. As less unnecessary data needs to be downloaded, users can load content faster. Users experience identical service without the additional overhead.
  2. Lower bandwidth costs as less data is transmitted over the network. Developers no longer send the extra content that users don’t care about.
  3. Lower resource usage since less data needs to be processed for each request. The minified content need to be generated once, but can be used for an unlimited number of requests.

The Easiest Ways to Generate API Documentation

the-easiest-ways-to-generate-api-documentation

As a developer whether you are a web developer or app developer, you may be familiar enough with API documentation. API documentation is an important part of the product offering affordances to the developer community to help them understand exactly what an API offers and how to use it. Below are several hints that you can use to create API documentation easily:

What API Documentation Should Contain

You can create your own API Documentation as you like, since there are no standards on what API documentation should encompass. The important thing is makes it easy for them to understand an API is a good starting point. However, you can follow the list below from established providers in the API economy:

  • A list of the resources with an explanation of the purpose of each in the context of the product or service being offered via the API;
  • Examples of API calls in a variety of languages and tools (cURL, Postman Collections, etc.);
  • Do something meaningful in the context of the product or service the API offers, guides that detail the workflows implicit in using the API i.e. the sequence of API calls. For example, Dwolla offers several guides on how to send or receive money, with branches into different contexts throughout that explain the different aspects of their product offering;
  • An overview of the design principles adopted by the API provider and what that means for aspects adherence to REST (especially hypermedia), HTTP codes, etc.;
  • Information on authentication, including schemes that may be implemented such as OAuth or OpenID Connect;
  • General information on error handling with information on the HTTP return codes that will be returned;
  • User-specific contexts that help developers get to grips with the subject matter more easily. For example, Stripe automatically tailors their API documentation with your API key and secret (when you are logged in) so any code samples are immediately ready to use;
  • An interactive API explorer that allows the developer to readily bring all this information to life.

Interactive Explorers

It is a common thing to have an Interactive Explorers in API specification formats generated from the specification document itself, creating a means for consumers to both learn about and test API calls at the same time. With the help of interactive explorer in understanding a provider’s API, publishing API will be easier. The options are therefore largely dictated by the choice of API specification format, for example:

  • The OpenAPI Specification (aka Swagger) offers Swagger UI, which allows you to generate an interactive explorer with virtually no coding (depending on the completeness of your Swagger specification);
  • Apiary offers an explorer that is generated from API Blueprint and Swagger specifications. It mixes the features of an interactive explorer with a documentation suite as it renders the Markdown documentation in API Blueprint side-by-side with an interactive tool for making sample API calls;
  • Finally, an open-source explorer is offered for the RAML specification format that implements many of the same features as Swagger UI and Apiary.

By using these tools, we hope you can create an easy-to –use reference point for their developer community. However, static documentation may be required to accompany an interactive explorer, if the subject matter of the API is complex or requires high-level explanation not necessarily associated with a resource.