Solving PayPal & Ko-fi Integration While Hosting on GitHub with Custom Domain and Setting Up SEO โ A Complete Guide

Hey, I'm Ayush Hardeniya (aka Ayush Sharma) ๐ An engineering student who treats every coding challenge like a ๐ฎ new level to conquer. Through daily reflections, real-world problems, and code breakdowns, I document my journey --- not just to grow, but to help others grow with me. Because honestly... I donโt code, I play it. ๐ฅ
Introduction:
Launching my personal website ayushhardeniya.site came with several exciting tasks and equally frustrating roadblocks. From integrating Ko-fi for support payments, configuring PayPal for Indian users, hosting on GitHub Pages using a custom domain, to getting indexed properly by Google Search - I faced real issues, dug into each, and hereโs a human-first, complete technical + non-technical guide to help you avoid the same potholes.
๐ Step 1: Hosting GitHub Repository on Custom Domain
Problem:
I had an existing GitHub Page live at ayushHardeniya.github.io but wanted my site to show up at https://ayushhardeniya.site.
Solution:
Bought domain from a registrar (mine was BigRock).
Went to GitHub Repo > Settings > Pages.
Added
ayushhardeniya.sitein the Custom domain section.Created a
CNAMEfile in the root of my repo with this line:
ayushhardeniya.site
- In domain DNS settings:
- Added A records pointing to GitHub IPs:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- Added a CNAME record pointing to
ayushhardeniya.site
- Waited until Enforce HTTPS became available.
๐ SEO Tip: Google loves HTTPS. Be sure to enable โEnforce HTTPSโ in GitHub Pages once available. It might take some hours.
๐ฎ Step 2: Setting Up Zoho Mail for Custom Email
Problem:
Needed to use custom email IDs like connect@ayushhardeniya.site.
Solution:
Signed up on Zoho.
Added TXT record to verify domain.
Set MX records as given by Zoho.
Created user mailboxes.
๐ก Now I have working professional email addresses under my own domain.
โ Step 3: Integrating Ko-fi Button & PayPal Payments
Problem:
Ko-fi kept showing errors:
"You cannot currently receive payments on your PayPal account..."
Detailed Fix:
๐งฉ Fixing PayPal Setup
Went to PayPal Business Setup.
Filled the form under Account Settings > Business Info:
Business Type: Individual
PAN: <My PAN Number>
Purpose Code: P0805 (Personal use/Design/IT Services)
Industry Type: Services
CC Statement Name: PAYPAL*AYUSH
Matched PayPal name EXACTLY with PAN.
Revisited KYC page: https://www.paypal.com/in/webapps/mpp/kyc
Used desktop browser - mobile submissions were buggy.
Cleared cache, logged out and in again.
๐ Optional but helpful: Contact PayPal support if stuck in loop.
๐ Connecting with Ko-fi
Back to Ko-fi Settings
Clicked โCheck if you're ready to goโ
Finally showed: โ Connected
๐ Step 4: Setting Up Contact Form with Google Sheets Integration
Problem:
My site had a contact form, but it failed to submit or redirected with an error.
Solution:
Replaced it with a working Google Sheet-based form using formsubmit.co or [Google Apps Script]. Here's a sample:
<form action="https://formsubmit.co/your-email@example.com" method="POST">
<input type="text" name="First Name" required>
<input type="text" name="Last Name" required>
<input type="email" name="Email" required>
<textarea name="Message"></textarea>
<button type="submit">Submit</button>
</form>
โ Simple. No backend. Automatically sends to mail or Google Sheet if configured.
๐ Step 5: Pushing to Google Search Console for SEO
1. Domain Verification
Go to Google Search Console.
Add new property > Choose domain method.
Added TXT record in DNS:
TXT @ google-site-verification=xxxxxxxxxxx
- Verified successfully.
2. Sitemap Setup
- Added sitemap URL:
https://ayushhardeniya.site/sitemap.xml
โ Suggestion- You can generate one using XML Sitemap Generator and add it to your repo.
๐ Step 6: Optimizing SEO (Meta Tags + Schema + OG)
Page Title:
<title>Ayush Hardeniya - Developer, Creator & Explorer</title>
Meta Description:
<meta name="description" content="Explore the world of Ayush Hardeniya - a passionate developer, reader, and creator sharing blogs, gallery, values, and more." />
Meta Open Graph:
<meta property="og:title" content="Ayush Hardeniya - Official Website">
<meta property="og:description" content="My journey as a developer, reader, explorer & more">
<meta property="og:image" content="https://ayushhardeniya.site/preview.png">
Canonical URL:
<link rel="canonical" href="https://ayushhardeniya.site/" />
Schema.org JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Ayush Hardeniya",
"url": "https://ayushhardeniya.site",
"sameAs": [
"https://github.com/AyushHardeniya",
"https://twitter.com/ayushhardeniya"
],
"image": "https://ayushhardeniya.site/profile.png",
"jobTitle": "Developer & Creator"
}
</script>
๐งพ Final Thoughts
This blog is a real reflection of what I have faced and sorted accordingly and even a student/freelancer/early-stage creator faces when integrating modern tools together. From DNS misconfigurations to payment integration and SEO indexing - this guide covers it all, from my own experiences.
If youโre going through the same, just follow the steps - or hit me up on Twitter or my contact page.
Author: Ayush Hardeniya
๐ Website: https://ayushhardeniya.site
โ๏ธ Buy Me A Coffee: https://ko-fi.com/ayushhardeniya
If you liked this blog or found it helpful, do consider sharing it. โค๏ธ






