Now, it is tempting to say “Hey, the mission of the plugin is completed. Let’s deactivate it”. Bad move. The plugin needs to be active all the time.

Granted: most of the work is done at creation time, when the favicon is setup. However, the plugin has something to do every time to fulfill its purpose: it must inject special HTML markups in all pages served by WordPress. This is done dynamically. In other words, each time a visitor views a page of your site, Favicon by RealFaviconGenerator is triggered and sends him the favicon markups.

If you ever install a favicon manually in WordPress, you may have edited a file called header.php. So you may wonder why the plugin does not behave in a similar fashion. Modifying header.php is actually a bad practice. The major issue is a theme switch. Because header.php comes from the current theme, it is changed whenever you change or update your theme. This is when things start to be messy and you wish your plugins had a better, modular design.

We aim at providing the best experience for favicon on WordPress. If you have questions, please leave us a comment.

RealFaviconGenerator’s favicon plugin for WordPress is the most convenient way to install a favicon in a WordPress site with RFG. But it regularly raises a question: how does the plugin affect performance? This is a legit question. You certainly don’t want to slow down your site just for a neat favicon.

TL; DR

RFG’s plugin itself doesn’t affect the performance of a WordPress site. The public side was designed to be very lightweight, so your visitors won’t notice any change before/after you installed the plugin.

As an aside: for the favicon to work, the plugin must be kept activated. As soon as you deactivate it, the favicon markups are not injected anymore. From your visitors point of view, this is as if you didn’t have favicon at all.

Benchmark

Never trust a developer who simply tells you he has written efficient code. Ask for a proof.

The methodology for this benchmark is:

Install a vanilla WordPress 4.6.1. No additional plugins or theme, no fresh content. Just an up-and-running, minimalist WordPress.

As expected, the site is a bit slower when the plugin is installed and active. This is normal: it asks for a bit of processing time to inject the favicon markups in the page and the page becomes larger, taking more time to be transmitted.

And now, some figures. The original homepage is 11497 bytes large. In my benchmark, the average time per request is 26.366ms. Once the favicon is setup, the homepage is 12304 bytes large, a 7% gain. That sounds like a huge increase but it’s not considering how light the original homepage is. Plus, the plugin had no real influence at that point: this is just a reasonable amount of code to declare a Touch icon, a manifest file for Android, etc. Any other solution (like hacking wp-header.php) would do the same. What about the response time? With the favicon installed, it is 26.669ms. The increase is about 1.1%, a small increase probably mostly due to the additional amount of transmitted data.

As a comparison, when Yoast SEO is installed (along with Favicon by RealFaviconGenerator, still active), the page is now 13533 bytes (17.7% increase) and the average response time is 35.597ms (35% increase). This time, the augmentation is significant, although widely accepted across the WordPress community.

There is new stuff. The plugin is now able to update the favicon automatically. Next time Apple introduces a new Touch icon resolution for its latest iPhone, your favicon will be regenerated overnight.

This feature relies on the non_interactive_request parameter of the interactive request API. Each time you use the plugin to create a favicon, it not only installs the generated package. It also saves all settings: the iOS design, the compression rate… So whenever an update is available, the plugin is autonomous and can create your favicon update, yet taking advantage of the improvements of RealFaviconGenerator.

Is it the end of manual updates? Nope. Some updates require human interactions. For example, RealFaviconGenerator will someday supports Coast by Opera. This update does not make sense in an automated fashion. It requires you to pick the design that matches your icon and site. So still expect to work on your favicon again from time to time.

With the help of RealFaviconGenerator’s WordPress plugin, your WordPress blog has a shiny favicon, compatible with all platforms. Congratulations! But will this still be true in a week? A month? A year? Fear no more. The plugin now automatically checks for updates and let you know whenever a new version of the generated pictures and code is available.

Ok but does the update worth it? Follow the white rabbit and find out.

What will be the next release of RealFaviconGenerator? Safari for OS X Yosemite maybe? Stay tuned!

You are redirected to RealFaviconGenerator. Customize your favicon with the classic favicon editor.

You are redirected to the WordPress dashboard again. Your favicon is installed automatically.

How hard was that? 🙂

The WordPress plugin is the first client of the RealFaviconGenerator API. It paves the way for the future of RealFaviconGenerator: an integrated tool you can plug in your existing workflow. Favicon is a small part of your web project, but it deserves to be done well, just like coding, testing, deployment…

As a first release, this plugin lacks some features and should be improved here and there. If you see something missing, please drop a comment!