TallyStack Site Change Log

A public, dated record of every substantive change made to this website — content refreshes, SEO improvements, bug fixes, and infrastructure updates. Kept transparently so customers, partners, and search engines can see exactly how the site evolves.

Jump to an update: 7 Aug — WhatsApp OTP bridge 31 Jul — Navigation fix (21× 404s) 31 Jul — Blog HTTP→HTTPS cleanup 31 Jul — Trust pages content boost 31 Jul — Metadata batch 30 Jul — Product & landing-page rebuild 10 Jun — WhatsApp QR admin

InfraWhatsApp OTP delivery — MSG91 bridge deployed

Backend switch to route contact-form OTPs through the official MSG91 WhatsApp Business API instead of the self-hosted Baileys gateway.

Why the change was needed

The prior WhatsApp OTP path used a self-hosted Baileys instance which had degraded to near-zero delivery success (session-drop issues) by late July. Leads were submitting the form but never receiving their verification code — the form appeared to work but the funnel silently broke.

What was deployed

Files touched1 (wa-otp-bridge.php)
User impactOTPs now arrive reliably; leads that had been silently failing now convert
SEO impactNone — backend only

FixNavigation fix — 21 concatenated 404 URLs resolved

A relative-href bug in the site header was causing 21 URLs like /faq/blog/, /contact-us/get-free-demo/, and /tally-dedicated-server/blog/ to return 404 whenever a visitor navigated between sections.

What was wrong

The header include (header.html) used relative hrefs like href="blog/". When a visitor was viewing /faq/ and clicked the nav's "Blog" link, the browser resolved that as /faq/blog/ — a page that doesn't exist. Same for every other section-to-section jump. Screaming Frog and internal crawls flagged 21 such phantom URLs as 404s.

How it was fixed

Two-part fix:

  1. Rewrote every nav href from the relative form (href="blog/") to the absolute form (href="/blog/") across every nav include: header.html, footer.html, newfinal/header.html, newfinal/footer.html, new/header.html.
  2. Added a "rescue" 301 rule in .htaccess so any inbound link that still points at the old concatenated URL redirects to the correct destination:
Show the .htaccess rescue rule

RewriteRule ^[a-z][a-z0-9-]+/(blog|faq|contact-us|our-products|get-free-demo)/?$ /$1/ [R=301,L]

Slugs affected in the nav update

Blog, contact-us, contact, faq, get-free-demo, our-products, about-us, privacy-policy, terms-of-services, tally-cloud-based, tally-cloud-server, tally-multiuser, tally-on-mac, tally-prime-on-cloud-services, tally-dedicated-server, tally-cloud-lp, tally-on-mobile, use-tally-online, business-email, ca-branding.

Files touched5 include files + .htaccess
User impactEvery section-to-section nav click now lands correctly
SEO impactRecovers link authority from 21 URLs Google had flagged as broken

FixBlog post links — HTTP → HTTPS cleanup (63 posts)

Legacy blog posts contained hard-coded internal links using the outdated http://tallystack.in URL, causing an unnecessary insecure-hop redirect on every click.

What was wrong

Older WordPress blog posts had <a href="http://tallystack.in/..."> links embedded in their body content. Modern browsers upgrade insecure links, and search engines flag mixed protocols as an SEO warning. Every internal click from those posts triggered an extra 301 hop from HTTP → HTTPS.

How it was fixed

Ran a controlled WordPress database update that replaced every occurrence of http://tallystack.in and http://Tallystack.in in both post_content and post_excerpt:

Show the SQL that was run

UPDATE wp_posts SET post_content = REPLACE(REPLACE(post_content,'http://tallystack.in','https://www.tallystack.in'),'http://Tallystack.in','https://www.tallystack.in'), post_excerpt = REPLACE(REPLACE(post_excerpt,'http://tallystack.in','https://www.tallystack.in'),'http://Tallystack.in','https://www.tallystack.in') WHERE post_content LIKE '%http://tallystack.in%' OR post_content LIKE '%http://Tallystack.in%' OR post_excerpt LIKE '%http://tallystack.in%' OR post_excerpt LIKE '%http://Tallystack.in%';

63 blog posts were updated. LiteSpeed transient cache was flushed so the changes appeared immediately.

Records touched63 blog posts (WordPress DB)
User impactOne fewer redirect hop per internal blog click; faster navigation
SEO impactRemoves 63× "mixed-protocol internal link" warnings; consolidates link authority

ContentTrust-page content boost — About, Privacy, Terms

The three "trust" pages had no internal outlinks and were treated by Google as dead-end pages. Added a "Related Solutions" block to each.

What was wrong

An internal audit flagged /about-us/, /privacy-policy/, and /terms-of-services/ as dead-end pages — pages that received traffic but linked nowhere else on the site. This hurts crawl distribution and gives visitors no next-step CTAs.

What was added

An "Explore Our Tally Cloud Solutions" section with 8 curated internal links was appended above the footer on each of the three pages. Cards link to: Tally on Cloud, Tally Multi-User, Dedicated Tally Server, Tally on Mac, Tally on Mobile, All Our Products, Blog & Guides, and Book a Free Demo.

Files touched3 (about-us.html, privacy-policy.html, terms-of-services.html)
User impactClear next-step navigation from trust pages
SEO impactDistributes crawl budget + link equity into product pages

SEOMetadata sweep + wrong-slug redirect

Cleanups on the .htaccess redirect table + a specific broken blog URL.

Files touched1 (.htaccess)
User impactTwo more inbound URLs now land on the correct page instead of 404
SEO impactRecovers any backlink authority pointing at the old typos

ContentProduct & landing-page design refresh

Design + content refresh on ~26 product, landing, and CA-branding pages.

Pages affected

Tally on Cloud, Tally Cloud Server, Tally Multi-user, Tally Dedicated Server, Tally on Mac (+ variants), Tally on Mobile, Use Tally Online, Business Email, CA Branding & CA Branding Demo, Tally Cloud LP, Tally Cloud Customization, Tally Cloud Single/Multi User, Tally Prime on Cloud Services, Tally Base VM, Tally-on-Cloud Provider (UAE & Malaysia), Video Tutorial, Contact Us, FAQ, Get Free Demo, Our Products, Thank You, User-Based Cloud, and Homepage.

What stayed the same

What changed

Full list of pages refreshed
index.htmltally-cloud-based.html tally-cloud-server.htmltally-cloud-multi-user.html tally-cloud-single-user.htmltally-cloud-lp.html tally-cloud-customization.htmltally-multiuser.html tally-dedicated-server.htmltally-on-mac.html tally-on-mac-3.htmltally-on-mobile.html tally-prime-on-cloud-services.htmltally-base-vm.html tally-on-cloud-service-provider-in-uae.html tally-on-cloud-service-provider-in-malaysia.html use-tally-online.htmluser-based-cloud.html business-email.htmlca-branding.html ca-branding-demo.htmlour-products.html contact-us.htmlfaq.html get-free-demo.htmlvideo-tutorial.html thank-you.html
Files touched~27 HTML pages
User impactFresher look, clearer CTAs, better regional relevance
SEO impactNeutral to positive — URLs and structure unchanged

InfraWhatsApp QR admin utility

A small server-side admin helper (wa-qr.php) to display the current WhatsApp session status & connection QR when the OTP gateway needs re-authentication.

Used only by internal admin — not linked from public pages.

Files touched1 (wa-qr.php)
User impactNone — admin-only
SEO impactNone