In this tutorial, I’ll show you how to build a professional WordPress website from scratch that is perfectly suited for selling digital products like eBooks, courses, software, and more.

This video focuses mainly on the website creation process using WordPress and Elementor, laying the foundation for your digital product business. Although I don’t cover the selling strategies directly, having a well-built website is the very first step to start selling digital products online.
Why Use WordPress to Build Your Digital Product Website?
- WordPress is beginner-friendly and requires no coding skills
- Easily customizable with themes and plugins like WooCommerce
- SEO-optimized to help your site rank better on Google
- Supports secure payment gateways for smooth transactions
- Scalable — suitable for small to large digital stores
What You Learn in This Video
- How to register a domain and set up hosting
- Installing WordPress and essential plugins
- Using Elementor to design a beautiful, responsive website
- Setting up product pages and navigation menus
- Basic website configuration and optimization tips
Next Steps After Building Your Website
Once your website is ready, the next phase is to add your digital products and configure your online store for selling. This typically involves:
- Installing WooCommerce or similar eCommerce plugins
- Uploading digital files for download
- Setting up payment methods (PayPal, Stripe, etc.)
- Marketing your products to attract customers
Conclusion
Creating a WordPress website with a professional design is the crucial first step in your digital product selling journey. My video tutorial guides you through the full website building process so you can confidently move on to selling your digital products online.
Home page
<!-- ========== HERO SECTION ========== -->
<section class="hero-section">
<h1>সেরা ডিজিটাল প্রোডাক্ট গুলো খুঁজে নিন</h1>
<p>টেমপ্লেট; থিম; অ্যাসেট এবং আরও অনেক কিছু</p>
<input type="text" placeholder="প্রোডাক্ট সার্চ করুন...">
</section>
<!-- ========== CATEGORY SECTION ========== -->
<section class="category-section">
<h2>ক্যাটাগরি অনুযায়ী দেখুন</h2>
[product_categories number="6" parent="0" columns="3" hide_empty="1"]
</section>
<!-- ========== BEST SELLERS ========== -->
<section class="best-sellers">
<h2>সর্বাধিক বিক্রিত প্রোডাক্ট</h2>
[products limit="6" columns="5" best_selling="true"]
</section>
<!-- ========== NEW ARRIVALS ========== -->
<section class="new-arrivals">
<h2>নতুন প্রোডাক্ট</h2>
[products limit="6" columns="5" orderby="date"]
</section>
<!-- ========== WHY CHOOSE US ========== -->
<section class="why-choose-us">
<h2>কেন আমাদের বেছে নেবেন?</h2>
<div class="why-cards">
<div class="card">
<h3>তাৎক্ষণিক ডাউনলোড</h3>
<p>অর্ডারের সাথে সাথেই প্রোডাক্ট ডাউনলোড করুন।</p>
</div>
<div class="card">
<h3>নিরাপদ পেমেন্ট</h3>
<p>সব ট্রান্সাকশন নিরাপদ এবং এনক্রিপটেড।</p>
</div>
<div class="card">
<h3>সেরা মানের নিশ্চয়তা</h3>
<p>সব প্রোডাক্ট যাচাই করা এবং মানসম্পন্ন।</p>
</div>
</div>
</section>
<!-- ========== TESTIMONIALS CAROUSEL ========== -->
<section class="testimonials-carousel">
<h2>আমাদের কাস্টমাররা যা বলছেন</h2>
<div class="carousel-wrapper">
<div class="carousel-track">
<!-- ২০টি রিভিউ কার্ড (উদাহরণ) -->
<div class="testimonial-card">
<p>“অসাধারণ ডিজিটাল প্রোডাক্ট; কাজ অনেক সহজ হয়েছে।”</p>
<div class="stars">★★★★★</div>
<strong>- শফিক</strong>
</div>
<div class="testimonial-card">
<p>“দ্রুত ডাউনলোড ও দুর্দান্ত সাপোর্ট।”</p>
<div class="stars">★★★★★</div>
<strong>- নুসরাত</strong>
</div>
<div class="testimonial-card">
<p>“ডিজাইনারদের জন্য একদম পারফেক্ট।”</p>
<div class="stars">★★★★★</div>
<strong>- রাজু</strong>
</div>
<div class="testimonial-card">
<p>“প্রোডাক্ট কোয়ালিটি অসাধারণ।”</p>
<div class="stars">★★★★★</div>
<strong>- মামুন</strong>
</div>
<div class="testimonial-card">
<p>“মন্তব্য ও ডাউনলোড দ্রুত।”</p>
<div class="stars">★★★★★</div>
<strong>- হাসান</strong>
</div>
<div class="testimonial-card">
<p>“সুপার ফাস্ট সার্ভিস আর ভালো কোয়ালিটি।”</p>
<div class="stars">★★★★★</div>
<strong>- লতিফ</strong>
</div>
<div class="testimonial-card">
<p>“খুবই পেশাদার সাপোর্ট টিম।”</p>
<div class="stars">★★★★★</div>
<strong>- সাবিন</strong>
</div>
<div class="testimonial-card">
<p>“প্রোডাক্টগুলো ব্যবহার করতে খুব সহজ।”</p>
<div class="stars">★★★★★</div>
<strong>- রিনা</strong>
</div>
<div class="testimonial-card">
<p>“দ্রুত ডেলিভারি এবং সহায়তা।”</p>
<div class="stars">★★★★★</div>
<strong>- জামিল</strong>
</div>
<div class="testimonial-card">
<p>“খুব ভালো মানের প্রোডাক্ট।”</p>
<div class="stars">★★★★★</div>
<strong>- শাওন</strong>
</div>
<div class="testimonial-card">
<p>“সার্ভিস খুবই সন্তোষজনক।”</p>
<div class="stars">★★★★★</div>
<strong>- নাজমুল</strong>
</div>
<div class="testimonial-card">
<p>“অত্যন্ত দ্রুত সাপোর্ট পেয়েছি।”</p>
<div class="stars">★★★★★</div>
<strong>- রফিক</strong>
</div>
<div class="testimonial-card">
<p>“ডিজিটাল প্রোডাক্ট গুলো খুব কার্যকর।”</p>
<div class="stars">★★★★★</div>
<strong>- সুমন</strong>
</div>
<div class="testimonial-card">
<p>“সবসময় ভালো কোয়ালিটির প্রোডাক্ট পাই।”</p>
<div class="stars">★★★★★</div>
<strong>- মারুফ</strong>
</div>
<div class="testimonial-card">
<p>“খুব ভালো মানের ডিজিটাল প্রোডাক্ট।”</p>
<div class="stars">★★★★★</div>
<strong>- তানভীর</strong>
</div>
<div class="testimonial-card">
<p>“দ্রুত ডাউনলোড আর ভালো সাপোর্ট।”</p>
<div class="stars">★★★★★</div>
<strong>- রাকিব</strong>
</div>
<div class="testimonial-card">
<p>“সবসময় আমার প্রথম পছন্দ।”</p>
<div class="stars">★★★★★</div>
<strong>- সাদিক</strong>
</div>
<div class="testimonial-card">
<p>“বিশ্বাসযোগ্য সেবা এবং প্রোডাক্ট।”</p>
<div class="stars">★★★★★</div>
<strong>- জাহিদ</strong>
</div>
<div class="testimonial-card">
<p>“খুবই ব্যবহার বান্ধব ওয়েবসাইট।”</p>
<div class="stars">★★★★★</div>
<strong>- সালমা</strong>
</div>
<div class="testimonial-card">
<p>“দ্রুত সেবা এবং সহজ ব্যবহারের জন্য ধন্যবাদ।”</p>
<div class="stars">★★★★★</div>
<strong>- সোহেল</strong>
</div>
</div>
</div>
<div class="carousel-buttons">
<button id="prevBtn">পূর্ববর্তী</button>
<button id="nextBtn">পরবর্তী</button>
</div>
</section>
<!-- ========== FINAL CTA ========== -->
<section class="final-cta">
<h2>আপনার পছন্দের ডিজিটাল প্রোডাক্ট বেছে নিন</h2>
<a href="/shop">সব প্রোডাক্ট দেখুন</a>
</section>
<!-- ========== CSS + JS ========== -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri&display=swap');
body {
font-family: 'Hind Siliguri'; sans-serif;
margin: 0; padding: 0; box-sizing: border-box;
}
/* HERO */
.hero-section {
background: linear-gradient(135deg; #0052D4; #4364F7; #6FB1FC);
padding: 80px 20px;
text-align: center;
color: white;
}
.hero-section h1 {
font-size: 3em;
margin-bottom: 20px;
}
.hero-section p {
font-size: 1.2em;
margin-bottom: 30px;
}
.hero-section input[type="text"] {
padding: 10px 15px;
border-radius: 8px;
border: none;
width: 300px;
max-width: 90%;
font-size: 1em;
}
/* CATEGORY */
.category-section {
padding: 60px 20px;
background: #f9f9f9;
text-align: center;
}
.category-section h2 {
margin-bottom: 40px;
}
.product-category img {
border-radius: 50% !important;
width: 150px !important;
height: 150px !important;
object-fit: cover !important;
margin: auto;
box-shadow: 0 4px 10px rgba(0;0;0;0.1);
}
.product-category {
display: inline-block;
margin: 0 15px 30px 15px;
}
.product-category .woocommerce-loop-category__title {
margin-top: 10px;
font-weight: 600;
}
/* BEST SELLERS; NEW ARRIVALS */
.best-sellers; .new-arrivals {
padding: 60px 20px;
}
.best-sellers h2; .new-arrivals h2 {
text-align: center;
margin-bottom: 40px;
}
/* WHY CHOOSE US */
.why-choose-us {
padding: 60px 20px;
background: #fff;
text-align: center;
}
.why-cards {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
}
.why-cards .card {
background: #f0f8ff;
padding: 25px 20px;
border-radius: 12px;
width: 300px;
box-shadow: 0 2px 8px rgba(0;0;0;0.1);
}
.why-cards h3 {
margin-bottom: 15px;
color: #0052D4;
}
/* TESTIMONIALS CAROUSEL */
.testimonials-carousel {
padding: 60px 20px;
background: #eef2f7;
text-align: center;
}
.testimonials-carousel h2 {
margin-bottom: 40px;
}
.carousel-wrapper {
overflow: hidden;
max-width: 1200px;
margin: 0 auto;
}
.carousel-track {
display: flex;
gap: 20px;
transition: transform 0.3s ease;
padding-bottom: 10px; /* extra bottom padding so last card is fully visible */
}
.testimonial-card {
background: white;
padding: 20px;
border-radius: 10px;
box-shadow: 0 2px 8px rgba(0;0;0;0.05);
flex-shrink: 0;
min-width: 0; /* reset min-width */
box-sizing: border-box;
}
.testimonial-card p {
font-size: 1em;
margin-bottom: 10px;
}
.stars {
color: #ffb400;
font-size: 1.2em;
margin-bottom: 10px;
}
.carousel-buttons {
margin-top: 20px;
}
.carousel-buttons button {
background: #0052D4;
color: white;
border: none;
padding: 10px 18px;
margin: 0 10px;
border-radius: 6px;
cursor: pointer;
font-weight: bold;
}
.carousel-buttons button:hover {
background: #003d99;
}
/* RESPONSIVE SETTINGS FOR TESTIMONIAL CARDS */
/* PC: 4 cards */
@media (min-width: 993px) {
.testimonial-card {
min-width: calc((100% - 60px) / 4); /* 4 cards with 20px gap */
}
}
/* Tablet: 3 cards */
@media (max-width: 992px) and (min-width: 601px) {
.testimonial-card {
min-width: calc((100% - 40px) / 3);
}
}
/* Mobile: 2 cards */
@media (max-width: 600px) {
.testimonial-card {
min-width: calc((100% - 20px) / 2);
}
}
/* FINAL CTA */
.final-cta {
padding: 60px 20px;
background: linear-gradient(135deg; #11998e; #38ef7d);
color: white;
text-align: center;
}
.final-cta h2 {
font-size: 2em;
margin-bottom: 20px;
}
.final-cta a {
background: white;
color: #11998e;
padding: 12px 25px;
border-radius: 8px;
font-weight: bold;
text-decoration: none;
}
</style>
<script>
// Carousel script for testimonials
const track = document.querySelector('.carousel-track');
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
let position = 0;
function getCardWidth() {
const card = document.querySelector('.testimonial-card');
return card ? card.offsetWidth + 20 : 300; // card width + gap
}
function visibleCards() {
if(window.innerWidth >= 993) return 4;
if(window.innerWidth >= 601) return 3;
return 2;
}
prevBtn.addEventListener('click'; () => {
const cardWidth = getCardWidth();
position += cardWidth * 2; // scroll 2 cards at once
if (position > 0) position = 0;
track.style.transform = `translateX(${position}px)`;
});
nextBtn.addEventListener('click'; () => {
const cardWidth = getCardWidth();
const maxPosition = -(cardWidth * (track.children.length - visibleCards()));
position -= cardWidth * 2;
if (position < maxPosition) position = maxPosition;
track.style.transform = `translateX(${position}px)`;
});
window.addEventListener('resize'; () => {
// Reset position on resize to prevent overflow
position = 0;
track.style.transform = `translateX(0)`;
});
</script>
intro code
<!-- Fullscreen Typing with Bubble Background -->
<div id="splashScreen" style="
position: fixed; top:0; left:0; width:100%; height:100%;
background: linear-gradient(-45deg; #11998e; #38ef7d; #11998e; #38ef7d);
background-size: 400% 400%;
animation: gradientBG 15s ease infinite;
display:flex; justify-content:center; align-items:center;
z-index: 99999; color: white; font-family: 'Tiro Bangla'; monospace;
font-size: 3.5em; user-select:none;
flex-direction: column;
text-align: center;
overflow: hidden;
opacity: 1;
transition: opacity 1s ease;
">
<canvas id="bubbleCanvas" style="
position: absolute;
top:0; left:0; width:100%; height:100%;
z-index: 0;
"></canvas>
<div id="typingText" style="position: relative; z-index: 10; opacity: 0;"></div>
</div>
<style>
@keyframes gradientBG {
0% {background-position:0% 50%;}
50% {background-position:100% 50%;}
100% {background-position:0% 50%;}
}
</style>
<script>
document.addEventListener('DOMContentLoaded'; () => {
const splash = document.getElementById('splashScreen');
const typingText = document.getElementById('typingText');
const message = 'আসসালামু আলাইকুম!';
let index = 0;
const typingSpeed = 120;
// ফেইড ইন ফাংশন
function fadeIn(element; duration=800) {
element.style.transition = `opacity ${duration}ms ease`;
element.style.opacity = 1;
}
// ফেইড আউট ফাংশন
function fadeOut(element; duration=1000) {
element.style.transition = `opacity ${duration}ms ease`;
element.style.opacity = 0;
}
// টাইপিং ফাংশন
function type() {
fadeIn(typingText);
if (index < message.length) {
typingText.textContent += message.charAt(index);
index++;
setTimeout(type; typingSpeed);
} else {
// টাইপিং শেষ; 1 সেকেন্ড অপেক্ষা
setTimeout(() => {
fadeOut(splash);
setTimeout(() => {
splash.style.display = 'none';
}; 1000);
}; 1000); // ১ সেকেন্ড ওয়েট
}
}
type();
// বুদবুদ এনিমেশন শুরু
const canvas = document.getElementById('bubbleCanvas');
const ctx = canvas.getContext('2d');
let width; height;
let bubblesArray = [];
function initCanvas() {
width = canvas.width = window.innerWidth;
height = canvas.height = window.innerHeight;
}
window.addEventListener('resize'; () => {
initCanvas();
});
class Bubble {
constructor() {
this.x = Math.random() * width;
this.y = height + 50 + Math.random() * 100;
this.radius = 10 + Math.random() * 20;
this.speed = 1 + Math.random() * 2;
this.opacity = 0.2 + Math.random() * 0.3;
this.swing = Math.random() * 0.05;
this.angle = Math.random() * Math.PI * 2;
}
update() {
this.y -= this.speed;
this.x += Math.sin(this.angle) * this.swing;
this.angle += 0.01;
if (this.y + this.radius < 0) {
this.x = Math.random() * width;
this.y = height + 50;
this.radius = 10 + Math.random() * 20;
this.speed = 1 + Math.random() * 2;
this.opacity = 0.2 + Math.random() * 0.3;
}
}
draw() {
ctx.beginPath();
ctx.arc(this.x; this.y; this.radius; 0; Math.PI*2);
ctx.fillStyle = `rgba(255; 255; 255; ${this.opacity})`;
ctx.fill();
}
}
function animate() {
ctx.clearRect(0; 0; width; height);
bubblesArray.forEach(bubble => {
bubble.update();
bubble.draw();
});
requestAnimationFrame(animate);
}
initCanvas();
initBubbles();
animate();
function initBubbles(count = 40) {
bubblesArray = [];
for(let i=0; i<count; i++) {
bubblesArray.push(new Bubble());
}
}
});
</script>
