Think of a book that you frequently reference every day. To expedite the process, you probably use a sticky or a bookmark.
An object cache is just like a bookmark, but instead of a piece of paper, it is a temporary storage area on a server.
If you have a website with a popular post, the server may have to repeatedly access the same information in your database many times (like rifling through pages to find the right page every single time).
This takes a lot of time and use up a lot of resources.
With an object cache, you can save that information for a certain amount of time so you don’t have to keep looking it up.
What is Memcache, Memcached, and Redis
Memcache (without the letter “d” at the end) is a memory caching system that store data in a particular server’s RAM
Memcached is a distributed memory caching system that store data across multiple servers (i.e. cloud storage). Memcached is often deployed with WordPress
Both memcache and memcached can be used to improved web application performance. Which one you use depends on your hosting provider
Similar to Memcache, Redis stores data in teh server’s memory to handle lots of data requests quickly and efficiently
What are the differences?
Memcache only supports simple key-value data storage and retrieval. On contrast, Redis supports a wider range of data types and advanced features and scripting capabilities.
Memcached is a lightweight caching system that distributes data across multiple servers like Redis.
Memcached and Redis can be used simultaneously in WordPress if the hosting company allows it.
Imagine you’re sending a package. Wouldn’t it be great if you could squish it into a smaller box to save on postage? That’s what GZIP does for your website. It squeezes your web files, so they zip across the internet at lightning speed, reaching your audience faster. This isn’t just about speed; it’s about giving your visitors a smooth, slick experience.
What is Gzip?
Gzip stands for “GNU zip.” (“GNU” stands for “GNU’s Not Unix”; it is a recursive acronym and no one knows the actual abbreviation). Gzip is a file compression program launched in 1983 by Richard Stallman to create a completely free and open-source operating system (“public domain software”).
Gzip is widely used by hosting companies to compress and decompress files in the gzip format. Brotli, a data compression algorithm developed by Google, is an alternative to Gzip. Hosting companies enable Gzip and/or Brotli in their servers. Gzip and Brotli can be turned on at the same time, but the server will use one or the other when transmitting data.
Gzip function turned on by hosting companies are used to compress static web pages, so for dynamically generated websites based on WordPress, Gzip feature has to be turned on within WordPress.
How do I know if Gzip is turned on?
Visit this GiftOfSpeed.com/gzip-test page and type in your website address to see if Gzip is turned on.
Just in keep in mind that although your server can use Brotli in combination with GZIP, that does not mean it will use Brotli+GZIP.
How and which compression algorithm will be used depends on a particular website content being pulled and the server configuration.
For example, your server will deliver the content compressed with Gzip to your CDN (i.e. Cloudflare), but your CDN may choose to deliver the content by first decompressing Gzip and the re-compress using Brotli before sending it over to the user. Or your server may send the content using Gzip as-is.
In most cases, if the client (browser) supports both compression algorithm, brotli will be preferred over gzip.
Please note that both are used to compress text files, not binary files like JPEG, PNG, MP4, or other media files (those are compressed by your CDN using different protocols).
Which method you choose depends on if you are currently using a caching plug in or not.
Plugin
Most WordPress caching plugins give you the ability to enable Gzip compression.
Below is a list of popular WordPress caching plugins that can turn on Gzip:
W3 Total Cache – only if your hosting server is Apache
WP Super Cache
WP Rocket
WP Fastest Cache
You will need to look up their specific instructions to enable Gzip compression.
HTACCESS (Apache or LiteSpeed servers)
If you are already using a caching plugin (I use Litespeed WordPress), you will need to enable Gzip by inserting a small code in the text file called “.htaccess” (the period preceding htaccess denotes the hidden nature of the file).
Step #1a– You need check to make sure that Gzip is supported by your server. To do that, type the following into a notepad
<?php phpinfo(); ?>
Step #1b – Save the file as “test.php” (without the quotes)
Step #2 – Up[load the test.php file (how?)inside the /public-html/wp-content folder of your site:
Step #3 – Open up a browser and type in your website address followed by test.php
https://yourwebsitename.com/test.php
Step #4 – Your website should return something like the following screen. The resulting page is about 3 pages long so press CTRL+F and type in “gzip” to find Gzip.
Step #5 – With that confirmation, we can move on and edit .htaccess file. Before doing anything else, make sure to create a backup copy (cPanel has a COPY function)
Step #6 – Double click on the .htaccess folder (cPanel only) to edit the file. Copy the following code into your .htaccess file and and paste it at the end.
It is important to NOT paste the above in between any dynamically generated codes.
Once complete, go to Pingdom tool to test your site.
HTACCESS (NGINX server)
Although the majority of hosting companies use Apache/LiteSpeed servers, if your hosting company uses NGINIX, you will have to enable Gzip using a different method by adding this code into the nginx.conf file:
Not all files compress well. Images and videos? They’re already compressed. Squeezing them more won’t do much.
Beware of the browser compatibility. Older browsers might not play nice with GZIP. But, let’s face it, they’re like the internet’s dinosaurs.
After you’ve cast your GZIP spell, test your website. Tools like GTmetrix or Google PageSpeed Insights can show you how well your site is performing post-compression.
Conclusion
Enabling GZIP Compression is like giving your website a turbo boost. It’s one of those small changes that can have a big impact on your site’s performance,
Please note: messing with an htaccess file can break your website so make sure to have a backup copy!
Whether you are migrating from an old host to a new one, or splitting a website away from the existing hosting package and assigning it to a new package, there are several things to keep mind.
If you are using WordPress and some type of shared hosting, make sure to disable and uninstall WORDFENCE security plugin as it contains files that will cause problems.
If you use Cloudflare
Your server IP address will change so you will need to update the IP address and server name from your Cloudflare dashboard
If you use Wordfence
There is a good chance that some Wordfence files will continue to point to the old host after the migration. In that case, you most likely will see HTTP 500 Error message, preventing you from accessing the site (a technician will need to manually make adjustments).
To keep it simple, disable to uninstall Wordfence before performing the migration steps
Website Migration Steps
Step #1 – Take a screenshot of the WP Benchmark Tool’s performance results
Step #2 – Disable and uninstall Wordfence plugin
Step #3 – Perform a backup from the WordPress dashboard (old host)
Step #4 – Restore the WordPress backup files (new host)
Step #5 – From your Cloudflare dashboard, click on the DNS link and update the IP Address and Server name
Step #6 – Take a screenshot of the WP Benchmark Tool’s performance results and compare
Step #7 – If you are using a cache plugin (i.e. LiteSpeed), you need to purge all cache
The definition of “best” depends on your unique situation.
There are tons of great sites with lots of good information, I am going to present you with three recommendations so that you do not get caught in the analysis-by-paralysis situation.
Intro
Assuming that you are looking to publish a blog to start making money online, you must first understand few industry jargons:
Shared Hosting
WordPress Hosting
Managed WordPress Hosting
VPS
Cloud Hosting
Shared Hosting
Usually costing around $5-7 per month, this is the most basic form of hosting. Most people who are just starting out choose this option because it is cheap. Not the best option as your website traffic grows (roughly around 5,000 visitors per month) because your account “shares” server resources with hundreds of other similar accounts on the same physical server. That means if there are resource-intensive websites on the same server, your website will most likely suffer slow downs.
Don’t fall for “cloud” share hosting as that means absolutely nothing. Shared hosting is exactly what it says: SHARED RESOURCES.
WordPress Hosting
WordPress hosting is just a re-badged form of shared hosting.
The only difference is that, unlike shared hosting where you can install other CMS applications (i.e. Joomla or Drupal), WordPress hosting comes with WordPress pre-installed for newbies. It has identical performance characteristics as the shared hosting.
Managed WordPress Hosting
Costs around $30-$40 per month, a Managed WordPress Hosting takes one step further (than WordPress Hosting) by providing all updates and maintenance to WordPress core files, WordPress theme, and plugins.
Performance tends to be better than WordPress Hosting because each WordPress sites are in their own silo/container. You are most likely restricted to themes and plugins that are evaluated by the provider.
VPS
Virtual Private Server (VPS) comes in managed and unmanaged versions. Managed VPS runs around $60-80 and Un-managed VPS runs around $20-30 per month.
The benefit of a VPS is that it has dedicated resources for your specific account so you are not impacted by other accounts that may be in your “neighborhood”.
The cost is highly variable, depending on the actual server configuration like the number of CPU cores, memory, and storage space.
Both unmanaged and managed VPS require highly technical skills so I do not recommend this option to any beginners.
Cloud Hosting
Cloud Hosting also comes with managed and unmanaged versions like VPS hosting.
Unlike VPS, where your account is located on a specific server in a data center, a cloud hosting account is provisioned using multiple servers across multiple data centers.
Unmanaged cloud hosting infrastructure provider are Digital Ocean, VULTR, Amazon AWS, Linode, and Google.
Managed cloud hosting companies overlay their user interfaces over these infrastructure providers. Two most well-known managed cloud hosting companies are Rocket.net and Cloudways.
Cost can range anywhere from $30-$100 per month, depending on server configuration.
Which hosting option is best for you
Don’t over think it. As a newbie, you should be focusing on your content foremost.
Moving a WordPress account from one hosting provider to another is not as difficult as it used to be (and some even provide a free service to move your files).
Website traffic is below 3k visitors per month
Choose a simple shared hosting or WordPress hosting service.
NameHero- PLUS CLOUD, $5.18, direct link, not affiliated
Website traffic is between 3k-15k visitors per month
Once your website traffic exceeds 3,000 visitors per month, you want to use a more robust provider for a faster website.
NameHero – TURBO CLOUD, $9.98 (1 year contract), direct link, not affiliated
Website traffic between 15k-40k per month
With this kind of website traffic, you can sign up for an ad-network like Ezoic (10k per month) or Mediavine (50k per month) to generate a “passive income”.
Cloudways – VULTR High Frequency, $26 per month, 2GB Ram, 1 CPU core, 64GB storage, 2TB bandwidth (direct link, not affiliated)
Website traffic above 40k per month
If you are using an ad-network that is not Ezoic, use:
When buying an expired or dropped domain name to either launch a new website or to 301 REDIRECT to an existing website, you first need to determine if a domain name is blacklisted.
Blacklisted domains or domain names that have been tagged as being the source of spam email/content means these sites will never rank with search engines and could negatively impact your existing site.
Therefore, you SHOULD check the name against online databases that track known spam sites:
Spamhaus: A well-known database of known spam operations and malicious sites. You can check a domain by visiting the website: https://www.spamhaus.org/lookup/
URIBL: A database of known spam operations and malicious sites. You can check a domain by visiting the website: http://www.uribl.com/
For a real-time check to see if a site is malicious or not, you can use one of the following online tools:
Google Safe Browsing: This service, provided by Google, checks URLs against a constantly updated list of known malicious sites. You can check a domain by visiting the website: https://transparencyreport.google.com/safe-browsing/search
Norton Safe Web: This service, provided by Norton, checks sites for potential threats and provides a safety rating. You can check a domain by visiting the website: https://safeweb.norton.com/
Unfortunately, there is no single website that tracks 100% of spam and malicious sites so you should check multiple database sources.
In order to access storage devices, Windows Operating System (7, 10, 11) assigns a unique signature to each storage devices
When there is a conflict with drive letter assignments or signature collisions, one or more internal or external drive may be invisible to the operating system
This post will provide you with a detailed step-by-step instructions on how to resolve this issue
Problem
I own two, 1 TB external, portable hard drives made by Western Digital (“My Passport Essential SE”):
WDBACX0010BBL-01: My Passport SE, 5600 RPM, USB3, Blue
WDBACX0010BBL-01: My Passport SE, 5600 RPM, USB3, Silver
When I plugged both drives at the same time using two separate USB cables, Window 10’s FILE MANAGER was only able to see the drive that was plugged in first (in my case, the blue drive).
The second “invisible” (silver) My Passport drive was not even detected in the DISK MANAGEMENT TOOL.
This invisible drive issue can also happen if you clone a drive with a different brand/model.
Only one external hard drive shows when two are connected
Disk offline because it has signature collision with another disk online
windows 10 external hdd signature collision
windows 10 two external hdd cannot access one drive
why can’t I see my second hard drive in Windows 10
Why is only one of my hard drives not showing up?
Possible Causes
There are three primary reasons why one of the drive cannot be seen by the operating system:
Defective drive and/or USB cable
Conflict with drive letter assignments – drives are not visible in FILE MANAGER
Conflict with signatures – drives are not visible in DISK MANAGEMENT TOOL
Disk Management Tool
Windows 7, 10, 11 Disk Management tool (DMT) allows users to manage and organize storage devices by assigning a unique name or ID to them.
DMT offers basic functions such as creating, formatting, deleting partitions as well as offer more advanced capabilities like extending and shrinking partitions.
You can access DMT by right-clicking on the four-pane Windows Start in the system tray and selecting “Disk Management” from the popup menu.
Troubleshooting a defective drive and/or USB cable
Before diving into more complex solutions, we want to verify that both portable storage devices, USB cables, and USB ports are in good working order.
First, simply plug in your external hard drives individually to make sure that each drive can be accessed by the FILE MANAGER.
If your desktop or laptop has three USB ports, try attaching each portable drives to all ports.
Lastly, you should swap the USB cables between two drives when plugging them into your computer.
While viewing the content of your drives in FILE MANAGER, make a note of the drive letters. If you see that both drives have the same drive letter (in my case, drive letter “G” was assigned to both blue and silver drives), we will need to change the drive letter on one drive.
If your drives can be accessed by your computer, you can move on to the next troubleshooting step.
Changing the Drive Letter Assignment
With both external drives plugged in, if your one of your drive is not listed in the DISK MANAGEMENT TOOL, there is a conflict with the driver letter assignment.
As stated previously, I had erroneously assigned the letter “G” to both drives so we need to change the drive letter on one of the external drives:
STEP 1: Plug in one external drive only (in my case, a blue My Passport drive)
STEP 2: From the desktop, right click on the Window icon (bottom left), then click DISK MANAGEMENT
STEP 3: Right click on the external HDD (in my case, Disk 2, Bolt-1-tb), then click on CHANGE DRIVE LETTER AND PATHS
STEP4: Change the drive letter to whatever you want (in my case, drive letter X). You may be prompted with a message “Some programs that rely on drive letters might not run correctly. Do you want to continue?“. Although changing a drive letter does not impact the content, some of your applications that need to re-map to your drive with the new drive letter assignment. Click YES to proceed.
STEP5: Look at the DISK MANAGEMENT dashboard and confirm that the drive letter has been changed from G: to X:
STEP 6:Plug in your second My Passport external HDD (in my case, a silver My Passport)
STEP 7: Your DISK MANAGEMENT should now list this second drive, but the drive is still missing a letter and thus cannot be accessed just yet. If you click on the exclamation with a blue circle, you will see the error message “The disk is offline because it has a signature collision with another disk that is online”
Fixing Signature Collision
Each disk (internal and external) gets a unique “name” (a.k.a. identifier or signature) during the initialization so that Microsoft Windows can differentiate between multiple storage devices.
When two or more devices have the same name, the OS gets confused and only identifies the FIRST DRIVE you plug in and blocks access to subsequent storage drives with the same identifier.
You can use two methods to fix this problem:
Option A – DISKPART
Built-in Microsoft tool
Clean and change the identifier via UNIQUEID command on a target drive
Option B – HEX editor
Change the identifier stored in the 0 sector in the Master Boot Record (MBR)
You can also use DM Disk Editor (DMDE), which is free, to make these changes
I will show you how to fix the “Disk offline because it has signature collision with another disk online” issue using the DISKPART tool.
How to Change the UNIQUE ID
We will need to use a command prompt tool (CMD) to change the UNIQUE ID for the second drive.
Two things to be aware:
(1) You need to be the administrator for your computer (2) Although changing UNIQUE ID should not impact accessing your data, it is always a good idea to perform a backup before making this change.
STEP 1: From the desktop, right click on the Window icon (bottom left), then click COMMAND PROMPT (ADMIN)
STEP 2: Type diskpart then hit the enter key
STEP 3: Typelist disk then hit the enter key
STEP 4: Type select disk 2 the hit the enter key (this step will select my BLUE external drive)
STEP 5: Type uniqueid disk the hit the enter key; the UNIQUE ID for my BLUE drive is 00042ADA
STEP 6: Type select disk 3 then hit the enter key (this step will select my SILVER external drive)
STEP 7: Type uniqueid disk the hit the enter key; ; the UNIQUE ID for my SILVER drive is 00042ADA
STEP 8: Since we confirmed that both BLUE and SILVER drives have the same UNIQUE ID, I will be change the value for the SILVER DRIVE
STEP 9: Type select disk 3 then hit the enter key
STEP 10: Type uniqueid disk id=00042add (this new value has to be in hexidecimal form so the easiest way is the change the last letter to 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E, or F)
STEP 11: Type uniqueid disk the hit the enter key to verify that the new UNIQUE ID is now 00042add
STEP 12: Type online disk to bring up the drive online
Take Aways
Now that both blue and silver external drives have their own unique ID (name or signature), I am able to access both drives at the same time (as shown in the FILE MANAGER screen capture).
Remember that this problem also occurs if you clone a drive.
I hope you found this post to be helpful. If liked the post, please leave a comment below. Thanks!
Google Analytics has been around since 2005 when Google acquired a web analytics company called Urchin.
Urchin Code (circa 2005)
Based on “Urchin on Demand” codebase
August 2006 – implemented “asynchronous tracking” code between <head>tags
Google Analytics (GA2)
April 2011 – Implemented new dashboards, reports, etc.
September 2011 – Launched Real-Time analytics
Google Universal Analytics (GA3) – Version A
October 2012 – New features including cross-platform tracking, flexible tracking data collection from multiple devices, and the introduction of custom dimensions and metrics
Used the ga.js library
ga.js library includes:
The basic tracking functions for a default setup of Google Analytics
Uses multiple functions to send data
The _setAccount function associates the tracking code with your specific Google Analytics account by setting the account number (which is provided to you when you create your account)
The _trackPageview function tracks a pageview on your website (i.e. “hits”).
ga.js is designed to support Google Analytics (i.e. no other Google products)
Google Analytics 360
March 2016 – primarily targeted for enterprise customers; included tag manager, optimize, data studio, etc.
Google Universal Analytics (GA3) -version B
October 2017 – Implemented “Global Site Tag” data collection method (gTag.js) to unify the tagging system
gtag.js code is similar to ga.js code but has a slightly different syntax. Here is an example of the tracking code for Google Analytics using gtag.js:
gtag.js code includes the same basic tracking functions as the ga.js library, but the syntax is slightly different:
A single ‘gtag' function is used to send data to Google Analytics and other Google Products, and the ‘config'command is used to set the account number for your Google Analytics account
ga.js is designed to support multiple Google marketing products (i.e. Google Analytics, Google Ads, Google Tag Manager,, and Google Optimize)
Scheduled to stop collecting data on July 1, 2023
Google Analytics 4 (GA4)
October 2020 – Released GA4
Integrated with Google’s ‘BigQuery”; Tracks “events” instead of “sessions”
The gtag.js similar to the code found in UA (GA3) 2017 version except:
It includes the basic tracking functions for a default setup
The ‘gtag‘ function is used to send data to GA4
The ‘config‘ command is used to set the measurement ID for your GA4 property
The measurement ID is a unique identifier that is provided to you when you create a GA4 property
In addition gtag.js, you will also need to implement event tracking in order to capture user interactions with your website. Here is an example of how you might track a button click event in GA4:
As of January 2023, GA4 is still work-in progress
“gtag.js” used in Google Universal Analytics and Google Analytics G4
gtag.js is a JavaScript library that is used to send data to Google Analytics and other Google marketing and analytics products. There are two main versions of gtag.js:
one that is used for Universal Analytics (the previous version of Google Analytics)
one that is used for Google Analytics 4 (GA4)
“gtag.js” used in Google Universal Analytics (G3, 2017)
The version of gtag.js that is used for Universal Analytics is designed to support the traditional pageview-based tracking model of Universal Analytics.
It includes functions that allow you to track pageviews, set custom dimensions and metrics, and configure other aspects of your Universal Analytics tracking.
Here is an example of the gtag.js code for Universal Analytics:
“gtag.js” used in Google Analytics (G4, 2020)
The version of gtag.js that is used for GA4 is designed to support the event-driven tracking model of GA4.
It includes functions that allow you to track specific events (such as button clicks or pageviews) and send them to GA4 for analysis.
Here is an example of the gtag.js code for GA4:
Key Takeaways
As of now, Google Universal Analytics (UA or G3) is going away on July , 2023 so it is imperative that you start collecting web traffic data for now with GA4.
It is unclear if Google will retain historical data under UA so it might be a good idea to export data you want to keep.
GA4 should be implemented even if is is not prime-time ready
Installing GA4 should not impact GA3 (UA) data collection
If you are still using GA3 (FY2012) version without issues, do not upgrade to GA3 (2017) which uses gTag.js library before installing GA4. There are un-documented reporting discrepancies between ga.js and gtag.js