How to Create and Integrate a Favicon in Your Laravel Project and WordPress Theme
Introduction
A favicon is a small icon that represents your website in browser tabs, bookmarks, and other places.
In this blog post, we’ll walk through the process of generating a favicon using
favicon.io (there are lots of website for creating favicon, we just used this site randomly) and integrating it into both a Laravel project and a WordPress theme/site.
Step 1: Generate a Favicon
Follow these steps to generate the favicon:
- Go to favicon.io.
- Upload your logo or image file.
- Click on the “Generate Favicon” button.
- Download the generated favicon package, which includes multiple favicon files (e.g.,
favicon.ico
,
favicon-16x16.png
,favicon-32x32.png
, etc.) and asite.webmanifest
file.
Integrating Favicon in a Laravel Project
Step 2: Add Files to Your Laravel Project
Place the downloaded files in the public/assets/img/favicon
directory of your Laravel project. The structure should look like this:
public/ ├── assets/ │ ├── img/ │ ├── favicon/ │ ├── apple-touch-icon.png │ ├── favicon.ico │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── site.webmanifest
Step 3: Update the site.webmanifest
File
Edit the site.webmanifest
file to include the correct paths for your icons. Here’s an example:
{ "name": "Your Website Name", "short_name": "Website", "icons": [ { "src": "/assets/img/favicon/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/assets/img/favicon/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }, { "src": "/assets/img/favicon/apple-touch-icon.png", "sizes": "180x180", "type": "image/png" } ], "theme_color": "#ffffff", "background_color": "#ffffff", "display": "standalone" }
Step 4: Add Favicon Links to the <head>
Section
Open your main Blade layout file (commonly resources/views/layouts/app.blade.php
) and add the following lines in the <head>
section:
<!-- Favicon --> <link rel="apple-touch-icon" sizes="180x180" href="{{ asset('assets/img/favicon/apple-touch-icon.png') }}"> <link rel="icon" type="image/png" sizes="32x32" href="{{ asset('assets/img/favicon/favicon-32x32.png') }}"> <link rel="icon" type="image/png" sizes="16x16" href="{{ asset('assets/img/favicon/favicon-16x16.png') }}"> <link rel="shortcut icon" href="{{ asset('assets/img/favicon/favicon.ico') }}"> <link rel="manifest" href="{{ asset('assets/img/favicon/site.webmanifest') }}"> <meta name="theme-color" content="#ffffff">
Step 5: Clear Laravel Cache
If your changes don’t appear immediately, clear Laravel’s cache by running the following commands:
php artisan view:clear php artisan cache:clear
Step 6: Verify the Integration
- Open your website in a browser to confirm the favicon appears in the tab.
- Visit
https://yourwebsite.com/assets/img/favicon/site.webmanifest
to ensure the file is accessible. - Test your website on mobile devices to verify the favicon and manifest functionality.
Integrating Favicon in a WordPress Theme
Step 2: Add Files to Your WordPress Theme
Place the downloaded files in your theme folder under /wp-content/themes/your-theme/assets/img/favicon
. The structure should look like this:
wp-content/ ├── themes/ │ ├── your-theme/ │ ├── assets/ │ ├── img/ │ ├── favicon/ │ ├── apple-touch-icon.png │ ├── favicon.ico │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── site.webmanifest
Step 3: Add Favicon Links in the header.php
File
Open your theme’s header.php
file and add the following lines in the <head>
section:
<!-- Favicon --> <link rel="apple-touch-icon" sizes="180x180" href="<?php echo get_template_directory_uri(); ?>/assets/img/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="<?php echo get_template_directory_uri(); ?>/assets/img/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="<?php echo get_template_directory_uri(); ?>/assets/img/favicon/favicon-16x16.png"> <link rel="shortcut icon" href="<?php echo get_template_directory_uri(); ?>/assets/img/favicon/favicon.ico"> <link rel="manifest" href="<?php echo get_template_directory_uri(); ?>/assets/img/favicon/site.webmanifest"> <meta name="theme-color" content="#ffffff">
Step 4: Verify the Integration
- Visit your WordPress site and check that the favicon appears in the browser tab.
- Test on mobile devices to ensure the favicon works correctly.
Conclusion
By following these steps, you’ve successfully generated and integrated a favicon into both Laravel and WordPress projects.
Now your website has a professional and polished look in browser tabs and bookmarks! Need help to integrate favicon in your laravel project or wordpress site? Contact us or drop us a line.