<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Andrej Gajdos</title>
    <description>The latest articles on DEV Community by Andrej Gajdos (@andrej_gajdos).</description>
    <link>https://dev.to/andrej_gajdos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F172211%2F362885f2-07a0-473a-bc55-f6d3fe417652.png</url>
      <title>DEV Community: Andrej Gajdos</title>
      <link>https://dev.to/andrej_gajdos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andrej_gajdos"/>
    <language>en</language>
    <item>
      <title>How to Connect Any API to Notion in Minutes</title>
      <dc:creator>Andrej Gajdos</dc:creator>
      <pubDate>Fri, 07 Mar 2025 10:04:09 +0000</pubDate>
      <link>https://dev.to/andrej_gajdos/how-to-connect-any-api-to-notion-in-minutes-3iee</link>
      <guid>https://dev.to/andrej_gajdos/how-to-connect-any-api-to-notion-in-minutes-3iee</guid>
      <description>&lt;p&gt;I used to constantly switch between apps, manually copying data, and drowning in tabs. My Notion setup looked polished on the surface, but behind the scenes? It was a never-ending cycle of copy-paste, update, repeat.&lt;/p&gt;

&lt;p&gt;I knew there had to be a better way.&lt;/p&gt;

&lt;p&gt;It all started with tracking market trends, social media metrics, and API data inside Notion. At first, updating these manually seemed manageable. But as I added more sources—crypto prices, LinkedIn analytics, and stock market data—the cracks started to show.&lt;/p&gt;

&lt;p&gt;I needed a smarter way to pull data into Notion—one that didn’t involve coding, scripting, or setting up complex integrations.&lt;/p&gt;

&lt;p&gt;That’s when I built &lt;a href="https://noteapiconnector.com/" rel="noopener noreferrer"&gt;Note API Connector&lt;/a&gt;, a simple tool that allows anyone to fetch API data into Notion with a few clicks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Note API Connector?
&lt;/h2&gt;

&lt;p&gt;If you’ve ever wished Notion could &lt;strong&gt;update itself with live data&lt;/strong&gt;, that’s exactly what Note API Connector does. It allows you to fetch real-time data from any API and sync it into Notion.&lt;/p&gt;

&lt;p&gt;With Note API Connector, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pull live data&lt;/strong&gt; from apps, analytics tools, or financial services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preview and clean the data&lt;/strong&gt; before importing it into Notion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedule automatic updates&lt;/strong&gt; (hourly, daily, or at custom intervals).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;Getting real-time data into Notion might sound complex, but with Note API Connector, it’s surprisingly simple.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Connect Note API Connector to Notion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Begin by authorizing Note API Connector to access your Notion workspace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qub9jf7vk18r6mnkups.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qub9jf7vk18r6mnkups.gif" alt="Image description" width="1072" height="856"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose the specific Notion pages or databases you want the connector to access. This ensures data syncs to the correct locations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsoye2u60a9pwbqc52r4u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsoye2u60a9pwbqc52r4u.gif" alt="Image description" width="1072" height="856"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a New API Request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Click on &lt;strong&gt;Create request&lt;/strong&gt; within Note API Connector. Select the Notion page or database where you want the data to be imported.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3z84n5txbctpveaxz95.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3z84n5txbctpveaxz95.gif" alt="Image description" width="584" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure API Details: Provide a name for your API request and input the API URL from which you wish to pull data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmojo0avyjcn6exhw236h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmojo0avyjcn6exhw236h.png" alt="Image description" width="800" height="848"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Run&lt;/strong&gt; to fetch data from the specified API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Preview and Import Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before importing, ensure the data aligns with your requirements. Examine the API response to verify it contains the desired data. If necessary, modify the data structure to fit your Notion database schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftea2q5xdf4y417u3gcrr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftea2q5xdf4y417u3gcrr.gif" alt="Image description" width="1062" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Save &amp;amp; Import&lt;/strong&gt; to transfer the data into your Notion database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Automate Data Synchronization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ensure your data remains up-to-date without manual intervention.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3slvpneg72zqz64i35w1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3slvpneg72zqz64i35w1.png" alt="Image description" width="800" height="652"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set Refresh Schedule&lt;/strong&gt;: Define how frequently Note API Connector should refresh the data—options include hourly, daily, or custom intervals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij3ayw4jx50pi2ermmk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij3ayw4jx50pi2ermmk0.png" alt="Image description" width="800" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: Let Notion Work for You
&lt;/h2&gt;

&lt;p&gt;Manually updating Notion with external data is a thing of the past. With Note API Connector, you can &lt;strong&gt;sync real-time data from any API, automate updates, and keep your workspace effortlessly up to date&lt;/strong&gt;—all without writing a single line of code.&lt;/p&gt;

&lt;p&gt;Whether you're tracking crypto prices, business metrics, or social media analytics, this simple automation frees you from tedious copy-pasting and gives you more time to focus on what matters.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Ready to automate Notion?&lt;/strong&gt; Try &lt;a href="https://noteapiconnector.com/" rel="noopener noreferrer"&gt;Note API Connector&lt;/a&gt; today and take your productivity to the next level.&lt;/p&gt;

</description>
      <category>notion</category>
      <category>api</category>
      <category>restapi</category>
      <category>automation</category>
    </item>
    <item>
      <title>5 Best Free WordPress Plugins to Improve Website Performance</title>
      <dc:creator>Andrej Gajdos</dc:creator>
      <pubDate>Fri, 03 Dec 2021 20:51:10 +0000</pubDate>
      <link>https://dev.to/andrej_gajdos/5-best-free-wordpress-plugins-to-improve-website-performance-fnk</link>
      <guid>https://dev.to/andrej_gajdos/5-best-free-wordpress-plugins-to-improve-website-performance-fnk</guid>
      <description>&lt;p&gt;In this blog post, I will show you which free WordPress plugins you should use and how to configure them to significantly improve your WordPress website's performance.&lt;/p&gt;

&lt;p&gt;Web performance is an essential SEO factor, and you shouldn’t underestimate it. Each second your website takes to load can hurt your business and ROI.&lt;/p&gt;

&lt;p&gt;Fortunately, WordPress provides a lot of options and plugins that can help you improve performance without deeper knowledge of software development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best WordPress Plugins for Website Performance
&lt;/h2&gt;

&lt;p&gt;In this article, I am going to introduce 5 plugins that can help you to fix the performance of your website. They work together without any compatibility issues if you configure them correctly.&lt;/p&gt;

&lt;p&gt;I recommend every &lt;a href="https://ivananeckarova.com/en/czech-seo-specialist/?utm_source=Dev.to&amp;amp;utm_medium=Article&amp;amp;utm_campaign=web_performance_plugin" rel="noopener noreferrer"&gt;SEO specialist&lt;/a&gt; to use these plugins in Wordpress websites. Just keep in mind that some plugins or their settings can affect the functionality of your website. Each time you change or install a new plugin it's necessary to test your website if everything works as expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. W3 Total Cache
&lt;/h2&gt;

&lt;p&gt;This plugin is one of the most advanced plugins for website performance optimization and provides plenty of options.&lt;/p&gt;

&lt;p&gt;W3 Total Cache improves performance by caching your sites, improving server performance, and reducing loading time. Be careful if you use another plugin for caching, though – in that case, you should disable or uninstall it. Otherwise, there will be issues when you activate this one&lt;/p&gt;

&lt;h2&gt;
  
  
  How to setup W3 Total Cache
&lt;/h2&gt;

&lt;p&gt;First of all, install the &lt;a href="https://cs.wordpress.org/plugins/w3-total-cache/" rel="noopener noreferrer"&gt;W3 Total Cache&lt;/a&gt; to your WordPress. After you've successfully installed the plugin, find the Performance item in your WordPress settings and choose the item "General Settings".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5r2kwa548w8qdvlsk79k.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5r2kwa548w8qdvlsk79k.PNG" alt="W3 Total Cache - find " width="181" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In General Settings, enable &lt;strong&gt;Page Cache&lt;/strong&gt;. Page Cache creates static cache pages each time a page is loaded so the page is not dynamically loaded. If you are not changing your content daily, then you need this! With enabled caching you can significantly decrease your load time.&lt;/p&gt;

&lt;p&gt;In the Page Cache Method use Disk: Enhanced. This is the same for everyone who uses shared hosting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71r3qbibyi2xr6ebd3oq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71r3qbibyi2xr6ebd3oq.PNG" alt="W3 Total Cache - enable Page Cache." width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minification&lt;/strong&gt; is one of the most fundamental performance optimizations. Minification is a process of minimizing HTML, CSS and JavaScript files by removing any characters which are not necessary from the code (line breaks, extra whitespace, and so on). It will decrease the size of these files and reduce load times.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx04lmwxrqp3zzx29t16v.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx04lmwxrqp3zzx29t16v.PNG" alt="W3 Total Cache - enable Minify." width="800" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use various WordPress plugins for minification. W3 Total Cache provides this option as well. If you use Cloudflare, you can enable minification there instead of using W3 Total Cache.&lt;/p&gt;

&lt;p&gt;Next, you can enable &lt;strong&gt;Object Caching&lt;/strong&gt;. Object Caching means storing database query results. Thus, when you need a result next time, it's served by a cache without the need to repeatedly query the database.&lt;/p&gt;

&lt;p&gt;Object caching helps ease the load on your database and server, and it delivers queries faster.&lt;/p&gt;

&lt;p&gt;The Object Cache Method in the case of shared hosting is Disk. Test your speed before and after you enable Object Cache – in some cases it may slow down your website.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bwa606i3uwyjpmgdicj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bwa606i3uwyjpmgdicj.PNG" alt="W3 Total Cache - enable Object Cache." width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then you can enable &lt;strong&gt;Browser Caching&lt;/strong&gt;. This means that images, HTML, CSS and JS (static assets) are stored in your browser. Browser Caching will load your website faster for your users when they visit your website again.&lt;/p&gt;

&lt;p&gt;In my case, I have not enabled Browser Caching, because I am using the Polylang plugin and there is a &lt;a href="https://wordpress.org/support/topic/w3-polylang-not-working-correctly-from-0-9-7-3/" rel="noopener noreferrer"&gt;compatibility issue&lt;/a&gt;. The &lt;a href="https://wordpress.org/plugins/polylang/" rel="noopener noreferrer"&gt;Polylang plugin&lt;/a&gt; is one of the most popular plugins that allows you to create bilingual or multilingual websites. There is also a customizable language switcher, but switching languages doesn’t work if browser caching is enabled.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaai771m3uom000dksy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaai771m3uom000dksy4.png" alt="W3 Total Cache - enable Browser Cache." width="602" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another important setting in the W3 Total Cache is to enable &lt;strong&gt;Lazy Load Images&lt;/strong&gt; in the User Experience. This means that your page will only show images above the fold and the rest will load when a user scrolls the page.&lt;/p&gt;

&lt;p&gt;This will improve the loading time of your site, decrease the number of HTTP requests during first-page loading, and save data (especially for mobile).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9y4vb14xp89hxwlx4oh.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9y4vb14xp89hxwlx4oh.PNG" alt="IW3 Total Cache - enable Lazy Load Images." width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do not forget to save each setting. These are just some general settings for W3 Total Cache that will really help you with your page speed and loading time.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Speed Booster Pack WordPress Plugin
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://cs.wordpress.org/plugins/speed-booster-pack/" rel="noopener noreferrer"&gt;Speed Booster Pack&lt;/a&gt; has some similar settings to W3 Total Cache but it offers additional features as well.&lt;/p&gt;

&lt;p&gt;In Assets, you have an option to add a &lt;strong&gt;Preload asset&lt;/strong&gt;. This means that a certain resource will fetch sooner than the browser would discover it otherwise because it is important for the current page. In case there are assets you need to preload, you can just add a URL to this asset.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fglr6exrwyyc2djvmj0zg.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fglr6exrwyyc2djvmj0zg.PNG" alt="Speed Booster Pack - add preload assets." width="640" height="421"&gt;&lt;/a&gt;&lt;br&gt;
In the menu item Special, you can enable &lt;strong&gt;Localize Google Analytics &amp;amp; Google Tag Manager&lt;/strong&gt; (GTM). It means that scripts for Google analytics and GTM will be replaced with locally saved scripts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7nzbhi65i771x5v0gdv1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7nzbhi65i771x5v0gdv1.png" alt="Speed Booster Pack - enable Google Analytics and Google Tag Manager." width="602" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Asset CleanUp: Page Speed Booster WordPress Plugin
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://cs.wordpress.org/plugins/wp-asset-clean-up/" rel="noopener noreferrer"&gt;Asset CleanUp&lt;/a&gt; plugin is useful for cutting out or disabling certain CSS and JavaScript files. Most WordPress themes have a lot of CSS and JavaScript files, like various elements, animations, or other effects that you probably won't need or use. But even if you are not using them, they are still loaded for the user.&lt;/p&gt;

&lt;p&gt;If you edit a page, you can find the Asset CleanUP section at the bottom of that page. You can see all CSS and JS files loaded for the page. Then you can choose to disable this specific file and you can disable its loading for the whole website.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foximvc2l5noxacgrlliv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foximvc2l5noxacgrlliv.png" alt="Asset CleanUp - disable CSS and JS files so they don't load." width="602" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Async JavaScript WordPress plugin
&lt;/h2&gt;

&lt;p&gt;If JavaScript files are not loaded asynchronously, load times slow down because JavaScript code is executed while building the DOM.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://cs.wordpress.org/plugins/async-javascript/" rel="noopener noreferrer"&gt;Async JavaScript&lt;/a&gt; plugin allows you to define which JavaScript files should be loaded async or defer.&lt;/p&gt;

&lt;p&gt;Async means the file is downloaded asynchronously in the background and runs when ready. The DOM and other scripts don’t wait for them. Defer means that the file is downloaded also asynchronously but executed only when the DOM is fully built.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to setup the Async JavaScript plugin
&lt;/h2&gt;

&lt;p&gt;First of all, click on Settings and enable &lt;strong&gt;Async JavaScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffe023ipndvnvnk2wos4e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffe023ipndvnvnk2wos4e.PNG" alt="Async JavaScript - enable Async JS." width="800" height="223"&gt;&lt;/a&gt;&lt;br&gt;
The second step is to choose the &lt;strong&gt;Async JS Method&lt;/strong&gt;. Here choose Async first. After enabling async, you need to test your whole website to see if it works correctly. You should also check errors in the Chrome web console.&lt;/p&gt;

&lt;p&gt;If everything works well, you can try to enable &lt;strong&gt;Defer&lt;/strong&gt;. Then, you should test your whole website again and if there are some issues you should revert this setting to async.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzo7paptmebgirudv7j34.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzo7paptmebgirudv7j34.PNG" alt="Async JavaScript - Select Async JS Method." width="800" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Scripts to Defer section, you can choose specific scripts that you want to defer. You should defer only JavaScript files that don’t have any dependencies on each other or other JavaScript code. You should know the purpose of these JavaScript files and where they are used to decide whether you can defer them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8gps04qcchs2dqgtiino.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8gps04qcchs2dqgtiino.PNG" alt="Async JavaScript - Scripts to Defer." width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Allow Webp/AVIF image WordPress Plugin
&lt;/h2&gt;

&lt;p&gt;If you are looking for faster loading images, the &lt;strong&gt;WebP and AVIF formats&lt;/strong&gt; are right for you.&lt;/p&gt;

&lt;p&gt;WebP and AVIF are modern formats that have superior lossless and lossy compression images on the web. These formats are used because they deliver smaller, richer images that make websites faster.&lt;/p&gt;

&lt;p&gt;For example, WebP lossless compression is 26% smaller than PNGs. AVIF has the most optimal compression – even better than WebP. It delivers high-quality images and is up to 10 times smaller than other known formats.&lt;/p&gt;

&lt;p&gt;But keep in mind that WebP is &lt;a href="https://caniuse.com/webp" rel="noopener noreferrer"&gt;not supported&lt;/a&gt; in all web browsers and the AVIF format is &lt;a href="https://caniuse.com/avif" rel="noopener noreferrer"&gt;only supported&lt;/a&gt; in Chrome, Firefox, and Opera. This is not an issue, because nowadays there are ways to define an image in different formats and browsers only load the supported format.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;picture&amp;gt;&lt;br&gt;
   &amp;lt;source srcset="/images/image.avif" type="image/avif"&amp;gt;&lt;br&gt;
   &amp;lt;source srcset="/images/image.webp" type="image/webp"&amp;gt;&lt;br&gt;
   &amp;lt;img src="/images/image.jpg" width="740" height="251" alt="image title" loading="lazy"&amp;gt;&lt;br&gt;
&amp;lt;/picture&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the code above, the browser goes through a set of images and stops at the first supported format. Chrome stops at the first image because it supports AVIF. Edge stops at the second image because it doesn’t support AVIF but it supports WebP.&lt;/p&gt;

&lt;p&gt;Before July 2021, WordPress wasn't supporting Webp images. But now it's possible to add them to your media even without an additional plugin (&lt;a href="https://wordpress.org/support/wordpress-version/version-5-8" rel="noopener noreferrer"&gt;update 5.8&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;It took quite a long time for WordPress to enable this type of format and we already have the AVIF format that's not supported yet. Fortunately, there is a plugin &lt;a href="https://wordpress.org/plugins/mime-types-plus/" rel="noopener noreferrer"&gt;Mime Types Plus&lt;/a&gt; that allows you to add supported MIME types in your media files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, you learned which plugins you can use to improve your website's performance.&lt;/p&gt;

&lt;p&gt;Just remember that it is important to test your website after each setup, as there could be compatibility issues with other plugins. The WordPress platform offers plugins that can completely take care of website performance without additional coding.&lt;/p&gt;

&lt;p&gt;But if your website is running on a different platform than WordPress, then you will need to use other &lt;a href="https://andrejgajdos.com/the-toolkit-of-a-freelance-full-stack-web-developer/?utm_source=Dzone&amp;amp;utm_medium=Article&amp;amp;utm_campaign=web_performance_plugin" rel="noopener noreferrer"&gt;tools for web developers&lt;/a&gt; and you'll probably need to do some coding.&lt;/p&gt;

&lt;p&gt;Do you know other WordPress plugins that are useful for website performance? Let me know, as I would like to know more.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>performance</category>
      <category>tutorial</category>
      <category>seo</category>
    </item>
    <item>
      <title>Orchestrating animations with Framer Motion in React.js [Step By Step Tutorial with Examples]</title>
      <dc:creator>Andrej Gajdos</dc:creator>
      <pubDate>Sun, 12 Jan 2020 21:26:50 +0000</pubDate>
      <link>https://dev.to/andrej_gajdos/orchestrating-animations-with-framer-motion-in-react-js-step-by-step-tutorial-with-examples-fkh</link>
      <guid>https://dev.to/andrej_gajdos/orchestrating-animations-with-framer-motion-in-react-js-step-by-step-tutorial-with-examples-fkh</guid>
      <description>&lt;p&gt;Framer Motion is an open-source motion library, which drives Framer X’s animations and gesture capabilities in React.js projects. If you are familiar with Popmotion, Framer Motion is the successor to the popular Pose animation library. Both libraries provide declarative API, which makes creating and orchestrating animations in React.js projects easy to implement.&lt;/p&gt;

&lt;p&gt;In this tutorial, I want to demonstrate how to orchestrate animations with Framer Motion in React.js projects. We will implement animations in a declarative and imperative way. The output of this tutorial is a layout with sidebar menu, which we will animate with its elements.&lt;/p&gt;

&lt;p&gt;For more &lt;a href="https://andrejgajdos.com/freelance-react-developer-checklist/" rel="noopener noreferrer"&gt;&lt;strong&gt;click here&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Freelance React Developer’s Checklist</title>
      <dc:creator>Andrej Gajdos</dc:creator>
      <pubDate>Sun, 24 Nov 2019 18:39:22 +0000</pubDate>
      <link>https://dev.to/andrej_gajdos/freelance-react-developer-s-checklist-ha7</link>
      <guid>https://dev.to/andrej_gajdos/freelance-react-developer-s-checklist-ha7</guid>
      <description>&lt;p&gt;Whether you are a freelance React developer or you do another kind of freelance work on short term projects, you can recognize similar patterns in your workflow. I found similar patterns in process of building React.js projects. In almost every project, I need to ask for clarification or similar questions in regards to graphic design.&lt;/p&gt;

&lt;p&gt;This checklist is not only for freelance React developers, but it can be helpful for others who work closely with developers, such as project managers or graphic designers. I use this checklist before starting building the project and after agreement with client.&lt;/p&gt;

&lt;p&gt;I have been working remotely for clients worldwide as a freelance React developer. I mainly cooperate with other developers, graphic designers and project managers. Many times, I need to cooperate with people in other timezones. It means, the communication with other participants is crucial and needs to be effective. This checklist can be applicable to building web interfaces in other technologies too, but I have mostly experience with React.js projects.&lt;/p&gt;

&lt;p&gt;Have you ever came across a freelance job like this?&lt;/p&gt;

&lt;p&gt;We are currently looking for a freelance React developer to assist us with an ongoing project. We have mockups of widgets, which we want to add into our React.js project. We’re quite pressed for time at the moment, and we’re hoping to have the build completed by the end of next week…&lt;/p&gt;

&lt;p&gt;Many times freelance developers are hired, because the project is urgent and it doesn’t meet estimated deadline. In this case, effectiveness is one of the most important attributes.&lt;/p&gt;

&lt;p&gt;For more &lt;a href="https://andrejgajdos.com/freelance-react-developer-checklist/" rel="noopener noreferrer"&gt;&lt;strong&gt;click here&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuc2e951xuwvjljj9pvt6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuc2e951xuwvjljj9pvt6.png" alt="Freelance React Developer’s Checklist" width="600" height="1557"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
